private void Tick(object state) { if (ticking) { return; } try { ticking = true; var(ctcssEnabled, ctcssTone) = GetCtcssState().Result; var(repeaterShiftEnabled, repeaterOffset) = GetRepeaterShiftState().Result; var rigStatus = new RigStatus { VfoA = new VfoStatus { Frequency = GetFrequency(Vfo.A).Result, Mode = GetMode(Vfo.A).Result, }, Ptt = GetPttState().Result, CtcssEnabled = ctcssEnabled, Ctcss = ctcssTone, RepeaterShiftEnabled = repeaterShiftEnabled, RepeaterShift = repeaterOffset, }; ((Action <RigStatus>)state)(rigStatus); } finally { ticking = false; } }
//private readonly IHttpClientFactory _clientFactory; //public RigsController(IHttpClientFactory clientFactory) //{ // _clientFactory = clientFactory; //} public IActionResult Index() { var rigs = new List <RigViewModel>(); foreach (var rig in APIComm.Rigs) { RigStatus rigInfo = rig.Value; string rigIP = rig.Key; rigs.Add( new RigViewModel() { Address = rigIP, Description = rigInfo.RigName, ConnectionAddress = rigInfo.Status.ConnectionAddress, ConnectionStatus = rigInfo.Status.ConnectionStatus, LastJob = rigInfo.Status.LastJob, LastShare = rigInfo.Status.LastShare, Shares = rigInfo.Status.Shares, Workers = rigInfo.Status.Workers, //Uptime = TimeSpan.FromHours(1), LastCommunication = rigInfo.LastComm, } ); } ViewBag.Rigs = rigs; ViewBag.MessageNotAdded = TempData["NotAdded"]; ViewBag.Added = (int?)TempData["Added"]; return(View()); }
public void TestEquals_4() { var rigStatus1 = new RigStatus { VfoA = null }; var rigStatus2 = new RigStatus { VfoA = new VfoStatus() }; Assert.False(rigStatus1.Equals(rigStatus2)); }
public void TestEquals_3() { var rigStatus1 = new RigStatus { VfoA = null }; var rigStatus2 = new RigStatus { VfoA = null }; Assert.True(rigStatus1.Equals(rigStatus2)); }
public void SetIndicator(RigStatus s, bool working) { if (LastStatus.HasValue) { if (LastStatus.Value != s || Working != working) { goto SetInd; } else { return; } } else { goto SetInd; } SetInd: var x = LastStatus; LastStatus = s; switch (s) { case RigStatus.offline: { Indicator = Brushes.Red; AlarmSwitch(true); } break; case RigStatus.online: { Indicator = Brushes.Red; AlarmSwitch(true); } break; case RigStatus.works: { if (working) { Indicator = Brushes.Lime; AlarmSwitch(false); } else { Indicator = Brushes.Blue; AlarmSwitch(true); } } break; } Working = working; }
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)); }
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)); }
public void ScanningStart() { if (Scanning) { return; } Scanning = true; Task.Run(() => { while (App.Live && Scanning) { if (InternetConnection) { GetPing(); if (Status == IPStatus.Success) { CurrentStatus = RigStatus.online; if (Config.Waching && !Waching) { Waching = true; WachingStert(); } } else { CurrentStatus = RigStatus.offline; if (Config.Waching) { eWeLinkWachdog(); } } } Thread.Sleep(PingCheckDelay * 1000); } }); }
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); } } }