예제 #1
0
        /// <summary>
        /// Instantiates a Max7219/7221 LED driver, using the netduino's hard SPI interface by default:
        /// If multiple Max7219/7221 chips are chained together, the CS pin must be controlled by the caller instead of the netduino handling it.
        /// CLK = pin 13
        /// MOSI = pin 11
        /// CS = pin 10
        /// </summary>
        /// <param name="chipSelect">Chip Select pin.</param>
        /// <param name="spiModule">SPI module, SPI 1 is used by default.</param>
        /// <param name="speedKHz">Speed of the SPI bus in kHz. Set @ 10MHz by default (max chip speed).</param>
        public Max72197221(Cpu.Pin chipSelect, SPI.SPI_module spiModule = SPI.SPI_module.SPI1, uint speedKHz = (uint)10000)
        {
            var extendedSpiConfig = new ExtendedSpiConfiguration(
                SPI_mod: spiModule,
                ChipSelect_Port: chipSelect,
                ChipSelect_ActiveState: false,
                ChipSelect_SetupTime: 0,
                ChipSelect_HoldTime: 0,
                Clock_IdleState: false,
                Clock_Edge: true,
                Clock_RateKHz: speedKHz,
                BitsPerTransfer: 16);

            Spi = new SPI(extendedSpiConfig);

            DigitScanLimitSafety = true;

            SpiBuffer = new ushort[1];
        }
예제 #2
0
        public AdaFruitST7735(
            Cpu.Pin chipSelect, 
            Cpu.Pin dc, 
            Cpu.Pin reset, 
            SPI.SPI_module spiModule = SPI.SPI_module.SPI1, 
            uint speedKHz = (uint)9500, 
            VirtualMemory vm = null)
        {
            Width = 128;
            Height = 160;

            AutoRefreshScreen = false;

            DataCommand = new OutputPort(dc, false);
            Reset = new OutputPort(reset, true);

            var extendedSpiConfig = new ExtendedSpiConfiguration(
                SPI_mod: spiModule,
                ChipSelect_Port: chipSelect,
                ChipSelect_ActiveState: false,
                ChipSelect_SetupTime: 0,
                ChipSelect_HoldTime: 0,
                Clock_IdleState: false,
                Clock_Edge: true,
                Clock_RateKHz: speedKHz,
                BitsPerTransfer: 8);

            Spi = new SPI(extendedSpiConfig);

            if (vm == null) {
                SpiBuffer = new byte[Width * Height * sizeof(ushort)];
                MemoryWriteFunction = SpiBufferWrite;
            } else {
                VM = vm;
                MemoryWriteFunction = VirtualMemoryWrite;
            }

            Initialize();
        }
        public AdaFruitST7735(Cpu.Pin chipSelect, Cpu.Pin dc, Cpu.Pin reset, SPI.SPI_module spiModule = SPI.SPI_module.SPI1, uint speedKHz = (uint)9500) {

            AutoRefreshScreen = false;

            DataCommand = new OutputPort(dc, false);
            Reset = new OutputPort(reset, true);

            var extendedSpiConfig = new ExtendedSpiConfiguration(
                SPI_mod: spiModule,
                ChipSelect_Port: chipSelect,
                ChipSelect_ActiveState: false,
                ChipSelect_SetupTime: 0,
                ChipSelect_HoldTime: 0,
                Clock_IdleState: false,
                Clock_Edge: true,
                Clock_RateKHz: speedKHz,
                BitsPerTransfer: 8);

            Spi = new SPI(extendedSpiConfig);

            Initialize();
        }