ESP32: parameterize modules

Fixed dependencies for lodepng
This commit is contained in:
Amir Gonnen 2019-11-23 22:54:11 +02:00
parent 0f7889a4ad
commit a099d21b59
2 changed files with 36 additions and 10 deletions

View File

@ -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

View File

@ -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 $< $@