Skip to content

Commit 66fc8af

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 92b1ec3 + f059f71 commit 66fc8af

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef PIMORONI_BADGER2040_SHARED
2+
#define PIMORONI_BADGER2040_SHARED
3+
4+
#include "shared-bindings/digitalio/DigitalInOut.h"
5+
6+
extern digitalio_digitalinout_obj_t enable_pin_obj;
7+
8+
#endif // PIMORONI_BADGER2040_SHARED

ports/raspberrypi/boards/pimoroni_badger2040/board.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
#include "shared-bindings/microcontroller/Pin.h"
3333
#include "shared-module/displayio/__init__.h"
3434
#include "supervisor/shared/board.h"
35+
#include "badger-shared.h"
36+
37+
digitalio_digitalinout_obj_t enable_pin_obj;
3538

3639
#define DELAY 0x80
3740

@@ -258,10 +261,20 @@ const uint8_t display_stop_sequence[] = {
258261
};
259262

260263
void board_init(void) {
264+
// Drive the EN_3V3 pin high so the board stays awake on battery power
265+
enable_pin_obj.base.type = &digitalio_digitalinout_type;
266+
common_hal_digitalio_digitalinout_construct(&enable_pin_obj, &pin_GPIO10);
267+
common_hal_digitalio_digitalinout_switch_to_output(&enable_pin_obj, true, DRIVE_MODE_PUSH_PULL);
268+
269+
// Never reset
270+
common_hal_digitalio_digitalinout_never_reset(&enable_pin_obj);
271+
272+
// Set up the SPI object used to control the display
261273
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
262274
common_hal_busio_spi_construct(spi, &pin_GPIO18, &pin_GPIO19, &pin_GPIO16, false);
263275
common_hal_busio_spi_never_reset(spi);
264276

277+
// Set up the DisplayIO pin object
265278
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
266279
bus->base.type = &displayio_fourwire_type;
267280
common_hal_displayio_fourwire_construct(bus,
@@ -273,6 +286,7 @@ void board_init(void) {
273286
0, // Polarity
274287
0); // Phase
275288

289+
// Set up the DisplayIO epaper object
276290
displayio_epaperdisplay_obj_t *display = &displays[0].epaper_display;
277291
display->base.type = &displayio_epaperdisplay_type;
278292
common_hal_displayio_epaperdisplay_construct(

ports/raspberrypi/boards/pimoroni_badger2040/pins.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "shared-bindings/board/__init__.h"
22

33
#include "shared-module/displayio/__init__.h"
4+
#include "badger-shared.h"
45

56
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
67
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
@@ -15,7 +16,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
1516
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
1617
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO5) },
1718

18-
{ MP_ROM_QSTR(MP_QSTR_3V3_EN), MP_ROM_PTR(&pin_GPIO10) },
19+
// { MP_ROM_QSTR(MP_QSTR_EN_3V3), MP_ROM_PTR(&pin_GPIO10) },
1920

2021
{ MP_ROM_QSTR(MP_QSTR_SW_DOWN), MP_ROM_PTR(&pin_GPIO11) },
2122
{ MP_ROM_QSTR(MP_QSTR_SW_A), MP_ROM_PTR(&pin_GPIO12) },
@@ -36,13 +37,14 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
3637
{ MP_ROM_QSTR(MP_QSTR_USER_LED), MP_ROM_PTR(&pin_GPIO25) },
3738
{ MP_ROM_QSTR(MP_QSTR_INKY_BUSY), MP_ROM_PTR(&pin_GPIO26) },
3839
{ MP_ROM_QSTR(MP_QSTR_VREF_POWER), MP_ROM_PTR(&pin_GPIO27) },
39-
{ MP_ROM_QSTR(MP_QSTR_1V2_REF), MP_ROM_PTR(&pin_GPIO28) },
40+
{ MP_ROM_QSTR(MP_QSTR_REF_1V2), MP_ROM_PTR(&pin_GPIO28) },
4041
{ MP_ROM_QSTR(MP_QSTR_VBAT_SENSE), MP_ROM_PTR(&pin_GPIO29) },
4142

4243
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
4344
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
4445
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
4546

4647
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)},
48+
{ MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)},
4749
};
4850
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

0 commit comments

Comments
 (0)