elpekenin/spi_custom.h
¶
Some patching on QMK’s spi_master.h
driver, to allow using multiple buses.
Caution
- The following must be set up:
SPI_DRIVERS
SPI_SCK_PINS
SPI_MOSI_PINS
SPI_MISO_PINS
They will be automatically configured with their single-driver counterparts, if available.
-
bool spi_custom_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor, uint8_t n)¶
[source] Set up the
n
’th driver for a transmission.- Parameters:
slavePin – The chip select pin for the target device.
lsbFirst – Whether Least Significant Bit is sent first or last.
mode – SPI clocks’ mode (0-3).
divisor – Control the clock’s speed.
n – Index of the driver to be used.
- Returns:
Whether operation was successful.
-
spi_status_t spi_custom_write(uint8_t data, uint8_t n)¶
[source] Send a single byte (
data
) over then
’th driver.
-
spi_status_t spi_custom_read(uint8_t n)¶
[source] Read a single byte (return) over the
n
’th driver.
-
spi_status_t spi_custom_transmit(const uint8_t *data, uint16_t length, uint8_t n)¶
[source] Send
length
bytes fromdata
over then
’th driver.
-
spi_status_t spi_custom_receive(uint8_t *data, uint16_t length, uint8_t n)¶
[source] Read
length
bytes intodata
over then
’th driver.
-
void spi_custom_stop(uint8_t n)¶
[source] Undo the settings performced by
spi_custom_start()