diff options
author | Eric Poulsen <eric@zyxod.com> | 2017-09-29 09:00:55 -0700 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-12-13 14:48:53 +1100 |
commit | 5adc133f051172ebbc5b6fb3d8913599f5df3c06 (patch) | |
tree | 7ff11893ac699ffd999cadb23814fc3f9bf3f5dc | |
parent | b74809c70a78cc7fd7796f46776b17f8cf6ad3a4 (diff) |
esp32/mphalport.h: Make mp_hal_pin_<dir> select gpio on the pad.
Otherwise interfaces like software I2C and SPI don't initialise correctly.
-rw-r--r-- | ports/esp32/mphalport.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ports/esp32/mphalport.h b/ports/esp32/mphalport.h index 8a0f1dc8b..3215bc062 100644 --- a/ports/esp32/mphalport.h +++ b/ports/esp32/mphalport.h @@ -59,12 +59,15 @@ mp_hal_pin_obj_t machine_pin_get_id(mp_obj_t pin_in); #define mp_obj_get_pin(o) machine_pin_get_id(o) // legacy name; only to support esp8266/modonewire #define mp_hal_pin_name(p) (p) static inline void mp_hal_pin_input(mp_hal_pin_obj_t pin) { + gpio_pad_select_gpio(pin); gpio_set_direction(pin, GPIO_MODE_INPUT); } static inline void mp_hal_pin_output(mp_hal_pin_obj_t pin) { + gpio_pad_select_gpio(pin); gpio_set_direction(pin, GPIO_MODE_INPUT_OUTPUT); } static inline void mp_hal_pin_open_drain(mp_hal_pin_obj_t pin) { + gpio_pad_select_gpio(pin); gpio_set_direction(pin, GPIO_MODE_INPUT_OUTPUT_OD); } static inline void mp_hal_pin_od_low(mp_hal_pin_obj_t pin) { |