public override MicrowaveReceiver.OperatingBand GetBand() { byte[] toSend = BuildCommand(CHECKBAND); bool successfulSend = false; OperatingBand band = OperatingBand.NotSet; byte[] result = BlockingSend(toSend, out successfulSend, EndCodeTerm); if (successfulSend && result[0] == STARTCODE && result[result.Length - 1] == ENDCODE && result[1] == (byte)'Q') { switch (result[2]) { case (byte)'L': band = OperatingBand.L; break; case (byte)'S': band = OperatingBand.S; break; case (byte)'C': band = OperatingBand.C; break; case (byte)'X': band = OperatingBand.X; break; default: band = OperatingBand.NotSet; break; } if (band != OperatingBand.NotSet) { Connected = true; } } else { Connected = false; PrintDebug("GetBand failed"); } currentBand = band; return(band); }
private bool SetBandForFreq(int freq) { OperatingBand needed = OperatingBand.NotSet; if (freq < 2000) { needed = OperatingBand.L; } else if (freq < 3000) { needed = OperatingBand.S; } else if (freq < 6000) { needed = OperatingBand.C; } else { needed = OperatingBand.X; } if (currentBand != needed) { return(SetBand(needed)); } return(true); }
public override bool TestConnection() { bool conn = false; byte[] toSend = BuildCommand(REMOTEMODE); bool successFulSend = false; byte[] result = BlockingSend(toSend, out successFulSend, ValidInvalidTerms); if (successFulSend && result[0] == VALID) { currentBand = GetBand(); conn = true; } else { conn = false; } PrintDebug("Test Connection " + (conn ? "success" : "failed")); Connected = conn; return(conn); }