예제 #1
0
        public void TestEquals_3()
        {
            var rigStatus1 = new RigStatus {
                VfoA = null
            };
            var rigStatus2 = new RigStatus {
                VfoA = null
            };

            Assert.True(rigStatus1.Equals(rigStatus2));
        }
예제 #2
0
        public void TestEquals_4()
        {
            var rigStatus1 = new RigStatus {
                VfoA = null
            };
            var rigStatus2 = new RigStatus {
                VfoA = new VfoStatus()
            };

            Assert.False(rigStatus1.Equals(rigStatus2));
        }
예제 #3
0
        public void TestEquals_6()
        {
            var rigStatus1 = new RigStatus {
                VfoB = new VfoStatus {
                    Frequency = 123.45
                }
            };
            var rigStatus2 = new RigStatus {
                VfoB = new VfoStatus {
                    Frequency = 123.46
                }
            };

            Assert.False(rigStatus1.Equals(rigStatus2));
        }
예제 #4
0
        public void TestEquals_1()
        {
            var rigStatus1 = new RigStatus {
                VfoA = new VfoStatus {
                    Frequency = 123.45
                }
            };
            var rigStatus2 = new RigStatus {
                VfoA = new VfoStatus {
                    Frequency = 123.45
                }
            };

            Assert.True(rigStatus1.Equals(rigStatus2));
        }
예제 #5
0
파일: Program.cs 프로젝트: M0LTE/NRig
        static async Task Main(string[] args)
        {
            Console.WriteLine($"Codebase: {typeof(Program).Assembly.CodeBase.Replace("file:///", "")}");
            HandleHamlib();
            Console.WriteLine($"Managed version: {HamLibWrapper.ManagedVersion}");
            Console.WriteLine($"Native version:  {HamLibWrapper.NativeVersion}");

            var rig = new HamLibWrapper("FT-450", args[0], BaudRate.Baud38400, Handshake.Hardware, 8, 2);

            RigStatus oldStatus = null;
            await rig.BeginRigStatusUpdates(status =>
            {
                lock (lockObj)
                {
                    if (oldStatus == null || !oldStatus.Equals(status))
                    {
                        Console.SetCursorPosition(0, 0);
                        Console.Write(status.VfoA.Frequency.ToString(FrequencyStyle.Yaesu));

                        Console.SetCursorPosition(0, 1);
                        Console.ForegroundColor = status.Ptt ? ConsoleColor.Red : ConsoleColor.Green;
                        Console.Write(status.Ptt ? "TX" : "RX");
                        Console.ResetColor();

                        Console.SetCursorPosition(0, 2);
                        Console.Write($"CTCSS {(status.CtcssEnabled ? "on " : "off")} {status.Ctcss}    ");

                        Console.SetCursorPosition(0, 3);
                        Console.Write($"RPT   {(status.RepeaterShiftEnabled ? "on " : "off")} {status.RepeaterShift}    ");

                        oldStatus = status;
                    }
                }
            }, TimeSpan.FromSeconds(0.1));

            Console.Clear();

            while (true)
            {
                var key = Console.ReadKey(true);
                if (key.Key == ConsoleKey.C)
                {
                    await rig.SetCtcss(Frequency.Hz(114.8));
                }
                else if (key.Key == ConsoleKey.N)
                {
                    await rig.SetCtcss(null);
                }
                else if (key.Key == ConsoleKey.R)
                {
                    await rig.SetRepeaterShift(Frequency.MHz(1.6));
                }
                else if (key.Key == ConsoleKey.S)
                {
                    await rig.SetRepeaterShift(null);
                }
                else if (key.Key == ConsoleKey.P)
                {
                    await rig.SetPttState(!oldStatus.Ptt);
                }
            }
        }