From 297092a76a6be2d5f5da32524e91f768e95937f4 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 12 Mar 2019 15:46:44 +1100 Subject: [PATCH] esp32/mphalport: Use ets_delay_us for mp_hal_delay_us_fast. The system provided one is in ROM and is more accurate. --- ports/esp32/mphalport.c | 9 --------- ports/esp32/mphalport.h | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/ports/esp32/mphalport.c b/ports/esp32/mphalport.c index 7992c8dedf..804c719869 100644 --- a/ports/esp32/mphalport.c +++ b/ports/esp32/mphalport.c @@ -148,15 +148,6 @@ void mp_hal_delay_us(uint32_t us) { } } -// this function could do with improvements (eg use ets_delay_us) -void mp_hal_delay_us_fast(uint32_t us) { - uint32_t delay = ets_get_cpu_frequency() / 19; - while (--us) { - for (volatile uint32_t i = delay; i; --i) { - } - } -} - /* extern int mp_stream_errno; int *__errno() { diff --git a/ports/esp32/mphalport.h b/ports/esp32/mphalport.h index b829627792..ff39b7aa1c 100644 --- a/ports/esp32/mphalport.h +++ b/ports/esp32/mphalport.h @@ -47,7 +47,7 @@ __attribute__((always_inline)) static inline uint32_t mp_hal_ticks_cpu(void) { } void mp_hal_delay_us(uint32_t); -void mp_hal_delay_us_fast(uint32_t); +#define mp_hal_delay_us_fast(us) ets_delay_us(us) void mp_hal_set_interrupt_char(int c); uint32_t mp_hal_get_cpu_freq(void);