public void SetRigOptState(OperatingState state) { var newState = new RigStatePacket(); newState.FromOperatingState(state); SetRigState(0, newState); }
private void ParamsChangeEvent(int RigNumber, int Params) { if (RigNumber != 1 && RigNumber != 2) { return; } Console.WriteLine(String.Format("Param: {0}", Params)); RigStatePacket rigState = GetRigState(RigNumber - 1); Console.WriteLine("param event"); sendRigBusState(rigState); }
private void sendRigBusState(RigStatePacket rigState) { var netRunniner = UdpServer.GetInstance(); var net = OmniRigInfoThread.GetInstance(); var state = RigOperatingState.Instance; var rigBusDesc = OmniRigInfo.Instance; state.Id = rigBusDesc.Id; state.DocType = "RigOperatingState"; state.Command = "StateUpdate"; state.Freq = rigState.Freq; state.FreqA = rigState.Freq; state.Mode = rigState.Mode; Console.WriteLine("Freq: {0} - Mode: {1}", state.Freq, state.Mode); netRunner.SendBroadcast(state, 7300); }
public void SetRigState(int rigNum, RigStatePacket state) { var rigs = Rigs.Instance; RigX[rigNum].Freq = state.Freq; SetFreq(rigNum, state.Freq); SetFreqA(rigNum, state.FreqA); SetFreqB(rigNum, state.FreqB); if (state.Mode != null) { string mode = ModeToOmniMode(state.Mode); if (mode == "undefined") { throw new HttpResponseException(HttpStatusCode.BadRequest); } RigX[rigNum].Mode = (OmniRig.RigParamX)OmniMapping.StringToParam(ModeToOmniMode(state.Mode)); } SetPitch(rigNum, state.Pitch); SetRit(rigNum, state.Rit); SetRitOffset(rigNum, state.RitOffset); // todo if (state.Split != null) { RigX[rigNum].Split = (OmniRig.RigParamX)OmniMapping.StringToParam(state.Split); } if (state.Vfo != null) { RigX[rigNum].Vfo = (OmniRig.RigParamX)OmniMapping.StringToParam(state.Vfo); } if (state.Xit != null) { RigX[rigNum].Xit = (OmniRig.RigParamX)OmniMapping.StringToParam(state.Xit); } }
private OmniRigInterface() { OmniRig = new OmniRigX(); OmniRig.ParamsChange += ParamsChangeEvent; RigX.Add(OmniRig.Rig1); RigX.Add(OmniRig.Rig2); RigStatePacket rigState = GetRigState(1); sendRigBusState(rigState); var rigBusInfo = OmniRigInfo.Instance; rigBusInfo.Command = "update"; rigBusInfo.RigType = OmniRig.Rig1.RigType; rigBusInfo.TcpPort = netRunner.listenTcpPort; rigBusInfo.UdpPort = netRunner.listenUdpPort; rigBusInfo.Id = Guid.NewGuid().ToString(); rigBusInfo.SendSyncInfo = true; rigBusInfo.MaxVersion = 1; rigBusInfo.MinVersion = 1; rigBusInfo.SendSyncInfo = true; rigBusInfo.Name = "OmniRigBus"; rigBusInfo.Time = DateTimeUtils.ConvertToUnixTime(DateTime.Now); optState.newStateDelegate = SetRigOptState; }