diff options
author | Damien George <damien.p.george@gmail.com> | 2016-05-26 17:11:43 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-05-26 17:11:43 +0100 |
commit | 45f3416816fd5d717887e3efdde4d3ce3ef2ff38 (patch) | |
tree | a6459b7b60c2182ffdc6a2e1bb9a764e4aba25a9 /esp8266 | |
parent | 48a7ef0576f9c1cb71a07d1c01183b3872e2f762 (diff) |
esp8266: Enable DHT C-level driver.
Exposed as esp.dht_readinto. Probably should go somewhere less
port-specific.
Diffstat (limited to 'esp8266')
-rw-r--r-- | esp8266/Makefile | 7 | ||||
-rw-r--r-- | esp8266/esp_mphal.h | 4 | ||||
-rw-r--r-- | esp8266/modesp.c | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/esp8266/Makefile b/esp8266/Makefile index 2d65b4bd6..9a7602702 100644 --- a/esp8266/Makefile +++ b/esp8266/Makefile @@ -124,6 +124,10 @@ LIB_SRC_C = $(addprefix lib/,\ fatfs/option/ccsbcs.c \ ) +DRIVERS_SRC_C = $(addprefix drivers/,\ + dht/dht.c \ + ) + SRC_S = \ gchelper.s \ @@ -134,10 +138,11 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o)) OBJ += $(addprefix $(BUILD)/, $(STM_SRC_C:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(EXTMOD_SRC_C:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(LIB_SRC_C:.c=.o)) +OBJ += $(addprefix $(BUILD)/, $(DRIVERS_SRC_C:.c=.o)) #OBJ += $(BUILD)/pins_$(BOARD).o # List of sources for qstr extraction -SRC_QSTR += $(SRC_C) $(STM_SRC_C) $(EXTMOD_SRC_C) +SRC_QSTR += $(SRC_C) $(STM_SRC_C) $(EXTMOD_SRC_C) $(DRIVERS_SRC_C) # Append any auto-generated sources that are needed by sources listed in SRC_QSTR SRC_QSTR_AUTO_DEPS += diff --git a/esp8266/esp_mphal.h b/esp8266/esp_mphal.h index 866a5a94b..91fee2119 100644 --- a/esp8266/esp_mphal.h +++ b/esp8266/esp_mphal.h @@ -28,6 +28,7 @@ #define _INCLUDED_MPHAL_H_ #include "py/ringbuf.h" +#include "xtirq.h" void mp_keyboard_interrupt(void); extern int interrupt_char; @@ -62,6 +63,9 @@ void ets_event_poll(void); #include "osapi.h" #define mp_hal_delay_us_fast(us) os_delay_us(us) +#define mp_hal_quiet_timing_enter() disable_irq() +#define mp_hal_quiet_timing_exit(irq_state) enable_irq(irq_state) + // C-level pin HAL #include "etshal.h" #include "gpio.h" diff --git a/esp8266/modesp.c b/esp8266/modesp.c index 4b0c0e466..0c6cc423e 100644 --- a/esp8266/modesp.c +++ b/esp8266/modesp.c @@ -34,6 +34,7 @@ #include "py/runtime.h" #include "py/mperrno.h" #include "py/mphal.h" +#include "drivers/dht/dht.h" #include "netutils.h" #include "queue.h" #include "ets_sys.h" @@ -691,6 +692,7 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = { #endif { MP_OBJ_NEW_QSTR(MP_QSTR_neopixel_write), (mp_obj_t)&esp_neopixel_write_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_apa102_write), (mp_obj_t)&esp_apa102_write_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_dht_readinto), (mp_obj_t)&dht_readinto_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_freemem), (mp_obj_t)&esp_freemem_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_meminfo), (mp_obj_t)&esp_meminfo_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_info), (mp_obj_t)&pyb_info_obj }, // TODO delete/rename/move elsewhere |