/// <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; }
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);