diff options
author | Timofey Titovets <nefelim4ag@gmail.com> | 2025-05-22 23:29:51 +0200 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2025-05-26 18:44:29 -0400 |
commit | 28a4baf95cf5bb24b4697f85c67badab42b4a9f8 (patch) | |
tree | dba4932316232571463b88d27c42d7728698a44c /src | |
parent | 14685bf77f9ea4c950e8be8ad870c7221c3d82a4 (diff) | |
download | kutter-28a4baf95cf5bb24b4697f85c67badab42b4a9f8.tar.gz kutter-28a4baf95cf5bb24b4697f85c67badab42b4a9f8.tar.xz kutter-28a4baf95cf5bb24b4697f85c67badab42b4a9f8.zip |
spi_software: add a delay on mode change
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/spi_software.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/spi_software.c b/src/spi_software.c index 73cd8788..9a03b8dd 100644 --- a/src/spi_software.c +++ b/src/spi_software.c @@ -40,17 +40,20 @@ DECL_COMMAND(command_spi_set_sw_bus, "spi_set_sw_bus oid=%c miso_pin=%u mosi_pin=%u sclk_pin=%u" " mode=%u pulse_ticks=%u"); +static void +spi_delay(uint32_t end) +{ + while (timer_is_before(timer_read_time(), end)); +} + void spi_software_prepare(struct spi_software *ss) { gpio_out_write(ss->sclk, ss->mode & 0x02); + uint32_t end = timer_read_time() + ss->sck_ticks; + spi_delay(end); } -static void -spi_delay(uint32_t end) -{ - while (timer_is_before(timer_read_time(), end)); -} void spi_software_transfer(struct spi_software *ss, uint8_t receive_data |