Closed mdblack98 closed 4 years ago
icom.c extlevels is colliding PARM and LEVEL values. Have to separate them.
P TIME is broken
p ANN is broken (seg fault)
P ANN allows one param to be entered
L RF is sending the wrong command.
All else OK.
See below for details.
P TIME 68700 is broken
p TIME
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_parm: i=0
icom_get_parm: i=1
icom_get_parm: i=2
icom_get_cmd called
icom_get_raw_buf called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 9 bytes
0000 fe fe 94 e0 1a 05 00 95 fd .........
read_string called
read_string(): RX 11 characters
0000 fe fe e0 94 1a 05 00 95 00 15 fd ...........
icom_get_raw_buf: 2
from_bcd_be called
from_bcd_be called
Parm Value: 900
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
P TIME
rigctl_parse: cmd=P(50)
rigctl_parse: cmd==0x50
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug6
rigctl_parse: debug7
rigctl_parse: debug8
Parm Value: 68700
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_set_parm called
rig_set_parm called
rig_has_set_parm called
icom_set_parm called
icom_set_cmd called
to_bcd_be called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 11 bytes
0000 fe fe 94 e0 1a 05 00 95 00 00 fd ...........
read_string called
read_string(): RX 6 characters
0000 fe fe e0 94 fb fd ......
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
p TIME
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_parm: i=0
icom_get_parm: i=1
icom_get_parm: i=2
icom_get_cmd called
icom_get_raw_buf called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 9 bytes
0000 fe fe 94 e0 1a 05 00 95 fd .........
read_string called
read_string(): RX 11 characters
0000 fe fe e0 94 1a 05 00 95 00 00 fd ...........
icom_get_raw_buf: 2
from_bcd_be called
from_bcd_be called
Parm Value: 0
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a687001
Param p ANN yields Segmentation fault after long string of reporting.
p ANN
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_parm: i=0
icom_get_parm: i=1
icom_get_parm: i=2
icom_get_parm: i=3
rig_get_parm called
…
rig_has_get_parm called
icom_get_parm called
icom_get_parm: i=0
icom_get_parm: i=1
icom_get_parm: i=2
icom_get_parm: i=3
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_parm: i=0
icom_get_parm: i=1
icom_get_parm: i=2
icom_get_parm: i=3
rig_get_parm called
Segmentation fault
P ANN asks for one param
ig command: P ANN
rigctl_parse: cmd=P(50)
rigctl_parse: cmd==0x50
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug6
rigctl_parse: debug7
rigctl_parse: debug8
Parm Value: 1
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_set_parm called
rig_set_parm called
rig_has_set_parm called
icom_set_parm called
icom_set_raw called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 7 bytes
0000 fe fe 94 e0 13 01 fd .......
read_string called
read_string(): RX 6 characters
0000 fe fe e0 94 fb fd ......
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
BEEP seems to work fine!
VOXDELAY works fine.
L RF is sending the wrong command.
L RF 0
rigctl_parse: cmd=L(4c)
rigctl_parse: cmd==0x4c
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug6
rigctl_parse: debug7
rigctl_parse: debug8
Level Value: rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_set_level called
icom_set_level called
icom_set_cmd called
to_bcd_be called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 10 bytes
0000 fe fe 94 e0 1a 05 00 23 00 fd .......#..
read_string called
read_string(): RX 6 characters
0000 fe fe e0 94 fb fd ......
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
l RF
rigctl_parse: cmd=l(6c)
rigctl_parse: cmd==0x6c
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_level called
icom_get_level called
icom_get_level: i=0
icom_get_level: i=1
icom_get_level: i=2
icom_get_level: i=3
icom_get_level: no extcmd found
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 7 bytes
0000 fe fe 94 e0 14 02 fd .......
read_string called
read_string(): RX 9 characters
0000 fe fe e0 94 14 02 02 55 fd .......U.
from_bcd_be called
icom_get_level: 2 255 1065353216 1.000000
Level Value: 1.000000
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
From: Black Michael [mailto:mdblack98@yahoo.com] Sent: Saturday, September 12, 2020 9:38 PM To: Howard Nurse hlnurse@cmmsft.com Subject: Re: VNC logon
TIME is seconds since midnight.
That's why you'll see it jump 60 seconds every minute.
Seems to me everything is working now so please double check me.
Mike
On Saturday, September 12, 2020, 05:22:18 PM CDT, Howard Nurse hlnurse@cmmsft.com wrote:
BEEP works. TIME looks funny. ANN doesn’t work.
Rig command: rigctl_parse: cmd==0x0a
p BEEP
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_cmd called
icom_get_raw_buf called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 9 bytes
0000 fe fe 94 e0 1a 05 00 23 fd .......#.
read_string called
read_string(): RX 10 characters
0000 fe fe e0 94 1a 05 00 23 00 fd .......#..
icom_get_raw_buf: 1
from_bcd_be called
Parm Value: 0
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
p ANN
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
rig_strparm called
rig_strparm called
icom_get_parm: unsupported get_parm ANNrigctl_parse: vfo_opt=0
get_parm: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
p TIME
rigctl_parse: cmd=p(70)
rigctl_parse: cmd==0x70
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_parm called
rig_has_get_parm called
rig_get_parm called
rig_has_get_parm called
icom_get_parm called
icom_get_cmd called
icom_get_raw_buf called
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 9 bytes
0000 fe fe 94 e0 1a 05 00 95 fd .........
read_string called
read_string(): RX 11 characters
0000 fe fe e0 94 1a 05 00 95 01 01 fd ...........
icom_get_raw_buf: 2
from_bcd_be called
from_bcd_be called
Parm Value: 3660
rigctl_parse: vfo_opt=0
rigctl_parse: retcode=0
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
From: Black Michael [mailto:mdblack98@yahoo.com] Sent: Saturday, September 12, 2020 3:11 PM To: Howard Nurse hlnurse@cmmsft.com Subject: Re: VNC logon
That's a PARM -- not a LEVEL.
So use the p/P command.
Mike
On Saturday, September 12, 2020, 04:56:10 PM CDT, Howard Nurse hlnurse@cmmsft.com wrote:
Extras still not working. Should they?
i@rigpi5:~/Downloads/Hamlib-master $ rigctl -m 3073 -s 115200 -r /dev/ttyUSB0 -vvvvv
rigctl Hamlib 4.1~git
Last commit was Sat Sep 12 16:21:33 2020 +0000 SHA=83667f
Report bugs to hamlib-developer@lists.sourceforge.net
rig_init called
initrigs4_icom: _init called
rig_register called
rig_register: rig_register (3055)
rig_register called
rig_register: rig_register (3085)
rig_register called
rig_register: rig_register (3009)
rig_register called
rig_register: rig_register (3010)
rig_register called
rig_register: rig_register (3011)
rig_register called
rig_register: rig_register (3013)
rig_register called
rig_register: rig_register (3014)
rig_register called
rig_register: rig_register (3015)
rig_register called
rig_register: rig_register (3019)
rig_register called
rig_register: rig_register (3020)
rig_register called
rig_register: rig_register (3021)
rig_register called
rig_register: rig_register (3022)
rig_register called
rig_register: rig_register (3067)
rig_register called
rig_register: rig_register (3023)
rig_register called
rig_register: rig_register (3046)
rig_register called
rig_register: rig_register (3024)
rig_register called
rig_register: rig_register (3028)
rig_register called
rig_register: rig_register (3030)
rig_register called
rig_register: rig_register (3026)
rig_register called
rig_register: rig_register (3027)
rig_register called
rig_register: rig_register (3047)
rig_register called
rig_register: rig_register (3057)
rig_register called
rig_register: rig_register (3063)
rig_register called
rig_register: rig_register (3029)
rig_register called
rig_register: rig_register (3062)
rig_register called
rig_register: rig_register (3045)
rig_register called
rig_register: rig_register (3056)
rig_register called
rig_register: rig_register (3075)
rig_register called
rig_register: rig_register (3060)
rig_register called
rig_register: rig_register (3070)
rig_register called
rig_register: rig_register (3061)
rig_register called
rig_register: rig_register (3073)
rig_register called
rig_register: rig_register (3078)
rig_register called
rig_register: rig_register (3031)
rig_register called
rig_register: rig_register (3012)
rig_register called
rig_register: rig_register (3016)
rig_register called
rig_register: rig_register (3032)
rig_register called
rig_register: rig_register (3034)
rig_register called
rig_register: rig_register (3044)
rig_register called
rig_register: rig_register (3068)
rig_register called
rig_register: rig_register (3035)
rig_register called
rig_register: rig_register (3081)
rig_register called
rig_register: rig_register (3069)
rig_register called
rig_register: rig_register (3077)
rig_register called
rig_register: rig_register (3036)
rig_register called
rig_register: rig_register (3058)
rig_register called
rig_register: rig_register (3080)
rig_register called
rig_register: rig_register (3037)
rig_register called
rig_register: rig_register (3038)
rig_register called
rig_register: rig_register (3039)
rig_register called
rig_register: rig_register (3040)
rig_register called
rig_register: rig_register (3041)
rig_register called
rig_register: rig_register (3042)
rig_register called
rig_register: rig_register (3079)
rig_register called
rig_register: rig_register (3043)
rig_register called
rig_register: rig_register (3066)
rig_register called
rig_register: rig_register (3003)
rig_register called
rig_register: rig_register (3004)
rig_register called
rig_register: rig_register (3006)
rig_register called
rig_register: rig_register (3007)
rig_register called
rig_register: rig_register (3002)
rig_register called
rig_register: rig_register (3052)
rig_register called
rig_register: rig_register (3053)
rig_register called
rig_register: rig_register (3051)
rig_register called
rig_register: rig_register (3064)
rig_register called
rig_register: rig_register (3065)
rig_register called
rig_register: rig_register (3054)
rig_register called
rig_register: rig_register (3083)
rig_register called
rig_register: rig_register (3084)
rig_register called
rig_register: rig_register (3082)
rig_register called
rig_register: rig_register (3071)
rig_register called
rig_register: rig_register (3072)
rig_register called
rig_register: rig_register (3074)
rig_register called
rig_register: rig_register (3076)
icom_init called
icom_init: done
rig_open called
port_open called
serial_open called
serial_setup called
serial_setup: tcgetattr
serial_setup: cfmakeraw
serial_setup: cfsetispeed=115200,0x1002
serial_setup: cfsetospeed=115200,0x1002
serial_setup: data_bits=8
serial_setup: parity=0
serial_setup: tcsetattr TCSANOW
serial_flush called
serial_flush: tcflush
icom_rig_open 744
icom_rig_open: IC-7300 v20200911.0
icom_get_usb_echo_off called
icom_get_usb_echo_off: retry temp set to 1
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 6 bytes
0000 fe fe 94 e0 03 fd ......
read_string called
read_string(): RX 11 characters
0000 fe fe e0 94 03 00 30 32 50 00 fd ......02P..
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 6 bytes
0000 fe fe 94 e0 03 fd ......
read_string called
read_string(): RX 11 characters
0000 fe fe e0 94 03 00 30 32 50 00 fd ......02P..
icom_transaction: failed: Protocol error
icom_get_usb_echo_off: ack_len=80
icom_get_usb_echo_off 713
rig_flush: called for serial device
serial_flush called
serial_flush: tcflush
write_block called
write_block(): TX 7 bytes
0000 fe fe 94 e0 19 00 fd .......
read_string called
read_string(): RX 8 characters
0000 fe fe e0 94 19 00 94 fd ........
icom_get_usb_echo_off: USB echo off detected
rig_get_vfo called
rig_get_vfo: no get_vfo
rig_open: Icom rig so default vfo = currVFO
Opened rig model 3073, 'IC-7300'
Backend version: 20200911.0, Status: Stable
rigctl_parse: called, interactive=1
Rig command: l ANN
rigctl_parse: cmd=l(6c)
rigctl_parse: cmd==0x6c
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_ext_lookup called
rigctl_parse: vfo_opt=0
get_level: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
l BEEP
rigctl_parse: cmd=l(6c)
rigctl_parse: cmd==0x6c
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_ext_lookup called
rigctl_parse: vfo_opt=0
get_level: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
l TIME
rigctl_parse: cmd=l(6c)
rigctl_parse: cmd==0x6c
rigctl_parse: vfo_opt=0
rigctl_parse: debug1
rigctl_parse: debug3
rigctl_parse: debug4 c=20
rigctl_parse: debug5
rigctl_parse: debug10
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_ext_lookup called
rigctl_parse: vfo_opt=0
get_level: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
Rig command: rigctl_parse: cmd==0x0a
@mdblack98 Thanks for working on fixing these.
I've noticed some issues as well, even after applying your latest fixes regarding the collisions:
All of these used to work late last year.
EDIT: I've pretty much tested all other levels / funcs and other basic features on those three rigs and they seem to be working OK.
@mdblack98 One more thing on IC-7300: it doesn't support setting or getting repeater offset -- something probably got mixed in the caps, as 3.3 had these settings set to NULL (which is correct):
.set_rptr_shift = NULL,
.get_rptr_shift = NULL,
.set_rptr_offs = NULL,
.get_rptr_offs = NULL,
And yes, these should be NULL for 7300 only, as 9700 and 705 should support them for repeater access.
RF and SQL should be fixed. Can you test DRIVE GAIN? Mike
On Monday, September 14, 2020, 01:37:33 AM CDT, Mikael Nousiainen <notifications@github.com> wrote:
@mdblack98 Thanks for working on fixing these.
I've noticed some issues as well, even after applying your latest fixes regarding the collisions:
All of these used to work late last year.
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
@mdblack98 RF and SQL work now, but DRIVE GAIN is still failing (both get and set):
Hamlib (:20001) command '+\set_level drive_gain 105' failed: Invalid parameter (error code -1)
@mdblack98 I suspect there is still something wrong with icom_set|get_ext_level
or icom_set|get_ext_cmd
regarding matching of the tokens... Couldn't immediately see what yet, though...
Please send debug info. Mike W9MDB
On Tuesday, September 15, 2020, 02:20:29 AM CDT, Mikael Nousiainen <notifications@github.com> wrote:
@mdblack98 I suspect there is still something wrong with icom_set|get_ext_level or icom_set|get_ext_cmd regarding matching of the tokens... Couldn't immediately see what yet, though...
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
@mdblack98 icom_set_ext_cmd
and icom_get_ext_cmd
cannot find drive_gain
in IC-7600 extcmds -- which is true. So just confirming: the new extcmds list should have a command for the existing extlevels list?
Rig command: \set_level drive_gain 130
rigctl_parse: input_line: \set_level drive_gain 130
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_ext_lookup called
rig_set_ext_level called
icom_set_ext_level called
icom_set_ext_cmd called
rigctl_parse: vfo_opt=0
set_level: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
Rig command: \get_level drive_gain
rigctl_parse: input_line: \get_level drive_gain
rigctl_parse: vfo_opt=0
rig_parse_level called
rig_ext_lookup called
rig_get_ext_level called
icom_get_ext_level called
icom_get_ext_cmd called
rigctl_parse: vfo_opt=0
get_level: error = Invalid parameter
rigctl_parse: retcode=-1
rigctl_parse: called, interactive=1
@mdblack98 I can try to fix the extcmds implementation, there are some bugs there still.
One question though: now that it's possible to set the cmdparam type in the Icom extcmds, is there any need to have a separate list of tokens in ext_tokens
in icom_priv_caps
? It seems very redundant to me, as the support for an ext level token can be detected from the extcmds list too.
I think I'll end up removing ext_tokens
as it's not even widely used anywhere.
@mdblack98 Ok, I get now why ext_tokens
was added. Some of the rigs use the common list of extlevels / extcmds that is shared, so list then determines which ones are actually supported by the rig, right?
This gets a bit complicated. I'll see if there could be a way to simplify it a bit.
@mdblack98 And it would be nice to be able to share some parts of the extcmds between the rigs and make some of them rig-specific -- just to deal with the Icom madness of always introducing rig-specific commands with every model.
Please don't touch this section of code without a LOT of thought. There are 3 levels of such things....it's just that there was a collision between LEVEL and PARM values going on that had to be fixed and I figured that change would break something...which it did. There are global levels/parms, Icom levels/parms, and rig levels/parms. The RigPi testing is pointing out some of these things now as Howard is actively improving the interface. If you can think of some way to simplify this we can discuss.
Mike W9MDB
On Wednesday, September 16, 2020, 02:21:27 AM CDT, Mikael Nousiainen <notifications@github.com> wrote:
@mdblack98 I can try to fix the extcmds implementation, there are some bugs there still.
One question though: now that it's possible to set the cmdparam type in the Icom extcmds, is there any need to have a separate list of tokens in ext_tokens in icom_priv_caps? It seems very redundant to me, as the support for an ext level token can be detected from the extcmds list too.
I think I'll end up removing ext_tokens as it's not even widely used anywhere.
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
@mdblack98 Agreed, I won't be removing anything -- but only fixing issues. I've got a PR coming soon (once I get to test it) for you to review, which will hopefully fix a bunch of things with the extcmds handling! So no radical changes, only improvements.
I was just finishing up fixing the drive_gain bug which would fix all the other ext_cmds. Sounds like it might collide with what you're doing. Mike
On Wednesday, September 16, 2020, 09:17:51 AM CDT, Mikael Nousiainen <notifications@github.com> wrote:
@mdblack98 Agreed, I won't be removing anything -- but only fixing issues. I've got a PR coming soon (once I get to test it) for you to review, which will hopefully fix a bunch of things with the extcmds handling! So no radical changes, only improvements.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
@mdblack98 Possibly. I'll try to fix conflicts. There was an issue with ext_tokens
not being defined and icom_set_ext_cmd
searching for something else than tokens in the list. I'll push out a PR later today. I've also cleaned up Icom code to use more extcmds and some other minor changes.
IC-7300 get/set level enumeration
Get level: PREAMP(0..0/0) ok ATT(0..0/0) ok VOXDELAY(0..20/1) 1a 05 00 81 (LCD Background brightness) s/b 1a 05 01 91 AF(0..0/0) ok RF(0..0/0) 1a 05 00 23 (Confirmation Beep) s/b 14 02 SQL(0..0/0) 1a 05 00 95 (Send/read time) s/b 14 03 NR(0..0/0) ok PBT_IN(0..0/0) ok PBT_OUT(0..0/0) ok CWPITCH(300..900/1) ok RFPOWER(0..0/0) ok MICGAIN(0..0/0) ok
KEYSPD(6..48/1) ok
COMP(0..0/0) ok
AGC(0..0/0) ok
BKINDL(0..0/0) ok VOXGAIN(0..0/0) ok ANTIVOX(0..0/0) ok
RAWSTR(0..255/0) ok (Read S-meter)
SWR(0..0/0) ALC(0..0/0) ok STRENGTH(0..0/0) ok RFPOWER_METER(0..0/0) ok
COMP_METER(0..0/0) ok
VD_METER(0..0/0) ok ID_METER(0..0/0) ok NOTCHF_RAW(0..0/0) ok
MONITOR_GAIN(0..0/0) ok
NB(0..0/0) ok
Extra Get levels: ANN Invalid parameter s/b 1a 05 00 91 ??? BACKLIGHT Invalid parameter s/b 1a 05 00 81 BEEP Invalid parameter s/b 1a 05 00 23 TIME Imvalid parameter s/b 1a 05 00 95
Set Level: VOXDELAY see above s/b 1a 05 01 91 nn (00 to 20) RF see above s/b 14 02 nn mm (0000 to 0255) SQL see above s/b 14 03 nn mm ANN see above s/b 1a 05 00 91 tt tt tt tt tt tt tt tt tt tt (up to 10 chars) BACKLIGHT see above s/b 1a 05 00 81 nn mm (0000 to 0255) BEEP see above s/b 1a 05 00 23 00/01 TIME see above s/b 1a 05 00 95 hh mm