From a099d21b59c84a5e312b2d0a3284521ee4b8928c Mon Sep 17 00:00:00 2001 From: Amir Gonnen Date: Sat, 23 Nov 2019 22:54:11 +0200 Subject: [PATCH] ESP32: parameterize modules Fixed dependencies for lodepng --- ports/esp32/mpconfigport.h | 44 ++++++++++++++++++++++++++++++-------- py/py.mk | 2 +- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/ports/esp32/mpconfigport.h b/ports/esp32/mpconfigport.h index 169004e37..2838cc2c9 100644 --- a/ports/esp32/mpconfigport.h +++ b/ports/esp32/mpconfigport.h @@ -163,9 +163,11 @@ void *esp_native_code_commit(void*, size_t); #define MICROPY_PY_USOCKET_EVENTS (MICROPY_PY_WEBREPL) #define MICROPY_PY_BLUETOOTH_RANDOM_ADDR (1) #define MICROPY_PY_BLUETOOTH_DEFAULT_NAME ("ESP32") + #define MICROPY_PY_LVGL (1) #define MICROPY_PY_ESPIDF (1) -#define MICROPY_PY_LODEPNG (1) +#define MICROPY_PY_LODEPNG (0) +#define MICROPY_PY_RTCH (1) // fatfs configuration #define MICROPY_FATFS_ENABLE_LFN (1) @@ -199,10 +201,37 @@ extern const struct _mp_obj_module_t mp_module_espidf; extern const struct _mp_obj_module_t mp_module_lvesp32; extern const struct _mp_obj_module_t mp_module_rtch; extern const struct _mp_obj_module_t mp_module_lodepng; - // extern const struct _mp_obj_module_t mp_module_ILI9341; // extern const struct _mp_obj_module_t mp_module_xpt2046; +#if MICROPY_PY_LVGL +#define MICROPY_PORT_LVGL_DEF \ + { MP_OBJ_NEW_QSTR(MP_QSTR_lvgl), (mp_obj_t)&mp_module_lvgl }, \ + { MP_OBJ_NEW_QSTR(MP_QSTR_lvesp32), (mp_obj_t)&mp_module_lvesp32 }, +// { MP_OBJ_NEW_QSTR(MP_QSTR_ILI9341), (mp_obj_t)&mp_module_ILI9341 }, +// { MP_OBJ_NEW_QSTR(MP_QSTR_xpt2046), (mp_obj_t)&mp_module_xpt2046 }, +#else +#define MICROPY_PORT_LVGL_DEF +#endif + +#if MICROPY_PY_ESPIDF +#define MICROPY_PORT_ESPIDF_DEF { MP_OBJ_NEW_QSTR(MP_QSTR_espidf), (mp_obj_t)&mp_module_espidf }, +#else +#define MICROPY_PORT_ESPIDF_DEF +#endif + +#if MICROPY_PY_LODEPNG +#define MICROPY_PORT_LODEPNG_DEF { MP_OBJ_NEW_QSTR(MP_QSTR_lodepng), (mp_obj_t)&mp_module_lodepng }, +#else +#define MICROPY_PORT_LODEPNG_DEF +#endif + +#if MICROPY_PY_RTCH +#define MICROPY_PORT_RTCH_DEF { MP_OBJ_NEW_QSTR(MP_QSTR_rtch), (mp_obj_t)&mp_module_rtch }, +#else +#define MICROPY_PORT_RTCH_DEF +#endif + #define MICROPY_PORT_BUILTIN_MODULES \ { MP_OBJ_NEW_QSTR(MP_QSTR_esp), (mp_obj_t)&esp_module }, \ { MP_OBJ_NEW_QSTR(MP_QSTR_esp32), (mp_obj_t)&esp32_module }, \ @@ -213,13 +242,10 @@ extern const struct _mp_obj_module_t mp_module_lodepng; { MP_OBJ_NEW_QSTR(MP_QSTR_network), (mp_obj_t)&mp_module_network }, \ { MP_OBJ_NEW_QSTR(MP_QSTR__onewire), (mp_obj_t)&mp_module_onewire }, \ { MP_OBJ_NEW_QSTR(MP_QSTR_uhashlib), (mp_obj_t)&mp_module_uhashlib }, \ - { MP_OBJ_NEW_QSTR(MP_QSTR_lvgl), (mp_obj_t)&mp_module_lvgl }, \ - { MP_OBJ_NEW_QSTR(MP_QSTR_espidf), (mp_obj_t)&mp_module_espidf }, \ - { MP_OBJ_NEW_QSTR(MP_QSTR_lvesp32), (mp_obj_t)&mp_module_lvesp32 }, \ - { MP_OBJ_NEW_QSTR(MP_QSTR_rtch), (mp_obj_t)&mp_module_rtch }, - -// { MP_OBJ_NEW_QSTR(MP_QSTR_ILI9341), (mp_obj_t)&mp_module_ILI9341 }, -// { MP_OBJ_NEW_QSTR(MP_QSTR_xpt2046), (mp_obj_t)&mp_module_xpt2046 }, + MICROPY_PORT_LVGL_DEF \ + MICROPY_PORT_ESPIDF_DEF \ + MICROPY_PORT_LODEPNG_DEF \ + MICROPY_PORT_RTCH_DEF #define MP_STATE_PORT MP_STATE_VM diff --git a/py/py.mk b/py/py.mk index 66fe4ce63..5ec1ed35a 100644 --- a/py/py.mk +++ b/py/py.mk @@ -56,7 +56,7 @@ $(LODEPNG_MODULE): $(ALL_LODEPNG_SRC) $(LVGL_BINDING_DIR)/gen/gen_mpy.py $(Q)$(CPP) $(LODEPNG_CFLAGS) $(INC) -I $(LVGL_BINDING_DIR)/pycparser/utils/fake_libc_include $(LODEPNG_DIR)/lodepng.h > $(LODEPNG_PP) $(Q)$(PYTHON) $(LVGL_BINDING_DIR)/gen/gen_mpy.py -M lodepng -E $(LODEPNG_PP) $(LODEPNG_DIR)/lodepng.h > $@ -$(LODEPNG_C): $(LODEPNG_DIR)/lodepng.cpp +$(LODEPNG_C): $(LODEPNG_DIR)/lodepng.cpp $(LODEPNG_DIR)/* $(Q)mkdir -p $(dir $@) cp $< $@