private static bool AnimateNonBlocking2(Nusbio nusbio) { if (nusbio.IsAsynchronousSequencerOn) { nusbio.CancelAsynchronousSequencer(); return(false); } else { nusbio.StartAsynchronousSequencer(100, seq: DS.List( NusbioGpio.Gpio0, NusbioGpio.Gpio1, NusbioGpio.Gpio2, NusbioGpio.Gpio3, NusbioGpio.Gpio4, NusbioGpio.Gpio5, NusbioGpio.Gpio6, NusbioGpio.Gpio7, NusbioGpio.Gpio6, NusbioGpio.Gpio5, NusbioGpio.Gpio4, NusbioGpio.Gpio3, NusbioGpio.Gpio2, NusbioGpio.Gpio1 )); return(true); } }
public static void Run(string[] args) { Console.WriteLine("Nusbio Initializing"); var serialNumber = Nusbio.Detect(); if (serialNumber == null) // Detect the first Nusbio available { Console.WriteLine("Nusbio not detected"); return; } var halfSecondTimeOut = new TimeOut(20); using (var nusbio = new Nusbio(serialNumber: serialNumber, webServerPort: 1964)) { nusbio.UrlEvent += NusbioUrlEvent; Cls(nusbio); //CameraCaptureMode(nusbio); //return; while (nusbio.Loop(20)) { if (Console.KeyAvailable) { var kk = Console.ReadKey(true); var blinkMode = kk.Modifiers == ConsoleModifiers.Shift; var key = kk.Key; if (key == ConsoleKey.Q) { break; } if (key == ConsoleKey.C) { Cls(nusbio); } if (blinkMode) { if (key == ConsoleKey.D0) { nusbio.GPIOS[NusbioGpio.Gpio0].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D1) { nusbio.GPIOS[NusbioGpio.Gpio1].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D2) { nusbio.GPIOS[NusbioGpio.Gpio2].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D3) { nusbio.GPIOS[NusbioGpio.Gpio3].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D4) { nusbio.GPIOS[NusbioGpio.Gpio4].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D5) { nusbio.GPIOS[NusbioGpio.Gpio5].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D6) { nusbio.GPIOS[NusbioGpio.Gpio6].AsLed.SetBlinkMode(1000, 80); } if (key == ConsoleKey.D7) { nusbio.GPIOS[NusbioGpio.Gpio7].AsLed.SetBlinkMode(1000, 80); } } else { //if (key == ConsoleKey.F4) ClockGpio0(nusbio); //if (key == ConsoleKey.F5) Three5VoltDevicesDemos(nusbio); if (key == ConsoleKey.F1) { AnimateBlocking1(nusbio); } if (key == ConsoleKey.F2) { if (nusbio.IsAsynchronousSequencerOn) // If background sequencer for animation is on then turn it off if we receive any key { nusbio.CancelAsynchronousSequencer(); } else { AnimateNonBlocking2(nusbio); } } if (key == ConsoleKey.Z) { Console.Clear(); Console.WriteLine("Pulse gpio1"); ReverseGpio(_cameraGpio, nusbio); Thread.Sleep(50); ReverseGpio(_cameraGpio, nusbio); Console.WriteLine("Done"); Console.ReadKey(); } if (key == ConsoleKey.F3) { AnimateBlocking3(nusbio); } if (key == ConsoleKey.C) { Configuration(nusbio); } if (key == ConsoleKey.D0) { ReverseGpio(NusbioGpio.Gpio0, nusbio); } if (key == ConsoleKey.D1) { ReverseGpio(NusbioGpio.Gpio1, nusbio); } if (key == ConsoleKey.D2) { ReverseGpio(NusbioGpio.Gpio2, nusbio); } if (key == ConsoleKey.D3) { ReverseGpio(NusbioGpio.Gpio3, nusbio); } if (key == ConsoleKey.D4) { ReverseGpio(NusbioGpio.Gpio4, nusbio); } if (key == ConsoleKey.D5) { ReverseGpio(NusbioGpio.Gpio5, nusbio); } if (key == ConsoleKey.D6) { ReverseGpio(NusbioGpio.Gpio6, nusbio); } if (key == ConsoleKey.D7) { ReverseGpio(NusbioGpio.Gpio7, nusbio); } if (key == ConsoleKey.A) { nusbio.SetAllGpioOutputState(PinState.Low); } if (key == ConsoleKey.W) { System.Diagnostics.Process.Start(nusbio.GetWebServerUrl()); } } ShowNusbioState(nusbio); Cls(nusbio); } else { if (halfSecondTimeOut.IsTimeOut()) { ShowNusbioState(nusbio); } } } } Console.Clear(); }
public static void Run(string[] args) { Console.WriteLine("Nusbio Initializing"); var serialNumber = Nusbio.Detect(); if (serialNumber == null) // Detect the first Nusbio available { Console.WriteLine("Nusbio not detected"); return; } var halfSecondTimeOut = new TimeOut(20); using (var nusbio = new Nusbio(serialNumber: serialNumber, webServerPort: 1964)) { nusbio.UrlEvent += NusbioUrlEvent; Cls(nusbio); while (nusbio.Loop(20)) { if (Console.KeyAvailable) { var kk = Console.ReadKey(true); var blinkMode = kk.Modifiers == ConsoleModifiers.Shift; var key = kk.Key; if (key == ConsoleKey.Q) break; if (key == ConsoleKey.C) Cls(nusbio); if (nusbio.IsAsynchronousSequencerOn) // If background sequencer for animation is on then turn it off if we receive any key { nusbio.CancelAsynchronousSequencer(); continue; } if (blinkMode) { if (key == ConsoleKey.D0) nusbio.GPIOS[NusbioGpio.Gpio0].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D1) nusbio.GPIOS[NusbioGpio.Gpio1].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D2) nusbio.GPIOS[NusbioGpio.Gpio2].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D3) nusbio.GPIOS[NusbioGpio.Gpio3].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D4) nusbio.GPIOS[NusbioGpio.Gpio4].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D5) nusbio.GPIOS[NusbioGpio.Gpio5].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D6) nusbio.GPIOS[NusbioGpio.Gpio6].AsLed.SetBlinkMode(1000, 80); if (key == ConsoleKey.D7) nusbio.GPIOS[NusbioGpio.Gpio7].AsLed.SetBlinkMode(1000, 80); } else { if (key == ConsoleKey.F1) AnimateBlocking1(nusbio); if (key == ConsoleKey.F2) AnimateNonBlocking2(nusbio); if (key == ConsoleKey.F3) AnimateBlocking3(nusbio); if (key == ConsoleKey.F4) AnimateBlocking4(nusbio); if (key == ConsoleKey.D0) ReverseGpio(NusbioGpio.Gpio0, nusbio); if (key == ConsoleKey.D1) ReverseGpio(NusbioGpio.Gpio1, nusbio); if (key == ConsoleKey.D2) ReverseGpio(NusbioGpio.Gpio2, nusbio); if (key == ConsoleKey.D3) ReverseGpio(NusbioGpio.Gpio3, nusbio); if (key == ConsoleKey.D4) ReverseGpio(NusbioGpio.Gpio4, nusbio); if (key == ConsoleKey.D5) ReverseGpio(NusbioGpio.Gpio5, nusbio); if (key == ConsoleKey.D6) ReverseGpio(NusbioGpio.Gpio6, nusbio); if (key == ConsoleKey.D7) ReverseGpio(NusbioGpio.Gpio7, nusbio); if (key == ConsoleKey.A) nusbio.SetAllGpioOutputState(PinState.Low); if (key == ConsoleKey.W) System.Diagnostics.Process.Start(nusbio.GetWebServerUrl()); } ShowNusbioState(nusbio); } else { if(halfSecondTimeOut.IsTimeOut()) ShowNusbioState(nusbio); } } } Console.Clear(); }
private static bool AnimateNonBlocking2(Nusbio nusbio) { if (nusbio.IsAsynchronousSequencerOn) { nusbio.CancelAsynchronousSequencer(); return false; } else { nusbio.StartAsynchronousSequencer(100, seq: DS.List( NusbioGpio.Gpio0, NusbioGpio.Gpio1, NusbioGpio.Gpio2, NusbioGpio.Gpio3, NusbioGpio.Gpio4, NusbioGpio.Gpio5, NusbioGpio.Gpio6, NusbioGpio.Gpio7, NusbioGpio.Gpio6, NusbioGpio.Gpio5, NusbioGpio.Gpio4, NusbioGpio.Gpio3, NusbioGpio.Gpio2, NusbioGpio.Gpio1 )); return true; } }