コード例 #1
0
ファイル: ORig.cs プロジェクト: haminteropt/omnibus
        public void SetRigOptState(OperatingState state)
        {
            var newState = new RigStatePacket();

            newState.FromOperatingState(state);
            SetRigState(0, newState);
        }
コード例 #2
0
ファイル: ORig.cs プロジェクト: haminteropt/omnibus
        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);
        }
コード例 #3
0
ファイル: ORig.cs プロジェクト: haminteropt/omnibus
        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);
        }
コード例 #4
0
ファイル: ORig.cs プロジェクト: haminteropt/omnibus
        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);
            }
        }
コード例 #5
0
ファイル: ORig.cs プロジェクト: haminteropt/omnibus
        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;
        }