aboutsummaryrefslogtreecommitdiff
path: root/extmod
diff options
context:
space:
mode:
Diffstat (limited to 'extmod')
-rw-r--r--extmod/machine_spi.c4
-rw-r--r--extmod/machine_spi.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/extmod/machine_spi.c b/extmod/machine_spi.c
index 3a34b7fb0..b0bd76faf 100644
--- a/extmod/machine_spi.c
+++ b/extmod/machine_spi.c
@@ -34,8 +34,10 @@
void mp_machine_soft_spi_transfer(mp_obj_base_t *self_in, size_t len, const uint8_t *src, uint8_t *dest) {
mp_machine_soft_spi_obj_t *self = (mp_machine_soft_spi_obj_t*)self_in;
+ uint32_t delay_half = self->delay_half;
+
// only MSB transfer is implemented
- uint32_t delay_half = 500000 / self->baudrate + 1;
+
for (size_t i = 0; i < len; ++i) {
uint8_t data_out = src[i];
uint8_t data_in = 0;
diff --git a/extmod/machine_spi.h b/extmod/machine_spi.h
index e1922c6e8..316d06646 100644
--- a/extmod/machine_spi.h
+++ b/extmod/machine_spi.h
@@ -37,7 +37,7 @@ typedef struct _mp_machine_spi_p_t {
typedef struct _mp_machine_soft_spi_obj_t {
mp_obj_base_t base;
- uint32_t baudrate;
+ uint32_t delay_half; // microsecond delay for half SCK period
uint8_t polarity;
uint8_t phase;
mp_hal_pin_obj_t sck;