Skip to content

Commit bcf7549

Browse files
committed
Make board optionally mutable
1 parent 6ead6b4 commit bcf7549

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

ports/espressif/boards/yoto_mini_2024/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#define MICROPY_HW_BOARD_NAME "Yoto Mini 2024"
1212
#define MICROPY_HW_MCU_NAME "ESP32"
1313

14+
#define CIRCUITPY_MUTABLE_BOARD (1)
15+
1416
#define CIRCUITPY_BOARD_I2C (1)
1517
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO25, .sda = &pin_GPIO21}}
1618
#define CIRCUITPY_BOARD_I2C_SPEED (400000)

ports/espressif/boards/yoto_player_v3/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#define MICROPY_HW_BOARD_NAME "Yoto Player V3"
1212
#define MICROPY_HW_MCU_NAME "ESP32"
1313

14+
#define CIRCUITPY_MUTABLE_BOARD (1)
15+
1416
#define CIRCUITPY_BOARD_I2C (1)
1517
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO25, .sda = &pin_GPIO21}}
1618
#define CIRCUITPY_BOARD_I2C_SPEED (400000)

py/circuitpy_mpconfig.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,10 @@ typedef long mp_off_t;
317317

318318
// Default board buses.
319319

320+
#ifndef CIRCUITPY_MUTABLE_BOARD
321+
#define CIRCUITPY_MUTABLE_BOARD (0)
322+
#endif
323+
320324
#ifndef CIRCUITPY_BOARD_I2C
321325
#if defined(DEFAULT_I2C_BUS_SCL) && defined(DEFAULT_I2C_BUS_SDA)
322326
#define CIRCUITPY_BOARD_I2C (1)

shared-bindings/board/__init__.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@
1111

1212
#include "shared-bindings/microcontroller/Pin.h" // for the pin definitions
1313

14+
#if CIRCUITPY_MUTABLE_BOARD
1415
extern mp_obj_dict_t board_module_globals;
16+
#else
17+
extern const mp_obj_dict_t board_module_globals;
18+
#endif
1519
static const MP_DEFINE_STR_OBJ(board_module_id_obj, CIRCUITPY_BOARD_ID);
1620

1721
mp_obj_t common_hal_board_get_i2c(const mp_int_t instance);

0 commit comments

Comments
 (0)