Skip to content

Commit 6f13979

Browse files
committed
pygamer and pybadge boards were not resetting neopixels
1 parent 68f9aee commit 6f13979

File tree

9 files changed

+22
-2
lines changed

9 files changed

+22
-2
lines changed

ports/atmel-samd/boards/pybadge/board.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "shared-bindings/displayio/FourWire.h"
3232
#include "shared-module/displayio/__init__.h"
3333
#include "shared-module/displayio/mipi_constants.h"
34+
#include "supervisor/shared/board.h"
3435
#include "tick.h"
3536

3637
displayio_fourwire_obj_t board_display_obj;
@@ -118,4 +119,5 @@ bool board_requests_safe_mode(void) {
118119
}
119120

120121
void reset_board(void) {
122+
board_reset_user_neopixels();
121123
}

ports/atmel-samd/boards/pybadge/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#define MICROPY_PORT_C (0)
1515
#define MICROPY_PORT_D (0)
1616

17+
#define USER_NEOPIXELS_PIN (&pin_PA15)
18+
1719
#define DEFAULT_I2C_BUS_SCL (&pin_PA13)
1820
#define DEFAULT_I2C_BUS_SDA (&pin_PA12)
1921

ports/atmel-samd/boards/pybadge_airlift/board.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "shared-bindings/displayio/FourWire.h"
3232
#include "shared-module/displayio/__init__.h"
3333
#include "shared-module/displayio/mipi_constants.h"
34+
#include "supervisor/shared/board.h"
3435
#include "tick.h"
3536

3637
displayio_fourwire_obj_t board_display_obj;
@@ -96,4 +97,5 @@ bool board_requests_safe_mode(void) {
9697
}
9798

9899
void reset_board(void) {
100+
board_reset_user_neopixels();
99101
}

ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#define MICROPY_PORT_C (0)
1515
#define MICROPY_PORT_D (0)
1616

17+
#define USER_NEOPIXELS_PIN (&pin_PA15)
18+
1719
#define DEFAULT_I2C_BUS_SCL (&pin_PA13)
1820
#define DEFAULT_I2C_BUS_SDA (&pin_PA12)
1921

ports/atmel-samd/boards/pygamer/board.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "shared-bindings/displayio/FourWire.h"
3232
#include "shared-module/displayio/__init__.h"
3333
#include "shared-module/displayio/mipi_constants.h"
34+
#include "supervisor/shared/board.h"
3435
#include "tick.h"
3536

3637
displayio_fourwire_obj_t board_display_obj;
@@ -118,4 +119,5 @@ bool board_requests_safe_mode(void) {
118119
}
119120

120121
void reset_board(void) {
122+
board_reset_user_neopixels();
121123
}

ports/atmel-samd/boards/pygamer/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#define MICROPY_PORT_C (0)
1414
#define MICROPY_PORT_D (0)
1515

16+
#define USER_NEOPIXELS_PIN (&pin_PA15)
17+
1618
#define DEFAULT_I2C_BUS_SCL (&pin_PA13)
1719
#define DEFAULT_I2C_BUS_SDA (&pin_PA12)
1820

ports/atmel-samd/boards/pygamer_advance/board.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "shared-bindings/displayio/FourWire.h"
3232
#include "shared-module/displayio/__init__.h"
3333
#include "shared-module/displayio/mipi_constants.h"
34+
#include "supervisor/shared/board.h"
3435
#include "tick.h"
3536

3637
displayio_fourwire_obj_t board_display_obj;
@@ -96,4 +97,5 @@ bool board_requests_safe_mode(void) {
9697
}
9798

9899
void reset_board(void) {
100+
board_reset_user_neopixels();
99101
}

ports/atmel-samd/boards/pygamer_advance/mpconfigboard.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#define MICROPY_PORT_C (0)
1414
#define MICROPY_PORT_D (0)
1515

16+
#define USER_NEOPIXELS_PIN (&pin_PA15)
17+
1618
#define DEFAULT_I2C_BUS_SCL (&pin_PA13)
1719
#define DEFAULT_I2C_BUS_SDA (&pin_PA12)
1820

supervisor/shared/board.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,18 @@
3131

3232
#ifdef USER_NEOPIXELS_PIN
3333

34+
// The maximum number of user neopixels right now is 10, on Circuit Playgrounds.
35+
// PyBadge and PyGamer have max 5
36+
#define USER_NEOPIXELS_MAX_COUNT 10
37+
3438
void board_reset_user_neopixels(void) {
3539
// Turn off on-board NeoPixel string
36-
uint8_t empty[30] = { 0 };
40+
uint8_t empty[USER_NEOPIXELS_MAX_COUNT * 3] = { 0 };
3741
digitalio_digitalinout_obj_t neopixel_pin;
3842
common_hal_digitalio_digitalinout_construct(&neopixel_pin, USER_NEOPIXELS_PIN);
3943
common_hal_digitalio_digitalinout_switch_to_output(&neopixel_pin, false,
4044
DRIVE_MODE_PUSH_PULL);
41-
common_hal_neopixel_write(&neopixel_pin, empty, 30);
45+
common_hal_neopixel_write(&neopixel_pin, empty, USER_NEOPIXELS_MAX_COUNT * 3);
4246
common_hal_digitalio_digitalinout_deinit(&neopixel_pin);
4347
}
4448

0 commit comments

Comments
 (0)