Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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;
            }
        }