public void CMDTune() { SetText(DebugEnum.TRACE, "CMD_Tune()\n"); Tuning = true; byte[] tune = { 0xfe, 0xfe, 0x06, 0x01, 0x00, 0x00, 0xf9, 0xfd }; SendCmd(tune); TunerState = TunerStateEnum.TUNING; }
private void MsgFE(byte[] received) { if (received.Length != 8) { //MessageBox.Show("oops!! MsgFe != 8"); return; } //SetText(DebugEnum.VERBOSE, "MsgFE: " + dumphex(data) + "\n"); //Thread.Sleep(200); byte cmd = received[2]; byte scmd = received[3]; byte statusbyte = received[4]; byte[] b2 = new byte[4]; switch (cmd) { // FE-FE-06-01-80-00-79-FD -- tune failure case 0x06: //SetText(DebugEnum.TRACE, "case 0x06 observed\n"); switch (scmd) { case 0x00: //SetText(DebugEnum.TRACE, "Started by Tune cmd\n"); Tuning = false; TunerState = TunerStateEnum.TUNEDONE; byte[] b1 = new byte[2]; b1[1] = received[4]; b1[0] = received[5]; SWR = BCD5ToInt(b1, 2) / 10.0; if (SWR < 2.0) { MemoryWriteCurrentFreq(); } break; case 0x01: Tuning = false; TunerState = TunerStateEnum.TUNEDONE; switch (statusbyte) { case 0x00: SetText(DebugEnum.ERR, "Start by Tune Command\n"); break; case 0x01: SetText(DebugEnum.ERR, "Start by SWR > AutoTuneSWR\n"); break; case 0x02: SetText(DebugEnum.ERR, "Start by StickyTune\n"); break; case 0x80: SetText(DebugEnum.ERR, "QRO Increase Power\n"); break; case 0x81: SetText(DebugEnum.ERR, "QRP Decrease\n"); break; case 0x82: SetText(DebugEnum.ERR, "QRT Overload\n"); break; default: SetText(DebugEnum.ERR, "Unknown status" + b2 + "\n"); break; } //SetText(DebugEnum.ERR, "Tuning failed\n"); break; default: //SetText(DebugEnum.ERR, "Error: tune???=" + received[3].ToString("X", CultureInfo.InvariantCulture)); Tuning = false; TunerState = TunerStateEnum.TUNEDONE; break; } break; case 0x10: switch (received[3]) { case 0x41: b2[0] = received[5]; b2[1] = received[4]; Capacitance = (int)BCD5ToInt(b2, 2); break; case 0x42: b2[0] = received[5]; b2[1] = received[4]; Inductance = (int)BCD5ToInt(b2, 2) / 100.0; break; default: SetText(DebugEnum.ERR, "CMD unknown=" + Dumphex(received) + "\n"); break; } break; case 0x11: switch (received[3]) { case 0x06: string status = "off\n"; if (received[4] == 0x01) { status = "on\n"; } SetText(DebugEnum.TRACE, "Amp " + status); break; default: SetText(DebugEnum.ERR, "CMD unknown=" + Dumphex(received) + "\n"); break; } break; case 0x21: switch (received[3]) { case 0x06: string status = "off\n"; if (received[4] == 0x01) { status = "on\n"; } SetText(DebugEnum.VERBOSE, "Amp " + status); break; default: SetText(DebugEnum.ERR, "CMD unknown=" + Dumphex(received) + "\n"); break; } break; default: SetText(DebugEnum.ERR, "CMD unknown=" + Dumphex(received) + "\n"); break; } //SetText(DebugEnum.VERBOSE, "CMD packet: " + Dumphex(received) + "\n"); }