-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IC-7300 some levels wrong #373
Comments
icom.c extlevels is colliding PARM and LEVEL values. |
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] 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] 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):
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:
- RF GAIN level (get or set) doesn't work on any Icom rig I've tested (7300, 7600, 756Pro3)
- Squelch level (get or set) doesn't work on any Icom rig I've tested (7300, 7600, 756Pro3)
- DRIVE GAIN level (get and set) is broken on 7600 -- this is a custom level, but nevertheless it was working (I added it last year)
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):
|
@mdblack98 I suspect there is still something wrong with |
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
|
@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 I think I'll end up removing |
@mdblack98 Ok, I get now why 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 |
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
The text was updated successfully, but these errors were encountered: