diff --git a/ports/nrf/boards/microbit/modules/boardmodules.h b/ports/nrf/boards/microbit/modules/boardmodules.h index 58df653e91..da50395280 100644 --- a/ports/nrf/boards/microbit/modules/boardmodules.h +++ b/ports/nrf/boards/microbit/modules/boardmodules.h @@ -29,9 +29,4 @@ #include "modmicrobit.h" -extern const struct _mp_obj_module_t microbit_module; - -#define BOARD_MODULES \ - { MP_ROM_QSTR(MP_QSTR_microbit), MP_ROM_PTR(µbit_module) }, \ - #endif // MICROPY_INCLUDED_NRF_BOARD_MICROBIT_BOARD_MODULES_H diff --git a/ports/nrf/boards/microbit/modules/modmicrobit.c b/ports/nrf/boards/microbit/modules/modmicrobit.c index b4cd3b4f18..bb721357de 100644 --- a/ports/nrf/boards/microbit/modules/modmicrobit.c +++ b/ports/nrf/boards/microbit/modules/modmicrobit.c @@ -156,3 +156,5 @@ const mp_obj_module_t microbit_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)µbit_module_globals, }; + +MP_REGISTER_MODULE(MP_QSTR_microbit, microbit_module, 1); diff --git a/ports/nrf/modules/ble/modble.c b/ports/nrf/modules/ble/modble.c index 2b6dd6e223..6726c63c48 100644 --- a/ports/nrf/modules/ble/modble.c +++ b/ports/nrf/modules/ble/modble.c @@ -102,4 +102,6 @@ const mp_obj_module_t ble_module = { .globals = (mp_obj_dict_t*)&ble_module_globals, }; +MP_REGISTER_MODULE(MP_QSTR_ble, ble_module, MICROPY_PY_BLE); + #endif // MICROPY_PY_BLE diff --git a/ports/nrf/modules/board/modboard.c b/ports/nrf/modules/board/modboard.c index 647af5035b..45dd9f30ee 100644 --- a/ports/nrf/modules/board/modboard.c +++ b/ports/nrf/modules/board/modboard.c @@ -53,3 +53,5 @@ const mp_obj_module_t board_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&board_module_globals, }; + +MP_REGISTER_MODULE(MP_QSTR_board, board_module, 1); diff --git a/ports/nrf/modules/music/modmusic.c b/ports/nrf/modules/music/modmusic.c index e7e351f859..c8c6775de8 100644 --- a/ports/nrf/modules/music/modmusic.c +++ b/ports/nrf/modules/music/modmusic.c @@ -509,4 +509,6 @@ const mp_obj_module_t music_module = { .globals = (mp_obj_dict_t*)µbit_music_locals_dict, }; +MP_REGISTER_MODULE(MP_QSTR_music, music_module, MICROPY_PY_MUSIC); + #endif // MICROPY_PY_MUSIC diff --git a/ports/nrf/modules/nrf/modnrf.c b/ports/nrf/modules/nrf/modnrf.c index fc217b1d7e..ab7d043f46 100644 --- a/ports/nrf/modules/nrf/modnrf.c +++ b/ports/nrf/modules/nrf/modnrf.c @@ -95,4 +95,6 @@ const mp_obj_module_t nrf_module = { .globals = (mp_obj_dict_t *)&nrf_module_globals, }; +MP_REGISTER_MODULE(MP_QSTR_nrf, nrf_module, MICROPY_PY_NRF); + #endif // MICROPY_PY_NRF diff --git a/ports/nrf/modules/ubluepy/modubluepy.c b/ports/nrf/modules/ubluepy/modubluepy.c index b306c065b2..d888b6dd51 100644 --- a/ports/nrf/modules/ubluepy/modubluepy.c +++ b/ports/nrf/modules/ubluepy/modubluepy.c @@ -67,4 +67,6 @@ const mp_obj_module_t mp_module_ubluepy = { .globals = (mp_obj_dict_t*)&mp_module_ubluepy_globals, }; +MP_REGISTER_MODULE(MP_QSTR_ubluepy, mp_module_ubluepy, MICROPY_PY_UBLUEPY); + #endif // MICROPY_PY_UBLUEPY diff --git a/ports/nrf/modules/uos/moduos.c b/ports/nrf/modules/uos/moduos.c index e8a3790dac..ea60df7a66 100644 --- a/ports/nrf/modules/uos/moduos.c +++ b/ports/nrf/modules/uos/moduos.c @@ -196,3 +196,5 @@ const mp_obj_module_t mp_module_uos = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&os_module_globals, }; + +MP_REGISTER_MODULE(MP_QSTR_uos, mp_module_uos, 1); diff --git a/ports/nrf/modules/utime/modutime.c b/ports/nrf/modules/utime/modutime.c index bb29141011..6fe2da4746 100644 --- a/ports/nrf/modules/utime/modutime.c +++ b/ports/nrf/modules/utime/modutime.c @@ -54,3 +54,5 @@ const mp_obj_module_t mp_module_utime = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&time_module_globals, }; + +MP_REGISTER_MODULE(MP_QSTR_utime, mp_module_utime, 1); diff --git a/ports/nrf/mpconfigport.h b/ports/nrf/mpconfigport.h index 7a6e282e86..05e35956d9 100644 --- a/ports/nrf/mpconfigport.h +++ b/ports/nrf/mpconfigport.h @@ -226,65 +226,10 @@ extern const struct _mp_obj_module_t mp_module_uos; extern const struct _mp_obj_module_t mp_module_ubluepy; extern const struct _mp_obj_module_t music_module; -#if MICROPY_PY_NRF -#define NRF_MODULE { MP_ROM_QSTR(MP_QSTR_nrf), MP_ROM_PTR(&nrf_module) }, -#else -#define NRF_MODULE -#endif - -#if MICROPY_PY_UBLUEPY -#define UBLUEPY_MODULE { MP_ROM_QSTR(MP_QSTR_ubluepy), MP_ROM_PTR(&mp_module_ubluepy) }, -#else -#define UBLUEPY_MODULE -#endif - -#if MICROPY_PY_MUSIC -#define MUSIC_MODULE { MP_ROM_QSTR(MP_QSTR_music), MP_ROM_PTR(&music_module) }, -#else -#define MUSIC_MODULE -#endif - #if BOARD_SPECIFIC_MODULES #include "boardmodules.h" -#define MICROPY_BOARD_BUILTINS BOARD_MODULES -#else -#define MICROPY_BOARD_BUILTINS #endif // BOARD_SPECIFIC_MODULES -#if BLUETOOTH_SD - -#if MICROPY_PY_BLE -extern const struct _mp_obj_module_t ble_module; -#define BLE_MODULE { MP_ROM_QSTR(MP_QSTR_ble), MP_ROM_PTR(&ble_module) }, -#else -#define BLE_MODULE -#endif - -#define MICROPY_PORT_BUILTIN_MODULES \ - { MP_ROM_QSTR(MP_QSTR_board), MP_ROM_PTR(&board_module) }, \ - { MP_ROM_QSTR(MP_QSTR_utime), MP_ROM_PTR(&mp_module_utime) }, \ - { MP_ROM_QSTR(MP_QSTR_time), MP_ROM_PTR(&mp_module_utime) }, \ - { MP_ROM_QSTR(MP_QSTR_uos), MP_ROM_PTR(&mp_module_uos) }, \ - BLE_MODULE \ - MUSIC_MODULE \ - UBLUEPY_MODULE \ - MICROPY_BOARD_BUILTINS \ - NRF_MODULE \ - - -#else -extern const struct _mp_obj_module_t ble_module; -#define MICROPY_PORT_BUILTIN_MODULES \ - { MP_ROM_QSTR(MP_QSTR_board), MP_ROM_PTR(&board_module) }, \ - { MP_ROM_QSTR(MP_QSTR_utime), MP_ROM_PTR(&mp_module_utime) }, \ - { MP_ROM_QSTR(MP_QSTR_uos), MP_ROM_PTR(&mp_module_uos) }, \ - MUSIC_MODULE \ - MICROPY_BOARD_BUILTINS \ - NRF_MODULE \ - - -#endif // BLUETOOTH_SD - // extra built in names to add to the global namespace #define MICROPY_PORT_BUILTINS \ { MP_ROM_QSTR(MP_QSTR_help), MP_ROM_PTR(&mp_builtin_help_obj) }, \