summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-03-12 15:46:44 +1100
committerDamien George <damien.p.george@gmail.com>2019-03-12 15:46:44 +1100
commit297092a76a6be2d5f5da32524e91f768e95937f4 (patch)
treee16722da722a2bd6b95b44d82cf7f00103787270
parentfcace26d87a99a23e74461e0b59f740de9f40365 (diff)
esp32/mphalport: Use ets_delay_us for mp_hal_delay_us_fast.
The system provided one is in ROM and is more accurate.
-rw-r--r--ports/esp32/mphalport.c9
-rw-r--r--ports/esp32/mphalport.h2
2 files changed, 1 insertions, 10 deletions
diff --git a/ports/esp32/mphalport.c b/ports/esp32/mphalport.c
index 7992c8ded..804c71986 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 b82962779..ff39b7aa1 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);