~ruther/qmk_firmware

f3ac792c096c10c9dd5004e6e06aad60710ef599 — Ryan 4 years ago b3de903
Align ChibiOS spi_master behaviour with AVR (#11404)

* Align ChibiOS spi_master behaviour with AVR

* Rollback `spi_transmit()` and `spi_receive()` to preserve DMA
1 files changed, 8 insertions(+), 2 deletions(-)

M drivers/chibios/spi_master.c
M drivers/chibios/spi_master.c => drivers/chibios/spi_master.c +8 -2
@@ 115,11 115,17 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
    return true;
}

spi_status_t spi_write(uint8_t data) { return spi_transmit(&data, 1); }
spi_status_t spi_write(uint8_t data) {
    uint8_t rxData;
    spiExchange(&SPI_DRIVER, 1, &data, &rxData);

    return rxData;
}

spi_status_t spi_read(void) {
    uint8_t data = 0;
    spi_receive(&data, 1);
    spiReceive(&SPI_DRIVER, 1, &data);

    return data;
}