Merge remote-tracking branch 'adafruit/main' into pulseout_switch

This commit is contained in:
Scott Shawcroft 2021-07-26 18:48:59 -07:00
commit daf90aae83
No known key found for this signature in database
GPG Key ID: 0DFD512649C052DA
16 changed files with 87 additions and 39 deletions

View File

@ -140,8 +140,7 @@ Behavior
- Autoreload is disabled while the REPL is active.
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
``main.txt``
- Boot is one of these: ``settings.txt``, ``settings.py``, ``boot.py``,
``boot.txt``
- Boot is one of these: ``boot.py``, ``boot.txt``
API
~~~

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-07-23 12:45+0000\n"
"PO-Revision-Date: 2021-07-24 15:35+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
@ -1222,7 +1222,7 @@ msgstr "Erro de entrada/saída"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#, c-format
msgid "Missing jmp_pin. Instruction %d jumps on pin"
msgstr ""
msgstr "Falta o jmp_pin. A instrução %d salta no pino"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#, c-format

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-07-22 18:33+0000\n"
"PO-Revision-Date: 2021-07-24 15:35+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n"
@ -1207,7 +1207,7 @@ msgstr "Indata-/utdatafel"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#, c-format
msgid "Missing jmp_pin. Instruction %d jumps on pin"
msgstr ""
msgstr "Saknar jmp_pin. Instruktion %d hoppar på pin"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#, c-format
@ -2846,7 +2846,7 @@ msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "cannot assign new shape"
msgstr ""
msgstr "kan inte tilldela en ny form"
#: extmod/ulab/code/ndarray_operators.c
msgid "cannot cast output with casting rule"
@ -3600,7 +3600,7 @@ msgstr "memoryview: längden är inte en multipel av itemsize"
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "mode must be complete, or reduced"
msgstr ""
msgstr "mode måste vara complete, eller reduced"
#: py/builtinimport.c
msgid "module not found"
@ -3846,11 +3846,11 @@ msgstr "operander kan inte sändas tillsammans"
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "operation is defined for 2D arrays only"
msgstr ""
msgstr "operation definierad endast för 2D-matriser"
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "operation is defined for ndarrays only"
msgstr ""
msgstr "operation definierad endast för ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "operation is implemented for 1D Boolean arrays only"

2
main.c
View File

@ -631,7 +631,7 @@ STATIC void __attribute__ ((noinline)) run_boot_py(safe_mode_t safe_mode) {
&& safe_mode == NO_SAFE_MODE
&& MP_STATE_VM(vfs_mount_table) != NULL;
static const char * const boot_py_filenames[] = STRING_LIST("settings.txt", "settings.py", "boot.py", "boot.txt");
static const char * const boot_py_filenames[] = STRING_LIST("boot.py", "boot.txt");
bool skip_boot_output = false;
if (ok_to_run) {

View File

@ -21,6 +21,7 @@ CIRCUITPY_RTC = 0
CIRCUITPY_USB_MIDI = 0
CIRCUITPY_PIXELBUF = 1
CIRCUITPY_BUSDEVICE = 1
# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID

View File

@ -3,6 +3,9 @@
#define MICROPY_HW_LED_STATUS (&pin_PA17)
#define MICROPY_HW_NEOPIXEL (&pin_PB23)
#define MICROPY_HW_NEOPIXEL_COUNT (10)
// Don't allow touch on A0 (PA02), because it's connected to the speaker.
#define PA02_NO_TOUCH (true)

View File

@ -3,6 +3,9 @@
#define MICROPY_HW_LED_STATUS (&pin_PA17)
#define MICROPY_HW_NEOPIXEL (&pin_PB23)
#define MICROPY_HW_NEOPIXEL_COUNT (10)
// Don't allow touch on A0 (PA02), because it's connected to the speaker.
#define PA02_NO_TOUCH (true)

View File

@ -3,6 +3,9 @@
#define MICROPY_HW_LED_STATUS (&pin_PA17)
#define MICROPY_HW_NEOPIXEL (&pin_PB23)
#define MICROPY_HW_NEOPIXEL_COUNT (10)
// Don't allow touch on A0 (PA02), because it's connected to the speaker.
#define PA02_NO_TOUCH (true)

View File

@ -33,14 +33,7 @@
#include "nrf_gpio.h"
void board_init(void) {
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
// Turn off board.POWER_SWITCH (power-saving switch) on each soft reload, to prevent confusion.
// Turn on power to sensors and neopixels.
nrf_gpio_cfg(POWER_SWITCH_PIN->number,
NRF_GPIO_PIN_DIR_OUTPUT,
NRF_GPIO_PIN_INPUT_DISCONNECT,
@ -48,6 +41,23 @@ void reset_board(void) {
NRF_GPIO_PIN_S0S1,
NRF_GPIO_PIN_NOSENSE);
nrf_gpio_pin_write(POWER_SWITCH_PIN->number, false);
}
void board_deinit(void) {
// Turn off power to sensors and neopixels.
nrf_gpio_cfg(POWER_SWITCH_PIN->number,
NRF_GPIO_PIN_DIR_OUTPUT,
NRF_GPIO_PIN_INPUT_DISCONNECT,
NRF_GPIO_PIN_NOPULL,
NRF_GPIO_PIN_S0S1,
NRF_GPIO_PIN_NOSENSE);
nrf_gpio_pin_write(POWER_SWITCH_PIN->number, true);
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
board_reset_user_neopixels(&pin_P0_13, 10);
}

View File

@ -32,6 +32,9 @@
#define MICROPY_HW_LED_STATUS (&pin_P1_14)
#define MICROPY_HW_NEOPIXEL (&pin_P0_13)
#define MICROPY_HW_NEOPIXEL_COUNT (10)
// Board does not have a 32kHz crystal. It does have a 32MHz crystal.
#define BOARD_HAS_32KHZ_XTAL (0)

View File

@ -7,6 +7,6 @@ USB_MANUFACTURER = "Arduino"
CHIP_VARIANT = RP2040
CHIP_FAMILY = rp2
EXTERNAL_FLASH_DEVICES = "AT25SF128A"
EXTERNAL_FLASH_DEVICES = "AT25SF128A, IS25LP128F"
CIRCUITPY__EVE = 1

View File

@ -0,0 +1,26 @@
/*
GNU linker script for STM32F411 without nvm and an external flash chip.
No space is reserved for a filesystem.
*/
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K /* entire flash */
FLASH_ISR (rx) : ORIGIN = 0x08000000, LENGTH = 16K /* sector 0 */
FLASH_FIRMWARE (rx) : ORIGIN = 0x08004000, LENGTH = 496K /* sectors 1,2,3 are 16k, sector 4 is 64K, sectors 5,6,7 are 128K */
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
}
/* produce a link error if there is not this amount of RAM for these sections */
_minimum_stack_size = 24K;
_minimum_heap_size = 16K;
/* Define the top end of the stack. The stack is full descending so begins just
above last byte of RAM. Note that EABI requires the stack to be 8-byte
aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM);
/* RAM extents for the garbage collector */
_ram_start = ORIGIN(RAM);
_ram_end = ORIGIN(RAM) + LENGTH(RAM);

View File

@ -50,7 +50,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_SDIO_COMMAND), MP_ROM_PTR(&pin_PD02) },
{ MP_ROM_QSTR(MP_QSTR_SDIO_DATA), MP_ROM_PTR(&sdio_data_tuple) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_CAN_RX), MP_ROM_PTR(&pin_PB09) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_CAN_TX), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_CAN_RX), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_CAN_TX), MP_ROM_PTR(&pin_PB09) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

View File

@ -15,11 +15,4 @@ MCU_VARIANT = STM32F411xE
MCU_PACKAGE = UFQFPN48
LD_COMMON = boards/common_default.ld
LD_FILE = boards/STM32F411_nvm_nofs.ld
# Too big for the flash
CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_AUDIOPWMIO = 0
CIRCUITPY_SYNTHIO = 0
CIRCUITPY_BITMAPTOOLS = 0
CIRCUITPY_VECTORIO = 0
LD_FILE = boards/STM32F411_nofs.ld

View File

@ -220,7 +220,7 @@ const mcu_periph_obj_t mcu_sdio_data3_list[1] = {
// CAN
CAN_TypeDef *mcu_can_banks[2] = {CAN1, CAN2};
const mcu_periph_obj_t mcu_can_tx_list[6] = {
const mcu_periph_obj_t mcu_can_rx_list[6] = {
PERIPH(1, 9, &pin_PA11),
PERIPH(1, 9, &pin_PB08),
PERIPH(1, 9, &pin_PD00),
@ -230,7 +230,7 @@ const mcu_periph_obj_t mcu_can_tx_list[6] = {
PERIPH(2, 9, &pin_PB05),
};
const mcu_periph_obj_t mcu_can_rx_list[6] = {
const mcu_periph_obj_t mcu_can_tx_list[6] = {
PERIPH(1, 9, &pin_PA12),
PERIPH(1, 9, &pin_PB09),
PERIPH(1, 9, &pin_PD01),

View File

@ -39,9 +39,14 @@ static digitalio_digitalinout_obj_t _status_power;
#ifdef MICROPY_HW_NEOPIXEL
uint8_t rgb_status_brightness = 63;
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "shared-bindings/neopixel_write/__init__.h"
static uint8_t status_neopixel_color[3];
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "shared-bindings/neopixel_write/__init__.h"
#ifndef MICROPY_HW_NEOPIXEL_COUNT
#define MICROPY_HW_NEOPIXEL_COUNT (1)
#endif
static uint8_t status_neopixel_color[3 * MICROPY_HW_NEOPIXEL_COUNT];
static digitalio_digitalinout_obj_t status_neopixel;
#elif defined(MICROPY_HW_APA102_MOSI) && defined(MICROPY_HW_APA102_SCK)
@ -240,10 +245,12 @@ void new_status_color(uint32_t rgb) {
#endif
#ifdef MICROPY_HW_NEOPIXEL
status_neopixel_color[0] = (rgb_adjusted >> 8) & 0xff;
status_neopixel_color[1] = (rgb_adjusted >> 16) & 0xff;
status_neopixel_color[2] = rgb_adjusted & 0xff;
common_hal_neopixel_write(&status_neopixel, status_neopixel_color, 3);
for (size_t i = 0; i < MICROPY_HW_NEOPIXEL_COUNT; i++) {
status_neopixel_color[3 * i + 0] = (rgb_adjusted >> 8) & 0xff;
status_neopixel_color[3 * i + 1] = (rgb_adjusted >> 16) & 0xff;
status_neopixel_color[3 * i + 2] = rgb_adjusted & 0xff;
}
common_hal_neopixel_write(&status_neopixel, status_neopixel_color, 3 * MICROPY_HW_NEOPIXEL_COUNT);
#elif defined(MICROPY_HW_APA102_MOSI) && defined(MICROPY_HW_APA102_SCK)
status_apa102_color[5] = rgb_adjusted & 0xff;