-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
248 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
require("bundle-networking") | ||
|
||
# Bluetooth | ||
require("aioble") | ||
|
||
include("manifest.py") | ||
|
||
freeze("$(BOARD_DIR)/../../modules_py", "lte.py") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,65 @@ | ||
// Board and hardware specific configuration | ||
#define MICROPY_HW_BOARD_NAME "Pimoroni Plasma 2350" | ||
#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - (2 * 1024 * 1024)) | ||
|
||
// I2C0 (non-default) | ||
#define MICROPY_HW_I2C0_SCL (PLASMA2350_SDA_PIN) | ||
#define MICROPY_HW_I2C0_SDA (PLASMA2350_SCL_PIN) | ||
#define MICROPY_HW_I2C0_SDA (PLASMA2350_SCL_PIN) | ||
|
||
// Set up networking. | ||
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "PLASMA2350" | ||
|
||
#if defined(MICROPY_PY_NETWORK_CYW43) | ||
|
||
// CYW43 driver configuration. | ||
#define CYW43_USE_SPI (1) | ||
#define CYW43_LWIP (1) | ||
#define CYW43_GPIO (1) | ||
#define CYW43_SPI_PIO (1) | ||
|
||
#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT | ||
|
||
#if defined(CYW43_PIN_WL_DYNAMIC) | ||
|
||
#define CYW43_PIO_CLOCK_DIV_DYNAMIC (1) | ||
|
||
// Defined by pimoroni_pico_plus2w_rp2350.h | ||
//#define CYW43_DEFAULT_PIN_WL_HOST_WAKE SPICE_RESET_MOSI_PIN | ||
//#define CYW43_DEFAULT_PIN_WL_REG_ON SPICE_TX_MISO_PIN | ||
#define CYW43_DEFAULT_PIN_WL_DATA_OUT CYW43_DEFAULT_PIN_WL_HOST_WAKE | ||
#define CYW43_DEFAULT_PIN_WL_DATA_IN CYW43_DEFAULT_PIN_WL_HOST_WAKE | ||
#define CYW43_DEFAULT_PIN_WL_CLOCK 29u | ||
#define CYW43_DEFAULT_PIN_WL_CS 25u | ||
|
||
/* SPICE alternative | ||
#define CYW43_DEFAULT_PIN_WL_HOST_WAKE SPICE_RESET_MOSI_PIN | ||
#define CYW43_DEFAULT_PIN_WL_REG_ON SPICE_TX_MISO_PIN | ||
#define CYW43_DEFAULT_PIN_WL_DATA_OUT SPICE_RESET_MOSI_PIN | ||
#define CYW43_DEFAULT_PIN_WL_DATA_IN SPICE_RESET_MOSI_PIN | ||
#define CYW43_DEFAULT_PIN_WL_CLOCK SPICE_NETLIGHT_SCK_PIN | ||
#define CYW43_DEFAULT_PIN_WL_CS SPICE_RX_CS_PIN | ||
*/ | ||
|
||
// Slow down the wireless clock, since we'll be running | ||
// comms through wiring spaghetti! | ||
#define CYW43_PIO_CLOCK_DIV_INT 50 | ||
#define CYW43_PIO_CLOCK_DIV_FRAC 0 | ||
#define CYW43_SPI_PROGRAM_NAME spi_gap0_sample1 | ||
|
||
#endif | ||
|
||
#endif | ||
|
||
// Might be defined in mpconfigvariant_PPP.cmake | ||
// This is not checked by mpconfigport.h so we must set up networking below | ||
#if defined(MICROPY_PY_NETWORK_PPP_LWIP) | ||
|
||
// Nothing to do here? | ||
|
||
#endif | ||
|
||
// If a variant is not used, define a fallback board name | ||
#ifndef MICROPY_HW_BOARD_NAME | ||
|
||
#define MICROPY_HW_BOARD_NAME "Pimoroni Plasma 2350" | ||
|
||
#endif |
Empty file.
40 changes: 40 additions & 0 deletions
40
micropython/board/PIMORONI_PLASMA2350/mpconfigvariant_WIRELESS.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Override the MicroPython board name | ||
# And set basic options which are expanded upon in mpconfigboard.h | ||
list(APPEND MICROPY_DEF_BOARD | ||
"MICROPY_HW_BOARD_NAME=\"Pimoroni Plasma 2350 (LTE + WiFi)\"" | ||
"MICROPY_PY_NETWORK=1" | ||
"CYW43_PIN_WL_DYNAMIC=1" | ||
"MICROPY_PY_NETWORK_PPP_LWIP=1" | ||
) | ||
|
||
# Links micropy_lib_lwip and sets MICROPY_PY_LWIP = 1 | ||
# Picked up and expanded upon in mpconfigboard.h | ||
set(MICROPY_PY_LWIP ON) | ||
|
||
# Links cyw43-driver and sets: | ||
# MICROPY_PY_NETWORK_CYW43 = 1, | ||
# MICROPY_PY_SOCKET_DEFAULT_TIMEOUT_MS = 30000 | ||
set(MICROPY_PY_NETWORK_CYW43 ON) | ||
|
||
# Adds mpbthciport.c | ||
# And sets: | ||
# MICROPY_PY_BLUETOOTH = 1, | ||
# MICROPY_PY_BLUETOOTH_USE_SYNC_EVENTS = 1, | ||
# MICROPY_PY_BLUETOOTH_ENABLE_CENTRAL_MODE = 1 | ||
set(MICROPY_PY_BLUETOOTH ON) | ||
|
||
# Links pico_btstack_hci_transport_cyw43 | ||
# And sets: | ||
# MICROPY_BLUETOOTH_BTSTACK = 1, | ||
# MICROPY_BLUETOOTH_BTSTACK_CONFIG_FILE = | ||
set(MICROPY_BLUETOOTH_BTSTACK ON) | ||
|
||
# Sets: | ||
# CYW43_ENABLE_BLUETOOTH = 1, | ||
# MICROPY_PY_BLUETOOTH_CYW43 = 1 | ||
set(MICROPY_PY_BLUETOOTH_CYW43 ON) | ||
|
||
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest-wireless.py) | ||
|
||
set(PICO_BOARD "pimoroni_plasma2350w") | ||
set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR}) |
137 changes: 137 additions & 0 deletions
137
micropython/board/PIMORONI_PLASMA2350/pimoroni_plasma2350w.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
/* | ||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd. | ||
* | ||
* SPDX-License-Identifier: BSD-3-Clause | ||
*/ | ||
|
||
// ----------------------------------------------------- | ||
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO | ||
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES | ||
// ----------------------------------------------------- | ||
|
||
// This header may be included by other board headers as "boards/pimoroni_plasma2350.h" | ||
|
||
// pico_cmake_set PICO_PLATFORM=rp2350 | ||
|
||
#ifndef _BOARDS_PIMORONI_PLASMA2350W_H | ||
#define _BOARDS_PIMORONI_PLASMA2350W_H | ||
|
||
// For board detection | ||
#define PIMORONI_PLASMA2350 | ||
#define PIMORONI_PLASMA2350W | ||
|
||
// --- BOARD SPECIFIC --- | ||
#define SPICE_SPI 0 | ||
#define SPICE_TX_MISO_PIN 8 | ||
#define SPICE_RX_CS_PIN 9 | ||
#define SPICE_NETLIGHT_SCK_PIN 10 | ||
#define SPICE_RESET_MOSI_PIN 11 | ||
#define SPICE_PWRKEY_BL_PIN 7 | ||
|
||
#define PLASMA2350_SW_A_PIN 12 | ||
|
||
#define PLASMA2350_CLK_PIN 14 | ||
#define PLASMA2350_DATA_PIN 15 | ||
|
||
#define PLASMA2350_LED_R_PIN 16 | ||
#define PLASMA2350_LED_G_PIN 17 | ||
#define PLASMA2350_LED_B_PIN 18 | ||
|
||
#define PLASMA2350_I2C 0 | ||
#define PLASMA2350_INT_PIN 19 | ||
#define PLASMA2350_SDA_PIN 20 | ||
#define PLASMA2350_SCL_PIN 21 | ||
|
||
#define PLASMA2350_USER_SW_PIN 22 | ||
|
||
#define PLASMA2350_A0_PIN 26 | ||
#define PLASMA2350_A1_PIN 27 | ||
#define PLASMA2350_A2_PIN 28 | ||
#define PLASMA2350_NUM_ADC_PINS 3 | ||
|
||
#define PLASMA2350_CURRENT_SENSE_PIN 29 | ||
|
||
// -- CYW43 Wireless -- | ||
#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE | ||
#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 24 | ||
#endif | ||
|
||
#ifndef CYW43_DEFAULT_PIN_WL_REG_ON | ||
#define CYW43_DEFAULT_PIN_WL_REG_ON 23 | ||
#endif | ||
|
||
#ifndef CYW43_WL_GPIO_COUNT | ||
#define CYW43_WL_GPIO_COUNT 3 | ||
#endif | ||
|
||
#ifndef CYW43_WL_GPIO_LED_PIN | ||
#define CYW43_WL_GPIO_LED_PIN 0 | ||
#endif | ||
|
||
// --- RP2350 VARIANT --- | ||
#define PICO_RP2350A 1 | ||
|
||
// --- UART --- | ||
// no PICO_DEFAULT_UART | ||
// no PICO_DEFAULT_UART_TX_PIN | ||
// no PICO_DEFAULT_UART_RX_PIN | ||
|
||
// --- LED --- | ||
#ifndef PICO_DEFAULT_LED_PIN | ||
#define PICO_DEFAULT_LED_PIN TINY2350_LED_G_PIN | ||
#endif | ||
// no PICO_DEFAULT_WS2812_PIN | ||
|
||
#ifndef PICO_DEFAULT_LED_PIN_INVERTED | ||
#define PICO_DEFAULT_LED_PIN_INVERTED 1 | ||
#endif | ||
|
||
// --- I2C --- | ||
// routed to Qw/St connector | ||
#ifndef PICO_DEFAULT_I2C | ||
#define PICO_DEFAULT_I2C PLASMA2350_I2C | ||
#endif | ||
#ifndef PICO_DEFAULT_I2C_SDA_PIN | ||
#define PICO_DEFAULT_I2C_SDA_PIN PLASMA2350_SDA_PIN | ||
#endif | ||
#ifndef PICO_DEFAULT_I2C_SCL_PIN | ||
#define PICO_DEFAULT_I2C_SCL_PIN PLASMA2350_SCL_PIN | ||
#endif | ||
|
||
// --- SPI --- | ||
#ifndef PICO_DEFAULT_SPI | ||
#define PICO_DEFAULT_SPI 0 | ||
#endif | ||
#ifndef PICO_DEFAULT_SPI_SCK_PIN | ||
#define PICO_DEFAULT_SPI_SCK_PIN SPICE_NETLIGHT_SCK_PIN | ||
#endif | ||
#ifndef PICO_DEFAULT_SPI_TX_PIN | ||
#define PICO_DEFAULT_SPI_TX_PIN SPICE_RESET_MOSI_PIN | ||
#endif | ||
#ifndef PICO_DEFAULT_SPI_RX_PIN | ||
#define PICO_DEFAULT_SPI_RX_PIN SPICE_TX_MISO_PIN | ||
#endif | ||
#ifndef PICO_DEFAULT_SPI_CSN_PIN | ||
#define PICO_DEFAULT_SPI_CSN_PIN SPICE_RX_CS_PIN | ||
#endif | ||
|
||
// --- FLASH --- | ||
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1 | ||
|
||
#ifndef PICO_FLASH_SPI_CLKDIV | ||
#define PICO_FLASH_SPI_CLKDIV 2 | ||
#endif | ||
|
||
// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (8 * 1024 * 1024) | ||
#ifndef PICO_FLASH_SIZE_BYTES | ||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024) | ||
#endif | ||
|
||
#ifndef PICO_RP2350_A2_SUPPORTED | ||
#define PICO_RP2350_A2_SUPPORTED 1 | ||
#endif | ||
|
||
// no PICO_VBUS_PIN | ||
// no PICO_VSYS_PIN | ||
|
||
#endif |