protected SPI(SPIChipSelect cs, SPIBitOrder bitOrder, SPIClockDivider clockDivider, SPIMode mode) { this._cs = cs; this._bitOrder = bitOrder; this._clockDivider = clockDivider; this._mode = mode; }
public RaspSPI(SPIMode DataMode, SPIBitOrder BitOrder, SPIClockDivider ClockDivider, ChipSelect ChipSelect, bool ChipSelectPolarity) { RaspExtern.SPI.bcm2835_spi_begin(); this.DataMode = DataMode; this.BitOrder = BitOrder; this.ClockDivider = ClockDivider; this.ChipSelect = ChipSelect; this.ChipSelectPolarity = ChipSelectPolarity; }
public void EnableSPI(SPIMode DataMode = SPIMode.MODE1, SPIBitOrder BitOrder = SPIBitOrder.Order_MSBFIRST, SPIClockDivider ClockDivider = SPIClockDivider.Divider_256, ChipSelect ChipSelect = ChipSelect.CS0, bool ChipSelectPolarity = false) { if (spi != null) { spi.Dispose(); } spi = new RaspSPI(DataMode, BitOrder, ClockDivider, ChipSelect, ChipSelectPolarity); }
// void beginTransaction(SPISettings settings); // private const int SPI_BEGIN_TRANSACTION = 1208; public void beginTransaction( uint clock = 1000000, SPIBitOrder bitOrder = SPIBitOrder.MSBFIRST, SPIMode dataMode = SPIMode.MODE0) { Esp32If.GpioExtent[] exts = new Esp32If.GpioExtent[] { new Esp32If.GpioExtent(), new Esp32If.GpioExtent() }; /* * p1=spiBus * p2=clock ## extension ## ##int bitOrder ##int dataMode */ exts[0].Contents = esp32If.IntToBytes((int)bitOrder); exts[1].Contents = esp32If.IntToBytes((int)dataMode); esp32If.GpioCommandExt(SPI_BEGIN_TRANSACTION, (int)spiBus, (int)clock, exts); }
// void setBitOrder(uint8_t bitOrder); // private const int SPI_SET_BIT_ORDER = 1203; public void setBitOrder(SPIBitOrder bitOrder) { esp32If.GpioCommand(SPI_SET_BIT_ORDER, (int)spiBus, (int)bitOrder); }
protected static extern void bcm2835_spi_setBitOrder(SPIBitOrder order);
public static void SetBitOrder(SPIBitOrder order) { bcm2835_spi_setBitOrder(order); }
public static extern void bcm2835_spi_setBitOrder(SPIBitOrder order);