csete / gpredict

Gpredict satellite tracking application
http://gpredict.oz9aec.net/
GNU General Public License v2.0
844 stars 247 forks source link

Gpredict disengages when changing RX freq manually while transmitting (using two rigs) #227

Open rutja76 opened 4 years ago

rutja76 commented 4 years ago

I’m testing a configuration with one rig for TX (FT-817) and one for RX (TS-2000). The idea is to have possibly a HT for RX (like TH-D74) but for now TS-2000 is all I have.

It’s known that FT-817 doesn’t update the frequency while transmitting. However, having another radio for the RX, I can change the RX freq manually in order to compensate the drift caused by the fixed TX freq.

However, after changing the RX freq manually through the knob of the TS-2000 for a couple of seconds while transmitting with the FT-817, Gpredict disengages by itself.

I can confirm that this doesn’t occur in RX situation, so to summarize:

Here belowis the debug of the last commands of rigctld before the disengage. I have put the two logs (TS-2000 for RX, FT-817 for TX) in one since the commands appear to happen consecutively without overlaps. The cycle to 3000 ms in order to have a shorter log. It appears that FT-817 (TX) disengages first and then TS-2000 (RX) follows.

Does anybody see anything that could give a hint on why Gpredict disengages?

[TS-2000 (RX rig)]

2020-07-09:06:11:16.352029: client lock engaged 2020-07-09:06:11:16.352158: rig_strvfo called 2020-07-09:06:11:16.352212: rigctl(d): f 'currVFO' '' '' '' 2020-07-09:06:11:16.352265: rig_get_freq called 2020-07-09:06:11:16.352314: kenwood_get_freq called 2020-07-09:06:11:16.352375: kenwood_safe_transaction called 2020-07-09:06:11:16.352431: kenwood_transaction called 2020-07-09:06:11:16.352484: kenwood_transaction: cmdstr = FA 2020-07-09:06:11:16.352538: serial_flush called 2020-07-09:06:11:16.352604: write_block called 2020-07-09:06:11:16.403201: write_block(): TX 3 bytes 2020-07-09:06:11:16.403359: 0000 46 41 3b FA;
2020-07-09:06:11:16.403422: read_string called 2020-07-09:06:11:16.465922: read_string(): RX 14 characters 2020-07-09:06:11:16.466079: 0000 46 41 30 30 31 34 35 39 39 32 37 36 31 3b FA00145992761;
2020-07-09:06:11:16.466196: client lock disengaged

[FT-817 (TX rig)]

2020-07-09:06:11:16.569567: client lock engaged 2020-07-09:06:11:16.569692: rig_strvfo called 2020-07-09:06:11:16.569744: rigctl(d): F 'currVFO' '435343897' '' '' 2020-07-09:06:11:16.569827: rig_set_freq called 2020-07-09:06:11:16.569883: ft817: requested freq = 435343897.000000 Hz 2020-07-09:06:11:16.569963: to_bcd_be called 2020-07-09:06:11:16.570019: rig_force_cache_timeout called 2020-07-09:06:11:16.570068: write_block called 2020-07-09:06:11:16.570515: write_block(): TX 5 bytes 2020-07-09:06:11:16.570634: 0000 43 53 43 90 01 CSC..
2020-07-09:06:11:16.570690: read_block called 2020-07-09:06:11:16.638274: read_block(): RX 1 bytes 2020-07-09:06:11:16.638409: 0000 f0 .
2020-07-09:06:11:16.638465: ft817: ack received (240) 2020-07-09:06:11:16.638523: client lock disengaged

[TS-2000 (RX rig)]

2020-07-09:06:11:19.527218: client lock engaged 2020-07-09:06:11:19.527347: rig_strvfo called 2020-07-09:06:11:19.527400: rigctl(d): f 'currVFO' '' '' '' 2020-07-09:06:11:19.527456: rig_get_freq called 2020-07-09:06:11:19.527506: kenwood_get_freq called 2020-07-09:06:11:19.527561: kenwood_safe_transaction called 2020-07-09:06:11:19.527612: kenwood_transaction called 2020-07-09:06:11:19.527663: kenwood_transaction: cmdstr = FA 2020-07-09:06:11:19.527717: serial_flush called 2020-07-09:06:11:19.527785: write_block called 2020-07-09:06:11:19.578264: write_block(): TX 3 bytes 2020-07-09:06:11:19.578414: 0000 46 41 3b FA;
2020-07-09:06:11:19.578477: read_string called 2020-07-09:06:11:19.579620: read_string(): RX 14 characters 2020-07-09:06:11:19.579769: 0000 46 41 30 30 31 34 35 39 39 33 33 30 30 3b FA00145993300;
2020-07-09:06:11:19.579885: client lock disengaged

[FT-817 (TX rig)]

2020-07-09:06:11:19.581009: client lock engaged 2020-07-09:06:11:19.581132: rig_strvfo called 2020-07-09:06:11:19.581185: rigctl(d): F 'currVFO' '435343358' '' '' 2020-07-09:06:11:19.581268: rig_set_freq called 2020-07-09:06:11:19.581326: ft817: requested freq = 435343358.000000 Hz 2020-07-09:06:11:19.581406: to_bcd_be called 2020-07-09:06:11:19.581461: rig_force_cache_timeout called 2020-07-09:06:11:19.581510: write_block called 2020-07-09:06:11:19.581863: write_block(): TX 5 bytes 2020-07-09:06:11:19.581986: 0000 43 53 43 36 01 CSC6.
2020-07-09:06:11:19.582049: read_block called 2020-07-09:06:11:19.617033: read_block(): RX 1 bytes 2020-07-09:06:11:19.617165: 0000 f0 .
2020-07-09:06:11:19.617221: ft817: ack received (240) 2020-07-09:06:11:19.617281: client lock disengaged

[TS-2000 (RX rig)]

2020-07-09:06:11:22.617622: client lock engaged 2020-07-09:06:11:22.617757: rig_strvfo called 2020-07-09:06:11:22.617809: rigctl(d): f 'currVFO' '' '' '' 2020-07-09:06:11:22.617863: rig_get_freq called 2020-07-09:06:11:22.617913: kenwood_get_freq called 2020-07-09:06:11:22.617969: kenwood_safe_transaction called 2020-07-09:06:11:22.618019: kenwood_transaction called 2020-07-09:06:11:22.618069: kenwood_transaction: cmdstr = FA 2020-07-09:06:11:22.618122: serial_flush called 2020-07-09:06:11:22.618189: write_block called 2020-07-09:06:11:22.668788: write_block(): TX 3 bytes 2020-07-09:06:11:22.668946: 0000 46 41 3b FA;
2020-07-09:06:11:22.669010: read_string called 2020-07-09:06:11:22.739680: read_string(): RX 14 characters 2020-07-09:06:11:22.739834: 0000 46 41 30 30 31 34 35 39 39 32 38 30 30 3b FA00145992800;
2020-07-09:06:11:22.739950: client lock disengaged

[FT-817 (TX rig)]

2020-07-09:06:11:22.744295: client lock engaged 2020-07-09:06:11:22.744421: rig_strvfo called 2020-07-09:06:11:22.744475: rigctl(d): F 'currVFO' '435343857' '' '' 2020-07-09:06:11:22.744561: rig_set_freq called 2020-07-09:06:11:22.744617: ft817: requested freq = 435343857.000000 Hz 2020-07-09:06:11:22.744697: to_bcd_be called 2020-07-09:06:11:22.744752: rig_force_cache_timeout called 2020-07-09:06:11:22.744800: write_block called 2020-07-09:06:11:22.745369: write_block(): TX 5 bytes 2020-07-09:06:11:22.745495: 0000 43 53 43 86 01 CSC..
2020-07-09:06:11:22.745552: read_block called 2020-07-09:06:11:22.798239: read_block(): RX 1 bytes 2020-07-09:06:11:22.798375: 0000 f0 .
2020-07-09:06:11:22.798431: ft817: ack received (240) 2020-07-09:06:11:22.798489: client lock disengaged

[TS-2000 (RX rig)]

2020-07-09:06:11:25.825567: client lock engaged 2020-07-09:06:11:25.825697: rig_strvfo called 2020-07-09:06:11:25.825750: rigctl(d): f 'currVFO' '' '' '' 2020-07-09:06:11:25.825803: rig_get_freq called 2020-07-09:06:11:25.825854: kenwood_get_freq called 2020-07-09:06:11:25.825907: kenwood_safe_transaction called 2020-07-09:06:11:25.825959: kenwood_transaction called 2020-07-09:06:11:25.826009: kenwood_transaction: cmdstr = FA 2020-07-09:06:11:25.826063: serial_flush called 2020-07-09:06:11:25.826130: write_block called 2020-07-09:06:11:25.876662: write_block(): TX 3 bytes 2020-07-09:06:11:25.876818: 0000 46 41 3b FA;
2020-07-09:06:11:25.876882: read_string called 2020-07-09:06:11:25.899675: read_string(): RX 14 characters 2020-07-09:06:11:25.899832: 0000 46 41 30 30 31 34 35 39 39 33 31 38 30 3b FA00145993180;
2020-07-09:06:11:25.899948: client lock disengaged

[FT-817 (TX rig)]

2020-07-09:06:11:25.901040: client lock engaged 2020-07-09:06:11:25.901161: rig_strvfo called 2020-07-09:06:11:25.901211: rigctl(d): F 'currVFO' '435343477' '' '' 2020-07-09:06:11:25.901294: rig_set_freq called 2020-07-09:06:11:25.901352: ft817: requested freq = 435343477.000000 Hz 2020-07-09:06:11:25.901432: to_bcd_be called 2020-07-09:06:11:25.901488: rig_force_cache_timeout called 2020-07-09:06:11:25.901538: write_block called 2020-07-09:06:11:25.901891: write_block(): TX 5 bytes 2020-07-09:06:11:25.902004: 0000 43 53 43 48 01 CSCH.
2020-07-09:06:11:25.902059: read_block called 2020-07-09:06:11:25.937006: read_block(): RX 1 bytes 2020-07-09:06:11:25.937142: 0000 f0 .
2020-07-09:06:11:25.937200: ft817: ack received (240) 2020-07-09:06:11:25.937259: client lock disengaged 2020-07-09:06:11:25.939921: rig_open called 2020-07-09:06:11:25.940047: client lock engaged 2020-07-09:06:11:25.940098: rig_close called 2020-07-09:06:11:25.940144: ft817: ft817_close called 2020-07-09:06:11:25.940191: port_close called 2020-07-09:06:11:25.940236: ser_close called Closed rig model 120, 'FT-817 - no clients, will reopen for new clients' 2020-07-09:06:11:25.940502: client lock disengaged 2020-07-09:06:11:25.942226: Connection closed from localhost:33902

[TS-2000 (RX rig)]

2020-07-09:06:11:25.944486: rig_open called 2020-07-09:06:11:25.944621: client lock engaged 2020-07-09:06:11:25.944673: rig_close called 2020-07-09:06:11:25.944720: kenwood_close called 2020-07-09:06:11:25.944769: kenwood_set_trn called 2020-07-09:06:11:25.944815: kenwood_transaction called 2020-07-09:06:11:25.944865: kenwood_transaction: cmdstr = AI0 2020-07-09:06:11:25.944919: serial_flush called 2020-07-09:06:11:25.944985: write_block called 2020-07-09:06:11:25.995695: write_block(): TX 4 bytes 2020-07-09:06:11:25.995855: 0000 41 49 30 3b AI0;
2020-07-09:06:11:25.995918: write_block called 2020-07-09:06:11:26.046396: write_block(): TX 3 bytes 2020-07-09:06:11:26.046570: 0000 49 44 3b ID;
2020-07-09:06:11:26.046631: read_string called 2020-07-09:06:11:26.070757: read_string(): RX 6 characters 2020-07-09:06:11:26.070900: 0000 49 44 30 31 39 3b ID019;
2020-07-09:06:11:26.070965: port_close called 2020-07-09:06:11:26.071021: ser_close called Closed rig model 214, 'TS-2000 - no clients, will reopen for new clients' 2020-07-09:06:11:26.071185: client lock disengaged 2020-07-09:06:11:26.073151: Connection closed from localhost:58658

mdblack98 commented 4 years ago

What version of hamlib are you using? The last sequence you have looks really funky. It opens and closes the rig, then tries to send commands.

Mike W9MDB

rutja76 commented 4 years ago

Using gpredict (2.3-33-gca42d22-1) for Debian on Raspberry Zero and Hamlib 4.0. I think the disengage is triggered by FT-817 (second last series of commands) here:

2020-07-09:06:11:25.939921: rig_open called 2020-07-09:06:11:25.940047: client lock engaged 2020-07-09:06:11:25.940098: rig_close called 2020-07-09:06:11:25.940144: ft817: ft817_close called

After which TS-2000 follows and disengages.

mdblack98 commented 4 years ago

If your hamlib is very recent (more current than Jun 28) then please add this switch to the ft-817 rigctld --set-conf=post_write_delay=50

See if that helps.

Mike W9MDB

rutja76 commented 4 years ago

The hamlib I'm using is older. But I'll update and see if it changes anything.

rutja76 commented 3 years ago

If your hamlib is very recent (more current than Jun 28) then please add this switch to the ft-817 rigctld --set-conf=post_write_delay=50

I tested it with hamlib daily snapshot (20200819) and it seems to do the trick.

rutja76 commented 3 years ago

On a further note: it seems to work also lowering the delay to 1, that is:

--set-conf=post_write_delay=1

is enough.