@@ -280,19 +280,8 @@ extern const struct _mp_obj_module_t audiopwmio_module;
280280#define BINASCII_MODULE
281281#endif
282282
283- #if CIRCUITPY_BITBANGIO
284- #define BITBANGIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_bitbangio), (mp_obj_t)&bitbangio_module },
285- extern const struct _mp_obj_module_t bitbangio_module ;
286- #else
287- #define BITBANGIO_MODULE
288- #endif
289-
290- #if CIRCUITPY_BITMAPTOOLS
291- #define BITMAPTOOLS_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_bitmaptools), (mp_obj_t)&bitmaptools_module },
292- extern const struct _mp_obj_module_t bitmaptools_module ;
293- #else
294- #define BITMAPTOOLS_MODULE
295- #endif
283+ // CIRCUITPY_BITBANGIO uses MP_REGISTER_MODULE
284+ // CIRCUITPY_BITMAPTOOLS uses MP_REGISTER_MODULE
296285
297286#if CIRCUITPY_BITOPS
298287extern const struct _mp_obj_module_t bitops_module ;
@@ -301,17 +290,10 @@ extern const struct _mp_obj_module_t bitops_module;
301290#define BITOPS_MODULE
302291#endif
303292
304- #if CIRCUITPY_BLEIO
305- #define BLEIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__bleio), (mp_obj_t)&bleio_module },
306- extern const struct _mp_obj_module_t bleio_module ;
307- #else
308- #define BLEIO_MODULE
309- #endif
293+ // CIRCUITPY_BLEIO uses MP_REGISTER_MODULE
294+ // CIRCUITPY_BOARD uses MP_REGISTER_MODULE
310295
311296#if CIRCUITPY_BOARD
312- #define BOARD_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_board), (mp_obj_t)&board_module },
313- extern const struct _mp_obj_module_t board_module ;
314-
315297#define BOARD_I2C (defined(DEFAULT_I2C_BUS_SDA) && defined(DEFAULT_I2C_BUS_SCL))
316298#define BOARD_SPI (defined(DEFAULT_SPI_BUS_SCK) && defined(DEFAULT_SPI_BUS_MISO) && defined(DEFAULT_SPI_BUS_MOSI))
317299#define BOARD_UART (defined(DEFAULT_UART_BUS_RX) && defined(DEFAULT_UART_BUS_TX))
@@ -325,18 +307,11 @@ extern const struct _mp_obj_module_t board_module;
325307#endif
326308
327309#else
328- #define BOARD_MODULE
329310#define BOARD_UART_ROOT_POINTER
330311#endif
331312
332313// CIRCUITPY_BUSDEVICE (adafruit_bus_device_module) uses MP_REGISTER_MODULE
333-
334- #if CIRCUITPY_BUSIO
335- extern const struct _mp_obj_module_t busio_module ;
336- #define BUSIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_busio), (mp_obj_t)&busio_module },
337- #else
338- #define BUSIO_MODULE
339- #endif
314+ // CIRCUITPY_BUSIO uses MP_REGISTER_MODULE
340315
341316#if CIRCUITPY_CAMERA
342317extern const struct _mp_obj_module_t camera_module ;
@@ -352,20 +327,8 @@ extern const struct _mp_obj_module_t canio_module;
352327#define CANIO_MODULE
353328#endif
354329
355- #if CIRCUITPY_COUNTIO
356- extern const struct _mp_obj_module_t countio_module ;
357- #define COUNTIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_countio), (mp_obj_t)&countio_module },
358- #else
359- #define COUNTIO_MODULE
360- #endif
361-
362- #if CIRCUITPY_DIGITALIO
363- extern const struct _mp_obj_module_t digitalio_module ;
364- #define DIGITALIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_digitalio), (mp_obj_t)&digitalio_module },
365- #else
366- #define DIGITALIO_MODULE
367- #endif
368-
330+ // CIRCUITPY_COUNTIO uses MP_REGISTER_MODULE
331+ // CIRCUITPY_DIGITALIO uses MP_REGISTER_MODULE
369332// CIRCUITPY_DISPLAYIO uses MP_REGISTER_MODULE
370333// CIRCUITPY_TERMINALIO uses MP_REGISTER_MODULE
371334// CIRCUITPY_FONTIO uses MP_REGISTER_MODULE
@@ -409,12 +372,7 @@ extern const struct _mp_obj_module_t _eve_module;
409372#define _EVE_MODULE
410373#endif
411374
412- #if CIRCUITPY_FRAMEBUFFERIO
413- extern const struct _mp_obj_module_t framebufferio_module ;
414- #define FRAMEBUFFERIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_framebufferio), (mp_obj_t)&framebufferio_module },
415- #else
416- #define FRAMEBUFFERIO_MODULE
417- #endif
375+ // CIRCUITPY_FRAMEBUFFERIO uses MP_REGISTER_MODULE
418376
419377#if CIRCUITPY_VECTORIO
420378extern const struct _mp_obj_module_t vectorio_module ;
@@ -423,19 +381,8 @@ extern const struct _mp_obj_module_t vectorio_module;
423381#define VECTORIO_MODULE
424382#endif
425383
426- #if CIRCUITPY_FREQUENCYIO
427- extern const struct _mp_obj_module_t frequencyio_module ;
428- #define FREQUENCYIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_frequencyio), (mp_obj_t)&frequencyio_module },
429- #else
430- #define FREQUENCYIO_MODULE
431- #endif
432-
433- #if CIRCUITPY_GAMEPADSHIFT
434- extern const struct _mp_obj_module_t gamepadshift_module ;
435- #define GAMEPADSHIFT_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_gamepadshift),(mp_obj_t)&gamepadshift_module },
436- #else
437- #define GAMEPADSHIFT_MODULE
438- #endif
384+ // CIRCUITPY_FREQUENCYIO uses MP_REGISTER_MODULE
385+ // CIRCUITPY_GAMEPADSHIFT uses MP_REGISTER_MODULE
439386
440387#if CIRCUITPY_GAMEPADSHIFT
441388// Scan gamepad every 32ms
@@ -445,12 +392,7 @@ extern const struct _mp_obj_module_t gamepadshift_module;
445392#define GAMEPAD_ROOT_POINTERS
446393#endif
447394
448- #if CIRCUITPY_GETPASS
449- extern const struct _mp_obj_module_t getpass_module ;
450- #define GETPASS_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_getpass), (mp_obj_t)&getpass_module },
451- #else
452- #define GETPASS_MODULE
453- #endif
395+ // CIRCUITPY_GETPASS uses MP_REGISTER_MODULE
454396
455397#if CIRCUITPY_GNSS
456398extern const struct _mp_obj_module_t gnss_module ;
@@ -492,29 +434,15 @@ extern const struct _mp_obj_module_t ipaddress_module;
492434#define JSON_MODULE
493435#endif
494436
437+ // CIRCUITPY_KEYPAD uses MP_REGISTER_MODULE
438+
495439#if CIRCUITPY_KEYPAD
496- extern const struct _mp_obj_module_t keypad_module ;
497- #define KEYPAD_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_keypad), (mp_obj_t)&keypad_module },
498440#define KEYPAD_ROOT_POINTERS mp_obj_t keypad_scanners_linked_list;
499441#else
500- #define KEYPAD_MODULE
501442#define KEYPAD_ROOT_POINTERS
502443#endif
503444
504- #if CIRCUITPY_GAMEPADSHIFT
505- // Scan gamepadshift every 32ms
506- #define CIRCUITPY_GAMEPAD_TICKS 0x1f
507- #define GAMEPAD_ROOT_POINTERS mp_obj_t gamepad_singleton;
508- #else
509- #define GAMEPAD_ROOT_POINTERS
510- #endif
511-
512- #if CIRCUITPY_MATH
513- extern const struct _mp_obj_module_t math_module ;
514- #define MATH_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_math), (mp_obj_t)&math_module },
515- #else
516- #define MATH_MODULE
517- #endif
445+ // CIRCUITPY_MATH uses MP_REGISTER_MODULE
518446
519447#if CIRCUITPY_MEMORYMONITOR
520448extern const struct _mp_obj_module_t memorymonitor_module ;
@@ -526,12 +454,7 @@ extern const struct _mp_obj_module_t memorymonitor_module;
526454#define MEMORYMONITOR_ROOT_POINTERS
527455#endif
528456
529- #if CIRCUITPY_MICROCONTROLLER
530- extern const struct _mp_obj_module_t microcontroller_module ;
531- #define MICROCONTROLLER_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_microcontroller), (mp_obj_t)µcontroller_module },
532- #else
533- #define MICROCONTROLLER_MODULE
534- #endif
457+ // CIRCUITPY_MICROCONTROLLER uses MP_REGISTER_MODULE
535458
536459#if CIRCUITPY_NEOPIXEL_WRITE
537460extern const struct _mp_obj_module_t neopixel_write_module ;
@@ -803,12 +726,7 @@ extern const struct _mp_obj_module_t wifi_module;
803726#define WIFI_MODULE
804727#endif
805728
806- #if CIRCUITPY_MSGPACK
807- extern const struct _mp_obj_module_t msgpack_module ;
808- #define MSGPACK_MODULE { MP_ROM_QSTR(MP_QSTR_msgpack), MP_ROM_PTR(&msgpack_module) },
809- #else
810- #define MSGPACK_MODULE
811- #endif
729+ // CIRCUITPY_MSGPACK uses MP_REGISTER_MODULE
812730
813731// Define certain native modules with weak links so they can be replaced with Python
814732// implementations. This list may grow over time.
@@ -833,35 +751,20 @@ extern const struct _mp_obj_module_t msgpack_module;
833751 ALARM_MODULE \
834752 AUDIOPWMIO_MODULE \
835753 BINASCII_MODULE \
836- BITBANGIO_MODULE \
837- BITMAPTOOLS_MODULE \
838754 BITOPS_MODULE \
839- BLEIO_MODULE \
840- BOARD_MODULE \
841- BUSIO_MODULE \
842755 CAMERA_MODULE \
843756 CANIO_MODULE \
844- COUNTIO_MODULE \
845- DIGITALIO_MODULE \
846757 DUALBANK_MODULE \
847758 VECTORIO_MODULE \
848759 ERRNO_MODULE \
849760 ESPIDF_MODULE \
850761 _EVE_MODULE \
851- FRAMEBUFFERIO_MODULE \
852- FREQUENCYIO_MODULE \
853- GAMEPADSHIFT_MODULE \
854- GETPASS_MODULE \
855762 GNSS_MODULE \
856763 I2CPERIPHERAL_MODULE \
857764 IPADDRESS_MODULE \
858765 IMAGECAPTURE_MODULE \
859766 JSON_MODULE \
860- KEYPAD_MODULE \
861- MATH_MODULE \
862767 MEMORYMONITOR_MODULE \
863- MICROCONTROLLER_MODULE \
864- MSGPACK_MODULE \
865768 NEOPIXEL_WRITE_MODULE \
866769 ONEWIREIO_MODULE \
867770 PEW_MODULE \
0 commit comments