Ejemplo n.º 1
0
        public NativeSpi(Socket socket, Socket.SocketInterfaces.SpiConfiguration configuration, Socket.SocketInterfaces.SpiSharing sharing, Cpu.Pin chipSelectPin, Module module, Microsoft.SPOT.Hardware.SPI.SPI_module spiModule)
        {
            _hardwareInstance = GetAndUseInstance(socket, sharing, module, spiModule);
            _chipSelectPin    = chipSelectPin;
            _configuration    = ToNativeConfiguration(configuration, chipSelectPin, spiModule);

            if (_hardwareInstance.Interface == null && _configuration != null)
            {
                _hardwareInstance.Interface = new Microsoft.SPOT.Hardware.SPI(_configuration);
            }
        }
Ejemplo n.º 2
0
        private static Microsoft.SPOT.Hardware.SPI.Configuration ToNativeConfiguration(Socket.SocketInterfaces.SpiConfiguration config, Cpu.Pin chipSelectPin, Microsoft.SPOT.Hardware.SPI.SPI_module spiModule)
        {
            if (config == null)
            {
                return(new Microsoft.SPOT.Hardware.SPI.Configuration(chipSelectPin, false, 0, 0, false, false, 0, spiModule));
            }

            return(new Microsoft.SPOT.Hardware.SPI.Configuration(
                       chipSelectPin,
                       config.IsChipSelectActiveHigh,
                       config.ChipSelectSetupTime,
                       config.ChipSelectHoldTime,
                       config.IsClockIdleHigh,
                       config.IsClockSamplingEdgeRising,
                       config.ClockRateKHz,
                       spiModule));
        }