Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SoftSpiChannel"/> class.
        /// </summary>
        /// <param name="csPin">The cs pin.</param>
        /// <param name="misoPin">The miso pin.</param>
        /// <param name="mosiPin">The mosi pin.</param>
        /// <param name="clockPin">The clock pin.</param>
        /// <param name="baudRate">The baud rate.</param>
        /// <param name="flags">The flags.</param>
        internal SoftSpiChannel(GpioPin csPin, GpioPin misoPin, GpioPin mosiPin, GpioPin clockPin, int baudRate, SoftSpiFlags flags)
        {
            BoardException.ValidateResult(Spi.BbSPIOpen(
                                              (UserGpio)csPin.PinNumber,
                                              (UserGpio)misoPin.PinNumber,
                                              (UserGpio)mosiPin.PinNumber,
                                              (UserGpio)clockPin.PinNumber,
                                              Convert.ToUInt32(baudRate),
                                              flags));

            Handle        = (UserGpio)csPin.PinNumber;
            ChipSelectPin = csPin;
            MosiPin       = mosiPin;
            MisoPin       = misoPin;
            ClockPin      = clockPin;
            BaudRate      = baudRate;
            Flags         = flags;
        }
Esempio n. 2
0
 public static extern ResultCode BbSPIOpen(UserGpio csPin, UserGpio misoPin, UserGpio mosiPin, UserGpio clockPin, uint baudRate, SoftSpiFlags spiFlags);
 /// <summary>
 /// Opens a software based (bit-banged) SPI channel
 /// </summary>
 /// <param name="csPin">The cs pin.</param>
 /// <param name="misoPin">The miso pin.</param>
 /// <param name="mosiPin">The mosi pin.</param>
 /// <param name="clockPin">The clock pin.</param>
 /// <param name="baudRate">The baud rate.</param>
 /// <param name="flags">The flags.</param>
 /// <returns>The SPI channel</returns>
 public SoftSpiChannel OpenSoftSpiChannel(GpioPin csPin, GpioPin misoPin, GpioPin mosiPin, GpioPin clockPin, int baudRate, SoftSpiFlags flags)
 => new SoftSpiChannel(csPin, misoPin, mosiPin, clockPin, baudRate, flags);