diff options
Diffstat (limited to 'atmel-samd/boards')
| -rw-r--r-- | atmel-samd/boards/arduino_zero/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/board.h | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/circuitplayground_express/board.c | 16 | ||||
| -rw-r--r-- | atmel-samd/boards/feather_m0_adalogger/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/feather_m0_basic/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/feather_m0_express/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/gemma_m0/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/metro_m0_express/board.c | 3 | ||||
| -rw-r--r-- | atmel-samd/boards/trinket_m0/board.c | 6 |
9 files changed, 41 insertions, 2 deletions
diff --git a/atmel-samd/boards/arduino_zero/board.c b/atmel-samd/boards/arduino_zero/board.c index 519e5db1a..419280274 100644 --- a/atmel-samd/boards/arduino_zero/board.c +++ b/atmel-samd/boards/arduino_zero/board.c @@ -44,3 +44,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/board.h b/atmel-samd/boards/board.h index a5d96c550..72f3563a9 100644 --- a/atmel-samd/boards/board.h +++ b/atmel-samd/boards/board.h @@ -39,4 +39,7 @@ void board_init(void); // way. bool board_requests_safe_mode(void); +// Reset the state of off MCU components such as neopixels. +void reset_board(void); + #endif // __MICROPY_INCLUDED_ATMEL_SAMD_BOARDS_BOARD_H__ diff --git a/atmel-samd/boards/circuitplayground_express/board.c b/atmel-samd/boards/circuitplayground_express/board.c index 9ed56d952..3b7ccff46 100644 --- a/atmel-samd/boards/circuitplayground_express/board.c +++ b/atmel-samd/boards/circuitplayground_express/board.c @@ -24,9 +24,14 @@ * THE SOFTWARE. */ +#include <string.h> + #include "boards/board.h" #include "asf/sam0/drivers/port/port.h" #include "common-hal/microcontroller/Pin.h" +#include "shared-bindings/digitalio/DigitalInOut.h" +#include "shared-bindings/neopixel_write/__init__.h" +#include "samd21_pins.h" void board_init(void) { @@ -47,3 +52,14 @@ bool board_requests_safe_mode(void) { reset_pin(PIN_PA28); return safe_mode; } + +void reset_board(void) { + uint8_t empty[30]; + memset(empty, 0, 30); + digitalio_digitalinout_obj_t neopixel_pin; + common_hal_digitalio_digitalinout_construct(&neopixel_pin, &pin_PB23); + common_hal_digitalio_digitalinout_switch_to_output(&neopixel_pin, false, + DRIVE_MODE_PUSH_PULL); + common_hal_neopixel_write(&neopixel_pin, empty, 30); + common_hal_digitalio_digitalinout_deinit(&neopixel_pin); +} diff --git a/atmel-samd/boards/feather_m0_adalogger/board.c b/atmel-samd/boards/feather_m0_adalogger/board.c index 06e67e11c..1ecbe167c 100644 --- a/atmel-samd/boards/feather_m0_adalogger/board.c +++ b/atmel-samd/boards/feather_m0_adalogger/board.c @@ -33,3 +33,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/feather_m0_basic/board.c b/atmel-samd/boards/feather_m0_basic/board.c index 06e67e11c..1ecbe167c 100644 --- a/atmel-samd/boards/feather_m0_basic/board.c +++ b/atmel-samd/boards/feather_m0_basic/board.c @@ -33,3 +33,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/feather_m0_express/board.c b/atmel-samd/boards/feather_m0_express/board.c index 06e67e11c..1ecbe167c 100644 --- a/atmel-samd/boards/feather_m0_express/board.c +++ b/atmel-samd/boards/feather_m0_express/board.c @@ -33,3 +33,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/gemma_m0/board.c b/atmel-samd/boards/gemma_m0/board.c index 06e67e11c..1ecbe167c 100644 --- a/atmel-samd/boards/gemma_m0/board.c +++ b/atmel-samd/boards/gemma_m0/board.c @@ -33,3 +33,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/metro_m0_express/board.c b/atmel-samd/boards/metro_m0_express/board.c index 519e5db1a..419280274 100644 --- a/atmel-samd/boards/metro_m0_express/board.c +++ b/atmel-samd/boards/metro_m0_express/board.c @@ -44,3 +44,6 @@ void board_init(void) bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} diff --git a/atmel-samd/boards/trinket_m0/board.c b/atmel-samd/boards/trinket_m0/board.c index 06e67e11c..221463146 100644 --- a/atmel-samd/boards/trinket_m0/board.c +++ b/atmel-samd/boards/trinket_m0/board.c @@ -26,10 +26,12 @@ #include "boards/board.h" -void board_init(void) -{ +void board_init(void) { } bool board_requests_safe_mode(void) { return false; } + +void reset_board(void) { +} |
