¿ªÔÆÌåÓýManual CAT commands of date/time// --------------------------------------------------------------------- // set date and time // 1A 05 00 54 HH MM : set time // 1A 05 00 53 YY YY MM DD : set date // --------------------------------------------------------------------- // dt formated as YYYYMMDD // --------------------------------------------------------------------- void RIG_IC7600::sync_date(char *dt) { ?? ?cmd.clear(); ?? ?cmd.append(pre_to); ?? ?cmd += '\x1A'; cmd += '\x05'; ?? ?cmd += '\x00'; cmd += '\x53'; ?? ?unsigned char val; ?? ?val = ((dt[0] - '0') << 4) + (dt[1] - '0'); ?? ?cmd += (val & 0xFF); ?? ?val = ((dt[2] - '0') << 4) + (dt[3] - '0'); ?? ?cmd += (val & 0xFF); ?? ?val = ((dt[4] - '0') << 4) + (dt[5] - '0'); ?? ?cmd += (val & 0xFF); ?? ?val = ((dt[6] - '0') << 4) + (dt[7] - '0'); ?? ?cmd += (val & 0xFF); ?? ?cmd.append(post); ?? ?set_trace(1, "set xcvr clock"); ?? ?waitFB("set xcvr clock", 200); ?? ?seth(); } // --------------------------------------------------------------------- // tm formated as HH:MM:SS // --------------------------------------------------------------------- void RIG_IC7600::sync_clock(char *tm) { ?? ?cmd.clear(); ?? ?cmd.append(pre_to); ?? ?cmd += '\x1A'; cmd += '\x05'; ?? ?cmd += '\x00'; cmd += '\x54'; ?? ?unsigned char val; ?? ?val = ((tm[0] - '0') << 4) + (tm[1] - '0'); ?? ?cmd += (val & 0xFF); ?? ?val = ((tm[3] - '0') << 4) + (tm[4] - '0'); ?? ?cmd += (val & 0xFF); ?? ?cmd.append(post); ?? ?set_trace(1, "set xcvr clock"); ?? ?waitFB("set xcvr clock", 200); ?? ?seth(); } The code corrresponds correctly to the CAT command descriptions.?? You can check whether the correct commands are being sent to the transceiver.? Open the trace panel and deselect all trace functions with the excepttion of the "set trace".? Press the "view trace" button. Then open the pull down tab panel to the "extras" tab. Select as above for the clock and then press the "Sync Now" button.? The commands should be sent at the 00 second instant. David On 9/16/24 22:41, VR2VRC via groups.io
wrote:
|