Skip to content

Commit 674a302

Browse files
authored
updating pycubed firmware for mainboardv05 :)
1 parent 7ce3f25 commit 674a302

File tree

8 files changed

+64
-67
lines changed

8 files changed

+64
-67
lines changed

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,12 @@
2424
* THE SOFTWARE.
2525
*/
2626

27-
28-
#include <string.h>
29-
3027
#include "supervisor/board.h"
31-
#include "py/mpconfig.h"
32-
#include "shared-bindings/nvm/ByteArray.h"
28+
#include "mpconfigboard.h"
3329
#include "common-hal/microcontroller/Pin.h"
3430
#include "hal/include/hal_gpio.h"
3531
#include "shared-bindings/pwmio/PWMOut.h"
3632

37-
nvm_bytearray_obj_t bootcnt = {
38-
.base = {
39-
.type = &nvm_bytearray_type
40-
},
41-
.len = (uint32_t)8192,
42-
.start_address = (uint8_t *)(0x00080000 - 8192)
43-
};
44-
45-
4633
void board_init(void) {
4734
pwmio_pwmout_obj_t pwm;
4835
common_hal_pwmio_pwmout_construct(&pwm, &pin_PA23, 4096, 2, false);
@@ -54,8 +41,4 @@ bool board_requests_safe_mode(void) {
5441
}
5542

5643
void reset_board(void) {
57-
uint8_t value_out = 0;
58-
common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out);
59-
++value_out;
60-
common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1);
6144
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11

2-
#define MICROPY_HW_BOARD_NAME "PyCubedv04"
2+
#define MICROPY_HW_BOARD_NAME "PyCubedv05"
33
#define MICROPY_HW_MCU_NAME "samd51j19"
44
#define CIRCUITPY_MCU_FAMILY samd51
55

6-
#define MICROPY_HW_LED_STATUS (&pin_PA16)
76
#define MICROPY_HW_NEOPIXEL (&pin_PA21)
87

98
#define AUTORESET_DELAY_MS 500
@@ -15,6 +14,8 @@
1514
// External flash W25Q80DV
1615
#define EXTERNAL_FLASH_QSPI_DUAL
1716

17+
#define CIRCUITPY_DRIVE_LABEL "PYCUBED"
18+
1819
#define BOARD_HAS_CRYSTAL 1
1920

2021
#define DEFAULT_I2C_BUS_SCL (&pin_PB13)

ports/atmel-samd/boards/pycubed/mpconfigboard.mk

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,29 @@ CHIP_VARIANT = SAMD51J19A
77
CHIP_FAMILY = samd51
88

99
QSPI_FLASH_FILESYSTEM = 1
10+
EXTERNAL_FLASH_DEVICE_COUNT = 1
1011
EXTERNAL_FLASH_DEVICES = W25Q80DV
1112
LONGINT_IMPL = MPZ
1213

13-
CIRCUITPY_DRIVE_LABEL = "PYCUBED"
14+
CIRCUITPY_ULAB = 1
15+
CIRCUITPY_BINASCII = 1
16+
CIRCUITPY_SDCARDIO = 1
17+
CIRCUITPY_JSON = 1
18+
CIRCUITPY_MSGPACK = 1
1419

15-
# Not needed.
20+
# no SAMD51 support... yet ;)
21+
# CIRCUITPY_ALARM = 1
22+
# CIRCUITPY_DUALBANK=1
23+
24+
# Not needed
1625
CIRCUITPY_AUDIOBUSIO = 0
17-
CIRCUITPY_BITMAPTOOLS = 0
1826
CIRCUITPY_DISPLAYIO = 0
1927
CIRCUITPY_FRAMEBUFFERIO = 0
2028
CIRCUITPY_KEYPAD = 0
2129
CIRCUITPY_RGBMATRIX = 0
2230
CIRCUITPY_PS2IO = 0
31+
CIRCUITPY_BLEIO_HCI=0
32+
CIRCUITPY_BLEIO=0
2333

2434
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2535
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
26-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD

ports/atmel-samd/boards/pycubed/pins.c

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
#include "shared-bindings/board/__init__.h"
2-
#include "supervisor/board.h"
32

43
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
54
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
65

76
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA13) },
87
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA12) },
98
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA14) },
10-
{ MP_ROM_QSTR(MP_QSTR_xSDCS), MP_ROM_PTR(&pin_PA27) },
9+
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA27) },
1110

1211
{ MP_ROM_QSTR(MP_QSTR_RELAY_A), MP_ROM_PTR(&pin_PB15) },
1312
{ MP_ROM_QSTR(MP_QSTR_BURN1), MP_ROM_PTR(&pin_PB31) },
1413
{ MP_ROM_QSTR(MP_QSTR_BURN2), MP_ROM_PTR(&pin_PA15) },
1514

15+
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
16+
{ MP_ROM_QSTR(MP_QSTR_EN_RF), MP_ROM_PTR(&pin_PA04) },
17+
{ MP_ROM_QSTR(MP_QSTR_AIN5), MP_ROM_PTR(&pin_PA05) },
1618
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA06) },
1719
{ MP_ROM_QSTR(MP_QSTR_L1PROG), MP_ROM_PTR(&pin_PA07) },
18-
{ MP_ROM_QSTR(MP_QSTR_AIN4), MP_ROM_PTR(&pin_PA04) },
19-
{ MP_ROM_QSTR(MP_QSTR_AIN5), MP_ROM_PTR(&pin_PA05) },
20+
2021
{ MP_ROM_QSTR(MP_QSTR_CHRG), MP_ROM_PTR(&pin_PB08) },
21-
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
22+
{ MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_PA16) },
2223
{ MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_PA17) },
23-
{ MP_ROM_QSTR(MP_QSTR_PA18), MP_ROM_PTR(&pin_PA18) },
24+
{ MP_ROM_QSTR(MP_QSTR_VBUS_RST), MP_ROM_PTR(&pin_PA18) },
2425
{ MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_PA19) },
2526
{ MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_PA20) },
2627
{ MP_ROM_QSTR(MP_QSTR_PA22), MP_ROM_PTR(&pin_PA22) },
@@ -31,20 +32,24 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
3132

3233
{ MP_ROM_QSTR(MP_QSTR_RF1_RST), MP_ROM_PTR(&pin_PB00) },
3334
{ MP_ROM_QSTR(MP_QSTR_RF1_CS), MP_ROM_PTR(&pin_PB30) },
34-
{ MP_ROM_QSTR(MP_QSTR_RF1_IO0), MP_ROM_PTR(&pin_PB05) },
3535
{ MP_ROM_QSTR(MP_QSTR_RF1_IO4), MP_ROM_PTR(&pin_PB04) },
36+
{ MP_ROM_QSTR(MP_QSTR_RF1_IO0), MP_ROM_PTR(&pin_PB05) },
3637

37-
{ MP_ROM_QSTR(MP_QSTR_RF2_RST), MP_ROM_PTR(&pin_PB14) },
38+
{ MP_ROM_QSTR(MP_QSTR_RF2_IO0), MP_ROM_PTR(&pin_PB06) },
39+
{ MP_ROM_QSTR(MP_QSTR_RF2_IO4), MP_ROM_PTR(&pin_PB07) },
3840
{ MP_ROM_QSTR(MP_QSTR_RF2_CS), MP_ROM_PTR(&pin_PB09) },
39-
{ MP_ROM_QSTR(MP_QSTR_RF2_IO1), MP_ROM_PTR(&pin_PB06) },
40-
{ MP_ROM_QSTR(MP_QSTR_RF2_BSY), MP_ROM_PTR(&pin_PB07) },
41+
{ MP_ROM_QSTR(MP_QSTR_RF2_RST), MP_ROM_PTR(&pin_PB14) },
4142

4243
{ MP_ROM_QSTR(MP_QSTR_EN_GPS), MP_ROM_PTR(&pin_PB01) },
4344
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
4445
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
46+
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PA17) },
47+
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PA16) },
4548

4649
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB12) },
4750
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB13) },
51+
{ MP_ROM_QSTR(MP_QSTR_SCL2), MP_ROM_PTR(&pin_PA16) },
52+
{ MP_ROM_QSTR(MP_QSTR_SDA2), MP_ROM_PTR(&pin_PA17) },
4853

4954
{ MP_ROM_QSTR(MP_QSTR_WDT_WDI), MP_ROM_PTR(&pin_PA23) },
5055
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA21) },

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,12 @@
2424
* THE SOFTWARE.
2525
*/
2626

27-
28-
#include <string.h>
29-
3027
#include "supervisor/board.h"
31-
#include "py/mpconfig.h"
32-
#include "shared-bindings/nvm/ByteArray.h"
28+
#include "mpconfigboard.h"
3329
#include "common-hal/microcontroller/Pin.h"
3430
#include "hal/include/hal_gpio.h"
3531
#include "shared-bindings/pwmio/PWMOut.h"
3632

37-
nvm_bytearray_obj_t bootcnt = {
38-
.base = {
39-
.type = &nvm_bytearray_type
40-
},
41-
.len = (uint32_t)8192,
42-
.start_address = (uint8_t *)(0x00080000 - 8192)
43-
};
44-
45-
4633
void board_init(void) {
4734
pwmio_pwmout_obj_t pwm;
4835
common_hal_pwmio_pwmout_construct(&pwm, &pin_PA23, 4096, 2, false);
@@ -54,8 +41,4 @@ bool board_requests_safe_mode(void) {
5441
}
5542

5643
void reset_board(void) {
57-
uint8_t value_out = 0;
58-
common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out);
59-
++value_out;
60-
common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1);
6144
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#define MICROPY_HW_BOARD_NAME "PyCubedv04-MRAM"
1+
2+
#define MICROPY_HW_BOARD_NAME "PyCubedv05-MRAM"
23
#define MICROPY_HW_MCU_NAME "samd51j19"
34
#define CIRCUITPY_MCU_FAMILY samd51
45

5-
#define MICROPY_HW_LED_STATUS (&pin_PA16)
66
#define MICROPY_HW_NEOPIXEL (&pin_PA21)
77

88
// External flash MR2xH40 MRAM
@@ -15,6 +15,8 @@
1515

1616
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
1717

18+
#define CIRCUITPY_DRIVE_LABEL "PYCUBED"
19+
1820
#define BOARD_HAS_CRYSTAL 1
1921

2022
#define DEFAULT_I2C_BUS_SCL (&pin_PB13)

ports/atmel-samd/boards/pycubed_mram/mpconfigboard.mk

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,25 @@ QSPI_FLASH_FILESYSTEM = 1
1010
EXTERNAL_FLASH_DEVICES = MR2xH40
1111
LONGINT_IMPL = MPZ
1212

13-
CIRCUITPY_DRIVE_LABEL = "PYCUBED"
13+
CIRCUITPY_ULAB = 1
14+
CIRCUITPY_BINASCII = 1
15+
CIRCUITPY_SDCARDIO = 1
16+
CIRCUITPY_JSON = 1
17+
CIRCUITPY_MSGPACK = 1
1418

15-
# Not needed.
19+
# no SAMD51 support... yet ;)
20+
# CIRCUITPY_ALARM = 1
21+
# CIRCUITPY_DUALBANK=1
22+
23+
# Not needed
1624
CIRCUITPY_AUDIOBUSIO = 0
17-
CIRCUITPY_BITMAPTOOLS = 0
1825
CIRCUITPY_DISPLAYIO = 0
1926
CIRCUITPY_FRAMEBUFFERIO = 0
2027
CIRCUITPY_KEYPAD = 0
2128
CIRCUITPY_RGBMATRIX = 0
2229
CIRCUITPY_PS2IO = 0
30+
CIRCUITPY_BLEIO_HCI=0
31+
CIRCUITPY_BLEIO=0
2332

2433
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2534
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
26-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD

ports/atmel-samd/boards/pycubed_mram/pins.c

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,22 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
77
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA13) },
88
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA12) },
99
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA14) },
10-
{ MP_ROM_QSTR(MP_QSTR_xSDCS), MP_ROM_PTR(&pin_PA27) },
10+
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA27) },
1111

1212
{ MP_ROM_QSTR(MP_QSTR_RELAY_A), MP_ROM_PTR(&pin_PB15) },
1313
{ MP_ROM_QSTR(MP_QSTR_BURN1), MP_ROM_PTR(&pin_PB31) },
1414
{ MP_ROM_QSTR(MP_QSTR_BURN2), MP_ROM_PTR(&pin_PA15) },
1515

16+
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
17+
{ MP_ROM_QSTR(MP_QSTR_EN_RF), MP_ROM_PTR(&pin_PA04) },
18+
{ MP_ROM_QSTR(MP_QSTR_AIN5), MP_ROM_PTR(&pin_PA05) },
1619
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA06) },
1720
{ MP_ROM_QSTR(MP_QSTR_L1PROG), MP_ROM_PTR(&pin_PA07) },
18-
{ MP_ROM_QSTR(MP_QSTR_AIN4), MP_ROM_PTR(&pin_PA04) },
19-
{ MP_ROM_QSTR(MP_QSTR_AIN5), MP_ROM_PTR(&pin_PA05) },
21+
2022
{ MP_ROM_QSTR(MP_QSTR_CHRG), MP_ROM_PTR(&pin_PB08) },
21-
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
23+
{ MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_PA16) },
2224
{ MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_PA17) },
23-
{ MP_ROM_QSTR(MP_QSTR_PA18), MP_ROM_PTR(&pin_PA18) },
25+
{ MP_ROM_QSTR(MP_QSTR_VBUS_RST), MP_ROM_PTR(&pin_PA18) },
2426
{ MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_PA19) },
2527
{ MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_PA20) },
2628
{ MP_ROM_QSTR(MP_QSTR_PA22), MP_ROM_PTR(&pin_PA22) },
@@ -31,20 +33,24 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
3133

3234
{ MP_ROM_QSTR(MP_QSTR_RF1_RST), MP_ROM_PTR(&pin_PB00) },
3335
{ MP_ROM_QSTR(MP_QSTR_RF1_CS), MP_ROM_PTR(&pin_PB30) },
34-
{ MP_ROM_QSTR(MP_QSTR_RF1_IO0), MP_ROM_PTR(&pin_PB05) },
3536
{ MP_ROM_QSTR(MP_QSTR_RF1_IO4), MP_ROM_PTR(&pin_PB04) },
37+
{ MP_ROM_QSTR(MP_QSTR_RF1_IO0), MP_ROM_PTR(&pin_PB05) },
3638

37-
{ MP_ROM_QSTR(MP_QSTR_RF2_RST), MP_ROM_PTR(&pin_PB14) },
39+
{ MP_ROM_QSTR(MP_QSTR_RF2_IO0), MP_ROM_PTR(&pin_PB06) },
40+
{ MP_ROM_QSTR(MP_QSTR_RF2_IO4), MP_ROM_PTR(&pin_PB07) },
3841
{ MP_ROM_QSTR(MP_QSTR_RF2_CS), MP_ROM_PTR(&pin_PB09) },
39-
{ MP_ROM_QSTR(MP_QSTR_RF2_IO1), MP_ROM_PTR(&pin_PB06) },
40-
{ MP_ROM_QSTR(MP_QSTR_RF2_BSY), MP_ROM_PTR(&pin_PB07) },
42+
{ MP_ROM_QSTR(MP_QSTR_RF2_RST), MP_ROM_PTR(&pin_PB14) },
4143

4244
{ MP_ROM_QSTR(MP_QSTR_EN_GPS), MP_ROM_PTR(&pin_PB01) },
4345
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
4446
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
47+
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PA17) },
48+
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PA16) },
4549

4650
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB12) },
4751
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB13) },
52+
{ MP_ROM_QSTR(MP_QSTR_SCL2), MP_ROM_PTR(&pin_PA16) },
53+
{ MP_ROM_QSTR(MP_QSTR_SDA2), MP_ROM_PTR(&pin_PA17) },
4854

4955
{ MP_ROM_QSTR(MP_QSTR_WDT_WDI), MP_ROM_PTR(&pin_PA23) },
5056
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA21) },

0 commit comments

Comments
 (0)