Skip to content

Commit 006d85d

Browse files
author
JoeBakalor
committed
add make file and board configuration, add accelerometer pin mappings
1 parent dbc28e3 commit 006d85d

File tree

3 files changed

+44
-104
lines changed

3 files changed

+44
-104
lines changed

ports/nrf/boards/teknikio_bluebird/mpconfigboard.h

Lines changed: 11 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -27,48 +27,24 @@
2727

2828
//https://github.com/Teknikio/TKInventionBuilderFramework
2929

30+
3031
#include "nrfx/hal/nrf_gpio.h"
3132

32-
#define MICROPY_HW_BOARD_NAME "Adafruit Circuit Playground Bluefruit"
33+
#define MICROPY_HW_BOARD_NAME "Teknikio Bluebird"
3334
#define MICROPY_HW_MCU_NAME "nRF52840"
34-
#define MICROPY_PY_SYS_PLATFORM "CircuitPlaygroundBluefruit"
35-
36-
#define FLASH_SIZE (0x100000)
37-
#define FLASH_PAGE_SIZE (4096)
38-
39-
#define MICROPY_HW_LED_STATUS (&pin_P1_14)
40-
41-
// Unusually, board does not have a 32 kHz xtal. Nearly all boards do.
42-
#define BOARD_HAS_32KHZ_XTAL (0)
43-
44-
#if QSPI_FLASH_FILESYSTEM
45-
#define MICROPY_QSPI_DATA0 NRF_GPIO_PIN_MAP(0, 21)
46-
#define MICROPY_QSPI_DATA1 NRF_GPIO_PIN_MAP(0, 23)
47-
#define MICROPY_QSPI_DATA2 NRF_GPIO_PIN_MAP(1, 00)
48-
#define MICROPY_QSPI_DATA3 NRF_GPIO_PIN_MAP(0, 22)
49-
#define MICROPY_QSPI_SCK NRF_GPIO_PIN_MAP(0, 19)
50-
#define MICROPY_QSPI_CS NRF_GPIO_PIN_MAP(0, 15)
51-
#endif
52-
53-
#if SPI_FLASH_FILESYSTEM
54-
#define SPI_FLASH_MOSI_PIN &pin_P0_21
55-
#define SPI_FLASH_MISO_PIN &pin_P0_23
56-
#define SPI_FLASH_SCK_PIN &pin_P0_19
57-
#define SPI_FLASH_CS_PIN &pin_P0_15
58-
#endif
5935

6036
#define CIRCUITPY_AUTORELOAD_DELAY_MS 500
6137

62-
#define CIRCUITPY_INTERNAL_NVM_SIZE (4096)
38+
#define MICROPY_HW_NEOPIXEL (&pin_P0_26)
6339

64-
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
40+
#define DEFAULT_I2C_BUS_SCL (&pin_P0_27)
41+
#define DEFAULT_I2C_BUS_SDA (&pin_P0_26)
6542

66-
#define DEFAULT_I2C_BUS_SCL (&pin_P0_04)
67-
#define DEFAULT_I2C_BUS_SDA (&pin_P0_05)
43+
#define DEFAULT_SPI_BUS_SCK (&pin_P1_15)
44+
#define DEFAULT_SPI_BUS_MOSI (&pin_P1_13)
45+
#define DEFAULT_SPI_BUS_MISO (&pin_P1_14)
6846

69-
#define DEFAULT_SPI_BUS_SCK (&pin_P0_05)
70-
#define DEFAULT_SPI_BUS_MOSI (&pin_P1_03)
71-
#define DEFAULT_SPI_BUS_MISO (&pin_P0_29)
47+
#define DEFAULT_UART_BUS_RX (&pin_P1_07)
48+
#define DEFAULT_UART_BUS_TX (&pin_P1_08)
7249

73-
#define DEFAULT_UART_BUS_RX (&pin_P0_30)
74-
#define DEFAULT_UART_BUS_TX (&pin_P0_14)
50+
#define BOARD_HAS_CRYSTAL 1 // according to the schematic we do

ports/nrf/boards/teknikio_bluebird/mpconfigboard.mk

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
USB_VID = 0x239A
22
USB_PID = 0x8046
3-
USB_PRODUCT = "Circuit Playground Bluefruit"
4-
USB_MANUFACTURER = "Adafruit Industries LLC"
3+
USB_PRODUCT = "Bluebird"
4+
USB_MANUFACTURER = "Teknikio"
55

66
MCU_SERIES = m4
77
MCU_VARIANT = nrf52
@@ -21,6 +21,30 @@ endif
2121

2222
NRF_DEFINES += -DNRF52840_XXAA -DNRF52840
2323

24-
QSPI_FLASH_FILESYSTEM = 1
25-
EXTERNAL_FLASH_DEVICE_COUNT = 1
26-
EXTERNAL_FLASH_DEVICES = "GD25Q16C"
24+
INTERNAL_FLASH_FILESYSTEM = 1
25+
26+
27+
USB_VID = 0x239A
28+
USB_PID = 0x802A
29+
USB_PRODUCT = "PCA10059"
30+
USB_MANUFACTURER = "Nordic Semiconductor"
31+
32+
MCU_SERIES = m4
33+
MCU_VARIANT = nrf52
34+
MCU_SUB_VARIANT = nrf52840
35+
MCU_CHIP = nrf52840
36+
SD ?= s140
37+
SOFTDEV_VERSION ?= 6.1.0
38+
39+
BOOT_SETTING_ADDR = 0xFF000
40+
BOOT_FILE = boards/$(BOARD)/bootloader/$(SOFTDEV_VERSION)/$(BOARD)_bootloader_$(SOFTDEV_VERSION)_s140
41+
42+
ifeq ($(SD),)
43+
LD_FILE = boards/nrf52840_1M_256k.ld
44+
else
45+
LD_FILE = boards/adafruit_$(MCU_SUB_VARIANT)_$(SD_LOWER)_v$(firstword $(subst ., ,$(SOFTDEV_VERSION))).ld
46+
CIRCUITPY_BLEIO = 1
47+
endif
48+
49+
NRF_DEFINES += -DNRF52840_XXAA -DNRF52840
50+
Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,11 @@
11
#include "shared-bindings/board/__init__.h"
22

33
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
4-
{ MP_ROM_QSTR(MP_QSTR_AUDIO), MP_ROM_PTR(&pin_P0_26) },
5-
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_P0_26) },
6-
{ MP_ROM_QSTR(MP_QSTR_SPEAKER), MP_ROM_PTR(&pin_P0_26) },
74

8-
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_P0_02) },
9-
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_P0_02) },
10-
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_P0_02) },
115

12-
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_P0_29) },
13-
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_P0_29) },
14-
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_P0_29) },
15-
16-
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_P0_03) },
17-
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_P0_03) },
18-
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_P0_03) },
19-
20-
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_P0_04) },
21-
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_P0_04) },
22-
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_P0_04) },
23-
24-
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_P0_05) },
25-
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_P0_05) },
26-
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_P0_05) },
27-
28-
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_P0_30) },
29-
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_P0_30) },
30-
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_P0_30) },
31-
32-
// This cannot be A7, as it is on CPX. We don't have enough analog inputs.
33-
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_P0_14) },
34-
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_P0_14) },
35-
36-
{ MP_ROM_QSTR(MP_QSTR_LIGHT), MP_ROM_PTR(&pin_P0_28) },
37-
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_P0_28) },
38-
39-
{ MP_ROM_QSTR(MP_QSTR_TEMPERATURE), MP_ROM_PTR(&pin_P0_31) },
40-
{ MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_P0_31) },
41-
42-
{ MP_ROM_QSTR(MP_QSTR_BUTTON_A), MP_ROM_PTR(&pin_P1_02) },
43-
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_P1_02) },
44-
45-
{ MP_ROM_QSTR(MP_QSTR_BUTTON_B), MP_ROM_PTR(&pin_P1_15) },
46-
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_P1_15) },
47-
48-
{ MP_ROM_QSTR(MP_QSTR_SLIDE_SWITCH), MP_ROM_PTR(&pin_P1_06) },
49-
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_P1_06) },
50-
51-
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_P1_14) },
52-
{ MP_ROM_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_P1_14) },
53-
54-
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_P0_13) },
55-
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_P0_13) },
56-
57-
{ MP_ROM_QSTR(MP_QSTR_MICROPHONE_CLOCK), MP_ROM_PTR(&pin_P0_17) },
58-
{ MP_ROM_QSTR(MP_QSTR_MICROPHONE_DATA), MP_ROM_PTR(&pin_P0_16) },
59-
60-
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_INTERRUPT), MP_ROM_PTR(&pin_P1_13) },
61-
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_SDA), MP_ROM_PTR(&pin_P1_10) },
62-
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_SCL), MP_ROM_PTR(&pin_P1_12) },
63-
64-
{ MP_ROM_QSTR(MP_QSTR_SPEAKER_ENABLE), MP_ROM_PTR(&pin_P1_04) },
65-
66-
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
67-
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
68-
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
6+
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_INTERRUPT), MP_ROM_PTR(&pin_P1_10) },
7+
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_SDA), MP_ROM_PTR(&pin_P1_12) },
8+
{ MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_SCL), MP_ROM_PTR(&pin_P1_11) },
699
};
7010

71-
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
11+
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

0 commit comments

Comments
 (0)