public RegisterManager(IIODevice device, ISpiBus spiBus, IPin chipSelectPin)
        {
            // Chip select pin configuration
            ChipSelectGpioPin = device.CreateDigitalOutputPort(chipSelectPin, initialState: true);

            Rfm9XLoraModem = new SpiPeripheral(spiBus, ChipSelectGpioPin);
        }
        public EPDBase(IIODevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin, IPin busyPin)
        {
            dataCommandPort = device.CreateDigitalOutputPort(dcPin, false);
            resetPort       = device.CreateDigitalOutputPort(resetPin, true);
            busyPort        = device.CreateDigitalInputPort(busyPin);

            spi = new SpiPeripheral(spiBus, device.CreateDigitalOutputPort(chipSelectPin));

            imageBuffer = new byte[Width * Height / 8];

            for (int i = 0; i < Width * Height / 8; i++)
            {
                imageBuffer[i] = 0xff;
            }

            Initialize();
        }
Example #3
0
        public void ConfigureSpiPort()
        {
            try
            {
                ChipEnable = Device.CreateDigitalOutputPort(Device.Pins.D09, initialState: false);
                if (ChipEnable == null)
                {
                    Console.WriteLine("chipEnable == null");
                }

                var spiClockConfiguration = new SpiClockConfiguration(2000, SpiClockConfiguration.Mode.Mode0);
                spiBus = Device.CreateSpiBus(Device.Pins.SCK,
                                             Device.Pins.MOSI,
                                             Device.Pins.MISO,
                                             spiClockConfiguration);
                if (spiBus == null)
                {
                    Console.WriteLine("spiBus == null");
                }

                Console.WriteLine("Creating SPI NSS Port...");
                spiPeriphChipSelect = Device.CreateDigitalOutputPort(Device.Pins.D10, initialState: true);
                if (spiPeriphChipSelect == null)
                {
                    Console.WriteLine("spiPeriphChipSelect == null");
                }

                Console.WriteLine("nrf24L01Device Device...");
                nrf24L01Device = new SpiPeripheral(spiBus, spiPeriphChipSelect);
                if (nrf24L01Device == null)
                {
                    Console.WriteLine("nrf24L01Device == null");
                }

                Thread.Sleep(100);

                Console.WriteLine("ConfigureSpiPort Done...");
            }
            catch (Exception ex)
            {
                Console.WriteLine("ConfigureSpiPort " + ex.Message);
            }
        }
Example #4
0
        public EpdColorBase(IIODevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin, IPin busyPin,
                            int width, int height)
        {
            this.width  = width;
            this.height = height;

            dataCommandPort = device.CreateDigitalOutputPort(dcPin, false);
            resetPort       = device.CreateDigitalOutputPort(resetPin, true);
            busyPort        = device.CreateDigitalInputPort(busyPin);

            spi = new SpiPeripheral(spiBus, device.CreateDigitalOutputPort(chipSelectPin));

            blackImageBuffer = new byte[Width * Height / 8];
            colorImageBuffer = new byte[Width * Height / 8];

            for (int i = 0; i < blackImageBuffer.Length; i++)
            {
                blackImageBuffer[i] = 0xFF;
                colorImageBuffer[i] = 0xFF;
            }

            Initialize();
        }