Example #1
0
        public int ReadPin(string name)
        {
            GPIOPinDriver drv = GetDriver(name);

            if (drv == null)
            {
                Console.WriteLine("Driver not found");
                return(0);
            }
            if (drv.State == GPIOPinDriver.GPIOState.High)
            {
                return(1);
            }
            return(0);
        }
Example #2
0
        public GPIORepository()
        {
            _boiler = new Boiler();

            elementPin = new GPIOPinDriver(GPIOPinDriver.Pin.GPIO14);
            // Set it as an output pin.
            elementPin.Direction = GPIOPinDriver.GPIODirection.Out;
            // Give it power.
            elementPin.State = GPIOPinDriver.GPIOState.Low;

            pumpPin = new GPIOPinDriver(GPIOPinDriver.Pin.GPIO15);
            // Set it as an output pin.
            pumpPin.Direction = GPIOPinDriver.GPIODirection.Out;
            // Give it power.
            pumpPin.State = GPIOPinDriver.GPIOState.Low;
        }
Example #3
0
        /*
         * public void DoTest()
         * {
         *
         *  GPIOPinDriver drv = new GPIOPinDriver(GPIOPinDriver.Pin.GPIO17, _bSimulationMode);
         *  drv.Direction = GPIOPinDriver.GPIODirection.Out;
         *
         *  for (int n = 0; n < 10; n++)
         *  {
         *      drv.State = GPIOPinDriver.GPIOState.High;
         *      Thread.Sleep(100);
         *      drv.State = GPIOPinDriver.GPIOState.Low;
         *      Thread.Sleep(100);
         *  }
         *
         *
         *  drv.Unexport();
         *
         * }*/


        public void PulsePin(string name, int nDurationMs)
        {
            Task <string> obTask = Task.Run(() =>
            {
                GPIOPinDriver drv = GetDriver(name);
                if (drv == null)
                {
                    Console.WriteLine("Driver not found");
                    return("Not OK");
                }
                Console.WriteLine("Switch on:" + name);
                drv.State = GPIOPinDriver.GPIOState.High;
                Thread.Sleep(nDurationMs);
                drv.State = GPIOPinDriver.GPIOState.Low;
                Console.WriteLine("Switch off:" + name);
                return("OK");
            });
        }