Skip to content

Commit cdc1162

Browse files
authored
Merge pull request adafruit#2177 from wallarug/walla/robohatmm1-production
Robo HAT MM1 - Fixes after testing
2 parents 8221553 + 3c99a23 commit cdc1162

File tree

6 files changed

+66
-59
lines changed

6 files changed

+66
-59
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#define MICROPY_HW_BOARD_NAME "Robo HAT MM1"
1+
#define MICROPY_HW_BOARD_NAME "Robo HAT MM1 M0"
22
#define MICROPY_HW_MCU_NAME "samd21g18"
33

44
#define MICROPY_HW_LED_STATUS (&pin_PB22)
@@ -29,12 +29,12 @@
2929
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
3030
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
3131

32-
#define DEFAULT_SPI_BUS_SCK (&pin_PB10)
32+
#define DEFAULT_SPI_BUS_SCK (&pin_PB09)
3333
#define DEFAULT_SPI_BUS_MOSI (&pin_PB08)
3434
#define DEFAULT_SPI_BUS_MISO (&pin_PB11)
3535

36-
#define DEFAULT_UART_BUS_RX (&pin_PB03)
37-
#define DEFAULT_UART_BUS_TX (&pin_PB02)
36+
//#define DEFAULT_UART_BUS_RX (&pin_PB03)
37+
//#define DEFAULT_UART_BUS_TX (&pin_PB02)
3838

3939
// USB is always used internally so skip the pin objects for it.
4040
#define IGNORE_PIN_PA24 1

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
LD_FILE = boards/samd21x18-bootloader-external-flash-crystalless.ld
22
USB_VID = 0x1209
33
USB_PID = 0x4D43
4-
USB_PRODUCT = "Robo HAT MM1"
4+
USB_PRODUCT = "Robo HAT MM1 M0"
55
USB_MANUFACTURER = "Robotics Masters"
66

77
CHIP_VARIANT = SAMD21G18A
@@ -23,7 +23,7 @@ CFLAGS_INLINE_LIMIT = 60
2323
SUPEROPT_GC = 0
2424

2525
# Include these Python libraries in firmware.
26-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
26+
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2727
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2828
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_INA219
2929
#FROZEN_MPY_DIRS += $(TOP)/frozen/RoboticsMasters_CircuitPython_MPU9250
Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "shared-bindings/board/__init__.h"
2-
3-
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
2+
// Version 2.4
3+
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
44
// SERVO Pins
55
{ MP_ROM_QSTR(MP_QSTR_SERVO1), MP_ROM_PTR(&pin_PA18) },
66
{ MP_ROM_QSTR(MP_QSTR_SERVO2), MP_ROM_PTR(&pin_PA19) },
@@ -10,13 +10,13 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
1010
{ MP_ROM_QSTR(MP_QSTR_SERVO6), MP_ROM_PTR(&pin_PA10) },
1111
{ MP_ROM_QSTR(MP_QSTR_SERVO7), MP_ROM_PTR(&pin_PA09) },
1212
{ MP_ROM_QSTR(MP_QSTR_SERVO8), MP_ROM_PTR(&pin_PA08) },
13-
13+
1414
// RCC Pins
1515
{ MP_ROM_QSTR(MP_QSTR_RCC1), MP_ROM_PTR(&pin_PA07) },
1616
{ MP_ROM_QSTR(MP_QSTR_RCC2), MP_ROM_PTR(&pin_PA06) },
1717
{ MP_ROM_QSTR(MP_QSTR_RCC3), MP_ROM_PTR(&pin_PA05) },
1818
{ MP_ROM_QSTR(MP_QSTR_RCC4), MP_ROM_PTR(&pin_PA04) },
19-
19+
2020
// Special Function
2121
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_PA02) },
2222
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA02) },
@@ -25,14 +25,12 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
2525
{ MP_ROM_QSTR(MP_QSTR_POWER_ON), MP_ROM_PTR(&pin_PA27) },
2626
{ MP_ROM_QSTR(MP_QSTR_POWER_ENABLE), MP_ROM_PTR(&pin_PA27) },
2727
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_PA27) },
28-
28+
2929
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PB23) },
3030
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB22) },
31-
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
32-
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
3331
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
3432
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
35-
33+
3634
// GROVE on SERCOM0
3735
{ MP_ROM_QSTR(MP_QSTR_GROVE_SCL), MP_ROM_PTR(&pin_PA09) },
3836
{ MP_ROM_QSTR(MP_QSTR_GROVE_SDA), MP_ROM_PTR(&pin_PA08) },
@@ -49,40 +47,46 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
4947
{ MP_ROM_QSTR(MP_QSTR_UART_CTS), MP_ROM_PTR(&pin_PA06) },
5048
{ MP_ROM_QSTR(MP_QSTR_UART_RTS), MP_ROM_PTR(&pin_PA07) },
5149

50+
// UART on SERCOM1 (Raspberry Pi)
51+
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA16) },
52+
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA17) },
53+
{ MP_ROM_QSTR(MP_QSTR_PI_RX), MP_ROM_PTR(&pin_PA16) },
54+
{ MP_ROM_QSTR(MP_QSTR_PI_TX), MP_ROM_PTR(&pin_PA17) },
55+
56+
// I2C on SERCOM1 (External Connector)
57+
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA00) },
58+
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA01) },
59+
5260
// SPI Flash on SERCOM2
5361
{ MP_ROM_QSTR(MP_QSTR_FLASH_SCK), MP_ROM_PTR(&pin_PA13) },
5462
{ MP_ROM_QSTR(MP_QSTR_FLASH_MISO), MP_ROM_PTR(&pin_PA14) },
5563
{ MP_ROM_QSTR(MP_QSTR_FLASH_MOSI), MP_ROM_PTR(&pin_PA12) },
5664
{ MP_ROM_QSTR(MP_QSTR_FLASH_CS), MP_ROM_PTR(&pin_PA15) },
5765

58-
// I2C on SERCOM3
59-
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA00) },
60-
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA01) },
61-
66+
// I2C on SERCOM3 (RPi & Internal)
67+
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
68+
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
69+
{ MP_ROM_QSTR(MP_QSTR_PI_SDA), MP_ROM_PTR(&pin_PA22) },
70+
{ MP_ROM_QSTR(MP_QSTR_PI_SCL), MP_ROM_PTR(&pin_PA23) },
71+
6272
// SPI on SERCOM4
6373
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB08) },
64-
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB09) },
65-
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB10) },
74+
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB09) },
75+
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB10) },
6676
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB11) },
67-
77+
6878
// GPS on SERCOM5
6979
{ MP_ROM_QSTR(MP_QSTR_GPS_TX), MP_ROM_PTR(&pin_PB02) },
7080
{ MP_ROM_QSTR(MP_QSTR_GPS_RX), MP_ROM_PTR(&pin_PB03) },
71-
{ MP_ROM_QSTR(MP_QSTR_GPS_SDA), MP_ROM_PTR(&pin_PA00) },
72-
{ MP_ROM_QSTR(MP_QSTR_GPS_SCL), MP_ROM_PTR(&pin_PA01) },
73-
81+
7482
// Raspberry Pi
7583
{ MP_ROM_QSTR(MP_QSTR_PI_GP25), MP_ROM_PTR(&pin_PA30) },
7684
{ MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) },
7785
{ MP_ROM_QSTR(MP_QSTR_PI_GP24), MP_ROM_PTR(&pin_PA31) },
7886
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) },
79-
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA16) },
80-
{ MP_ROM_QSTR(MP_QSTR_PI_TX), MP_ROM_PTR(&pin_PA16) },
81-
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA17) },
82-
{ MP_ROM_QSTR(MP_QSTR_PI_RX), MP_ROM_PTR(&pin_PA17) },
8387

8488
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
8589
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
86-
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
90+
//{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
8791
};
8892
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#define MICROPY_HW_BOARD_NAME "Robo HAT MM1"
1+
#define MICROPY_HW_BOARD_NAME "Robo HAT MM1 M4"
22
#define MICROPY_HW_MCU_NAME "samd51g19"
33

44
#define CIRCUITPY_MCU_FAMILY samd51
@@ -32,12 +32,12 @@
3232
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
3333
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
3434

35-
#define DEFAULT_SPI_BUS_SCK (&pin_PB10)
35+
#define DEFAULT_SPI_BUS_SCK (&pin_PB09)
3636
#define DEFAULT_SPI_BUS_MOSI (&pin_PB08)
3737
#define DEFAULT_SPI_BUS_MISO (&pin_PB11)
3838

39-
#define DEFAULT_UART_BUS_RX (&pin_PB03)
40-
#define DEFAULT_UART_BUS_TX (&pin_PB02)
39+
//#define DEFAULT_UART_BUS_RX (&pin_PB03)
40+
//#define DEFAULT_UART_BUS_TX (&pin_PB02)
4141

4242
// USB is always used internally so skip the pin objects for it.
4343
#define IGNORE_PIN_PA24 1

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
LD_FILE = boards/samd51x19-bootloader-external-flash.ld
22
USB_VID = 0x1209
33
USB_PID = 0x4D43
4-
USB_PRODUCT = "Robo HAT MM1"
4+
USB_PRODUCT = "Robo HAT MM1 M4"
55
USB_MANUFACTURER = "Robotics Masters"
66

77
CHIP_VARIANT = SAMD51G19A
@@ -22,7 +22,7 @@ CIRCUITPY_DISPLAYIO = 0
2222
CIRCUITPY_FREQUENCYIO = 0
2323

2424
# Include these Python libraries in firmware.
25-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
25+
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2626
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2727
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_INA219
2828
#FROZEN_MPY_DIRS += $(TOP)/frozen/RoboticsMasters_CircuitPython_MPU9250
Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "shared-bindings/board/__init__.h"
2-
3-
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
2+
// Version 2.4
3+
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
44
// SERVO Pins
55
{ MP_ROM_QSTR(MP_QSTR_SERVO1), MP_ROM_PTR(&pin_PA18) },
66
{ MP_ROM_QSTR(MP_QSTR_SERVO2), MP_ROM_PTR(&pin_PA19) },
@@ -10,13 +10,13 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
1010
{ MP_ROM_QSTR(MP_QSTR_SERVO6), MP_ROM_PTR(&pin_PA10) },
1111
{ MP_ROM_QSTR(MP_QSTR_SERVO7), MP_ROM_PTR(&pin_PA09) },
1212
{ MP_ROM_QSTR(MP_QSTR_SERVO8), MP_ROM_PTR(&pin_PA08) },
13-
13+
1414
// RCC Pins
1515
{ MP_ROM_QSTR(MP_QSTR_RCC1), MP_ROM_PTR(&pin_PA07) },
1616
{ MP_ROM_QSTR(MP_QSTR_RCC2), MP_ROM_PTR(&pin_PA06) },
1717
{ MP_ROM_QSTR(MP_QSTR_RCC3), MP_ROM_PTR(&pin_PA05) },
1818
{ MP_ROM_QSTR(MP_QSTR_RCC4), MP_ROM_PTR(&pin_PA04) },
19-
19+
2020
// Special Function
2121
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_PA02) },
2222
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA02) },
@@ -25,14 +25,12 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
2525
{ MP_ROM_QSTR(MP_QSTR_POWER_ON), MP_ROM_PTR(&pin_PA27) },
2626
{ MP_ROM_QSTR(MP_QSTR_POWER_ENABLE), MP_ROM_PTR(&pin_PA27) },
2727
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_PA27) },
28-
28+
2929
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PB23) },
3030
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB22) },
31-
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
32-
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
3331
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
3432
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
35-
33+
3634
// GROVE on SERCOM0
3735
{ MP_ROM_QSTR(MP_QSTR_GROVE_SCL), MP_ROM_PTR(&pin_PA09) },
3836
{ MP_ROM_QSTR(MP_QSTR_GROVE_SDA), MP_ROM_PTR(&pin_PA08) },
@@ -49,41 +47,46 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
4947
{ MP_ROM_QSTR(MP_QSTR_UART_CTS), MP_ROM_PTR(&pin_PA06) },
5048
{ MP_ROM_QSTR(MP_QSTR_UART_RTS), MP_ROM_PTR(&pin_PA07) },
5149

50+
// UART on SERCOM1 (Raspberry Pi)
51+
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA16) },
52+
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA17) },
53+
{ MP_ROM_QSTR(MP_QSTR_PI_RX), MP_ROM_PTR(&pin_PA16) },
54+
{ MP_ROM_QSTR(MP_QSTR_PI_TX), MP_ROM_PTR(&pin_PA17) },
55+
56+
// I2C on SERCOM1 (External Connector)
57+
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA00) },
58+
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA01) },
59+
5260
// SPI Flash on SERCOM2
5361
{ MP_ROM_QSTR(MP_QSTR_FLASH_SCK), MP_ROM_PTR(&pin_PA13) },
5462
{ MP_ROM_QSTR(MP_QSTR_FLASH_MISO), MP_ROM_PTR(&pin_PA14) },
5563
{ MP_ROM_QSTR(MP_QSTR_FLASH_MOSI), MP_ROM_PTR(&pin_PA12) },
5664
{ MP_ROM_QSTR(MP_QSTR_FLASH_CS), MP_ROM_PTR(&pin_PA15) },
5765

58-
// I2C on SERCOM3
59-
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA00) },
60-
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA01) },
61-
66+
// I2C on SERCOM3 (RPi & Internal)
67+
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
68+
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
69+
{ MP_ROM_QSTR(MP_QSTR_PI_SDA), MP_ROM_PTR(&pin_PA22) },
70+
{ MP_ROM_QSTR(MP_QSTR_PI_SCL), MP_ROM_PTR(&pin_PA23) },
71+
6272
// SPI on SERCOM4
6373
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB08) },
64-
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB09) },
65-
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB10) },
74+
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB09) },
75+
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB10) },
6676
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB11) },
67-
77+
6878
// GPS on SERCOM5
6979
{ MP_ROM_QSTR(MP_QSTR_GPS_TX), MP_ROM_PTR(&pin_PB02) },
7080
{ MP_ROM_QSTR(MP_QSTR_GPS_RX), MP_ROM_PTR(&pin_PB03) },
71-
{ MP_ROM_QSTR(MP_QSTR_GPS_SDA), MP_ROM_PTR(&pin_PA00) },
72-
{ MP_ROM_QSTR(MP_QSTR_GPS_SCL), MP_ROM_PTR(&pin_PA01) },
73-
81+
7482
// Raspberry Pi
7583
{ MP_ROM_QSTR(MP_QSTR_PI_GP25), MP_ROM_PTR(&pin_PA30) },
7684
{ MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) },
7785
{ MP_ROM_QSTR(MP_QSTR_PI_GP24), MP_ROM_PTR(&pin_PA31) },
7886
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) },
79-
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA16) },
80-
{ MP_ROM_QSTR(MP_QSTR_PI_TX), MP_ROM_PTR(&pin_PA16) },
81-
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA17) },
82-
{ MP_ROM_QSTR(MP_QSTR_PI_RX), MP_ROM_PTR(&pin_PA17) },
83-
8487

8588
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
8689
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
87-
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
90+
//{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
8891
};
8992
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

0 commit comments

Comments
 (0)