private void fmMain_Load(object sender, EventArgs e) { img1 = Image.FromFile(Application.StartupPath + "\\img\\1.bmp"); img2 = Image.FromFile(Application.StartupPath + "\\img\\2.bmp"); //TestSCL(); //Ping p = new Ping(); //PingReply r = p.Send("101.0.0.1"); //if (r.Status == IPStatus.TimedOut) //{ // return; //} //p.Dispose(); InitCanvas(); //LedHelper.Init(2); //LedHelper.AddLed("192.168.16.98", 1); LedHelper.Init(1); //LedHelper.ReConnectTime = 5; //LedHelper.PingTime = 10; //LedHelper.LocPort = 8500; LedHelper.AddLed("192.168.16.99", 0, 128, 96); LedHelper.Open(); thread = new TLoopThread(OnThread); thread.Start(); }
private void fmMain_FormClosed(object sender, FormClosedEventArgs e) { thread.WaitForStop(); LedHelper.Close(); img1.Dispose(); img2.Dispose(); }
void OnThread() { DateTime n = DateTime.Now; TimeSpan t = new TimeSpan(n.Ticks - last.Ticks); delta = t.TotalMilliseconds; last = n; txTime.Text = n.ToString("yyyy-MM-dd HH:mm:ss"); cav.Refresh(); LedHelper.AssignCanvas(0, cav); LedHelper.SendToScreen(); Thread.Sleep(500); }
private void tmDisp_Tick(object sender, EventArgs e) { if (tbMain.SelectedTab != tbDisp) { return; } Canvas cav = dsp.GetPage(); cav.Refresh(); Graphics g = Graphics.FromImage(pic.Image); g.DrawImage(cav.Img, 0, 0, pic.Image.Width, pic.Image.Height); g.Dispose(); pic.Refresh(); LedHelper.AssignCanvas(0, cav); //LedHelper.SendToScreen(); }
private void tbDisp_Enter(object sender, EventArgs e) { dsp = new XMLDisplay(edXml.Text); //dsp = XMLDisplay.FromFile(....); dsp.BeforeRender = BeforeRender; dsp.AfterRender = AfterRender; if (pic.Image != null) { pic.Image.Dispose(); } int s = 2; pic.Image = new Bitmap(dsp.Size.Width * s, dsp.Size.Height * s); LedHelper.Init(3); LedHelper.AddLed("192.168.16.97", 1, dsp.Size.Width, dsp.Size.Height); LedHelper.Open(); tmDisp.Enabled = true; }
private void tbDisp_Leave(object sender, EventArgs e) { tmDisp.Enabled = false; LedHelper.Close(); }
public void Execute(string[] args) { var ledCount = args.GetInt("--led"); if (ledCount == null) { ledCount = ConsoleHelper.ReadInt("LED count > "); } var stripType = args.GetStripType(); if (stripType == null) { stripType = ConsoleHelper.ReadWhileNull("Strip type > ", LedHelper.GetStripTypeFromName); } var pin = args.GetPin(); if (pin == null) { pin = ConsoleHelper.ReadWhileNull("Pin > ", (read) => { if (int.TryParse(read, out var pin)) { return(LedHelper.GetPinFromNumber(pin)); } return(null); }); } var controllerType = args.GetControllerType(); if (controllerType == null) { controllerType = ConsoleHelper.ReadWhileNull("Controller type > ", LedHelper.GetControllerTypeFromName); } var settings = Settings.CreateDefaultSettings(); var controller = settings.AddController(ledCount.Value, pin.Value, stripType.Value, controllerType.Value); Console.WriteLine($"LED {ledCount}, Pin {pin}, Strip {stripType}, Controller {controllerType}"); var device = new WS281x(settings); Device = device; Controller = controller; Color color = Color.Black; RenderColor(device, controller, Color.Black); Shell.Run("LED", (arguments) => { if (arguments.Length == 0) { return; } switch (arguments[0]) { case "red": color = Color.Red; break; case "green": color = Color.Green; break; case "blue": color = Color.Blue; break; case "export": ExportConfig(arguments); break; default: Console.WriteLine("Unknown command"); break; } RenderColor(device, controller, color); }); RenderColor(device, controller, Color.Black); }