diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 6747508..894a4a3 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -6,47 +6,34 @@ on: release: types: [created] -env: - MICROPYTHON_VERSION: feature/psram - MICROPYTHON_FLAVOUR: pimoroni - PIMORONI_PICO_VERSION: main - jobs: build: - name: ${{ matrix.name }} (${{ matrix.board }}) - runs-on: ubuntu-20.04 + name: MicroPython ${{ matrix.name }} + runs-on: ubuntu-24.04 continue-on-error: true strategy: matrix: include: - - name: pico2_rp2350 - board: RPI_PICO2 - - name: pico2b_rp2350 - board: RPI_PICO2B - - name: plasma2350 - board: PIMORONI_PLASMA2350 - - name: tiny2350 - board: PIMORONI_TINY2350 - - name: pico_plus2_rp2350_psram - board: PIMORONI_PICO_PLUS2 - variant: PSRAM - - name: pico_plus2_rp2350 - board: PIMORONI_PICO_PLUS2 + - name: rpi_pico2 + - name: rpi_pico2_w + - name: rpi_pico2b + - name: pimoroni_plasma2350 + - name: pimoroni_tiny2350 + - name: pimoroni_pico_plus2 env: # MicroPython version will be contained in github.event.release.tag_name for releases - RELEASE_FILE: ${{ matrix.name }}-${{ github.event.release.tag_name || github.sha }}-pimoroni-micropython - PIMORONI_PICO_DIR: "${{ github.workspace }}/pimoroni-pico" - MICROPY_BOARD_DIR: "${{ github.workspace }}/pimoroni-pico-rp2350-${{ github.sha }}/micropython/board/${{ matrix.BOARD }}" - USER_C_MODULES: "${{ github.workspace }}/pimoroni-pico-rp2350-${{ github.sha }}/micropython/micropython-pico2.cmake" - TAG_OR_SHA: ${{ github.event.release.tag_name || github.sha }} - MICROPY_BOARD: ${{ matrix.board }} - MICROPY_BOARD_VARIANT: ${{ matrix.variant }} - BOARD_NAME: ${{ matrix.name }} - BUILD_TOOLS: pimoroni-pico-rp2350-${{ github.sha }}/ci/micropython.sh + CI_RELEASE_FILENAME: ${{ matrix.name }}-${{ github.event.release.tag_name || github.sha }}-micropython + CI_PROJECT_ROOT: ${{ github.workspace }}/src-${{ github.sha }} + CI_BUILD_ROOT: ${{ github.workspace }} + CI_USE_ENV: 1 steps: - - name: Compiler Cache + - name: Compiler Cache Fixup + run: | + mkdir -p /home/runner/.ccache + + - name: "CCache: Restore saved cache" uses: actions/cache@v4 with: path: /home/runner/.ccache @@ -55,76 +42,61 @@ jobs: ccache-micropython-${{ matrix.name }}-${{ github.ref }} ccache-micropython-${{ matrix.name }}- - - uses: actions/checkout@v4 + - name: "Checkout Project" + uses: actions/checkout@v4 with: submodules: true - path: pimoroni-pico-rp2350-${{ github.sha }} + path: ${{ env.CI_PROJECT_ROOT }} - - uses: actions/checkout@v4 - with: - repository: pimoroni/pimoroni-pico - ref: ${{env.PIMORONI_PICO_VERSION}} - submodules: true - path: pimoroni-pico - - - name: Install Arm GNU Toolchain (arm-none-eabi-gcc) + - name: "Install Arm GNU Toolchain (arm-none-eabi-gcc)" uses: carlosperate/arm-none-eabi-gcc-action@v1 with: release: '13.3.Rel1' - - name: Install CCache - run: | - source $BUILD_TOOLS - apt_install_build_deps - - - name: Checkout MicroPython & Submodules - run: | - source $BUILD_TOOLS - micropython_clone - - - name: "Py_Decl: Checkout py_decl" - uses: actions/checkout@v4 - with: - repository: gadgetoid/py_decl - ref: v0.0.2 - path: py_decl - - - name: Build MPY Cross - run: | - source $BUILD_TOOLS - micropython_build_mpy_cross - - - name: Configure MicroPython + - name: "Prepare tools & dependencies" shell: bash run: | - source $BUILD_TOOLS + source $CI_PROJECT_ROOT/ci/micropython.sh && ci_debug + mkdir -p $CI_BUILD_ROOT + ci_apt_install_build_deps + ci_prepare_all + + - name: "MicroPython: Configure" + shell: bash + run: | + source $CI_PROJECT_ROOT/ci/micropython.sh && ci_debug micropython_version - cmake_configure + ci_cmake_configure ${{ matrix.name }} - - name: Build MicroPython + - name: "MicroPython: Build" shell: bash run: | - source $BUILD_TOOLS - cmake_build + source $CI_PROJECT_ROOT/ci/micropython.sh && ci_debug + python3 -m venv "$CI_BUILD_ROOT/.dir2uf2" + source "$CI_BUILD_ROOT/.dir2uf2/bin/activate" + ci_cmake_build ${{ matrix.name }} - - name: "Py_Decl: Verify UF2" - shell: bash - run: | - python3 py_decl/py_decl.py --to-json --verify build-${{ matrix.name }}/${{ env.RELEASE_FILE }}.uf2 - - - name: Store .uf2 as artifact + - name: "Artifacts: Upload .uf2" uses: actions/upload-artifact@v4 with: - name: ${{ env.RELEASE_FILE }}.uf2 - path: build-${{ matrix.name }}/${{ env.RELEASE_FILE }}.uf2 + name: ${{ env.CI_RELEASE_FILENAME }}.uf2 + path: ${{ env.CI_BUILD_ROOT }}/${{ env.CI_RELEASE_FILENAME }}.uf2 - - name: Upload .uf2 + - name: "Release: Upload .uf2" if: github.event_name == 'release' - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: softprops/action-gh-release@v2 with: - asset_path: build-${{ matrix.name }}/firmware.uf2 - upload_url: ${{ github.event.release.upload_url }} - asset_name: ${{ env.RELEASE_FILE }}.uf2 - asset_content_type: application/octet-stream \ No newline at end of file + files: ${{ env.CI_BUILD_ROOT }}/${{ env.CI_RELEASE_FILENAME }}.uf2 + + - name: "Artifacts: Upload .uf2 (With Filesystem)" + uses: actions/upload-artifact@v4 + with: + if-no-files-found: ignore + name: ${{ env.CI_RELEASE_FILENAME }}-with-filesystem.uf2 + path: ${{ env.CI_BUILD_ROOT }}/${{ env.CI_RELEASE_FILENAME }}-with-filesystem.uf2 + + - name: "Release: Upload .uf2 (With Filesystem)" + if: github.event_name == 'release' + uses: softprops/action-gh-release@v2 + with: + files: ${{ env.CI_BUILD_ROOT }}/${{ env.CI_RELEASE_FILENAME }}-with-filesystem.uf2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..920b6f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +**/build +.vscode + +# Apple filesystem cruft +.DS_Store +venv \ No newline at end of file diff --git a/boards/common.cmake b/boards/common.cmake new file mode 100644 index 0000000..c590385 --- /dev/null +++ b/boards/common.cmake @@ -0,0 +1,41 @@ +# Make sure we get our VirtualEnv Python +set(Python_FIND_VIRTUALENV "FIRST") +set(Python_FIND_UNVERSIONED_NAMES "FIRST") +set(Python_FIND_STRATEGY "LOCATION") +find_package (Python COMPONENTS Interpreter Development) + +message("dir2uf2/py_decl: Using Python ${Python_EXECUTABLE}") +MESSAGE("dir2uf2/py_decl: Using pimoroni tools dir ${PIMORONI_TOOLS_DIR}") + +if (EXISTS "${PIMORONI_TOOLS_DIR}/py_decl/py_decl.py") + MESSAGE("py_decl: py_decl.py found, will verify uf2.") + add_custom_target("${MICROPY_TARGET}-verify" ALL + COMMAND ${Python_EXECUTABLE} "${PIMORONI_TOOLS_DIR}/py_decl/py_decl.py" --to-json --verify "${CMAKE_CURRENT_BINARY_DIR}/${MICROPY_TARGET}.uf2" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "pydecl: Verifying ${MICROPY_TARGET}.uf2" + DEPENDS ${MICROPY_TARGET} + ) +endif() + +if(DEFINED PIMORONI_UF2_MANIFEST AND DEFINED PIMORONI_UF2_DIR) + +# Convert supplies paths to absolute, for a quieter life +get_filename_component(PIMORONI_UF2_MANIFEST ${PIMORONI_UF2_MANIFEST} REALPATH) +get_filename_component(PIMORONI_UF2_DIR ${PIMORONI_UF2_DIR} REALPATH) + +if (EXISTS "${PIMORONI_TOOLS_DIR}/dir2uf2/dir2uf2" AND EXISTS "${PIMORONI_UF2_MANIFEST}" AND EXISTS "${PIMORONI_UF2_DIR}") + MESSAGE("dir2uf2: Using manifest ${PIMORONI_UF2_MANIFEST}.") + MESSAGE("dir2uf2: Using root ${PIMORONI_UF2_DIR}.") + add_custom_target("${MICROPY_TARGET}-with-filesystem.uf2" ALL + COMMAND ${Python_EXECUTABLE} "${PIMORONI_TOOLS_DIR}/dir2uf2/dir2uf2" --fs-compact --sparse --append-to "${MICROPY_TARGET}.uf2" --manifest "${PIMORONI_UF2_MANIFEST}" --filename with-filesystem.uf2 "${PIMORONI_UF2_DIR}" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "dir2uf2: Appending filesystem to ${MICROPY_TARGET}.uf2." + DEPENDS ${MICROPY_TARGET} + DEPENDS "${MICROPY_TARGET}-verify" + ) +else() + MESSAGE("dir2uf2: Could not find manifest ${PIMORONI_UF2_MANIFEST}") + MESSAGE(" and/or root ${PIMORONI_UF2_DIR}.") +endif() + +endif() \ No newline at end of file diff --git a/boards/manifest_pico2.py b/boards/manifest_pico2.py new file mode 100644 index 0000000..f266753 --- /dev/null +++ b/boards/manifest_pico2.py @@ -0,0 +1,12 @@ +# micropython/ports/rp2/../../../ +MODULES_PY = "$(PORT_DIR)/../../../pimoroni-pico/micropython/modules_py" + +# SD Card +require("sdcard") + +freeze(MODULES_PY, "gfx_pack.py") + +freeze(MODULES_PY, "pimoroni.py") +freeze(MODULES_PY, "boot.py") + +freeze(MODULES_PY, "lte.py") diff --git a/micropython/board/PIMORONI_PICO_PLUS2/board.json b/boards/pimoroni_pico_plus2/board.json similarity index 100% rename from micropython/board/PIMORONI_PICO_PLUS2/board.json rename to boards/pimoroni_pico_plus2/board.json diff --git a/micropython/board/RPI_PICO2B/manifest.py b/boards/pimoroni_pico_plus2/manifest.py similarity index 54% rename from micropython/board/RPI_PICO2B/manifest.py rename to boards/pimoroni_pico_plus2/manifest.py index fb2a59b..563664c 100644 --- a/micropython/board/RPI_PICO2B/manifest.py +++ b/boards/pimoroni_pico_plus2/manifest.py @@ -1,3 +1,8 @@ +require("bundle-networking") + +# Bluetooth +require("aioble") + include("$(PORT_DIR)/boards/manifest.py") include("../manifest_pico2.py") \ No newline at end of file diff --git a/boards/pimoroni_pico_plus2/mpconfigboard.cmake b/boards/pimoroni_pico_plus2/mpconfigboard.cmake new file mode 100644 index 0000000..999402a --- /dev/null +++ b/boards/pimoroni_pico_plus2/mpconfigboard.cmake @@ -0,0 +1,39 @@ +# cmake file for Raspberry Pi Pico +set(PICO_BOARD "pimoroni_pico_plus2w_rp2350") +set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR}) +set(PICO_PLATFORM "rp2350") +set(PICO_NUM_GPIOS 48) + +# Board specific version of the frozen manifest +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) + +set(MICROPY_C_HEAP_SIZE 4096) + +# 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) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/boards/pimoroni_pico_plus2/mpconfigboard.h b/boards/pimoroni_pico_plus2/mpconfigboard.h new file mode 100644 index 0000000..4d3e7bf --- /dev/null +++ b/boards/pimoroni_pico_plus2/mpconfigboard.h @@ -0,0 +1,31 @@ +// Board and hardware specific configuration +#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - (2 * 1024 * 1024)) + +// Set up networking. +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "PPP2" + +#define MICROPY_HW_BOARD_NAME "Pimoroni Pico Plus 2 (PSRAM + LTE + WiFi)" + +// Enable WiFi & PPP +#define MICROPY_PY_NETWORK (1) +#define MICROPY_PY_NETWORK_PPP_LWIP (1) + +// CYW43 driver configuration. +#define CYW43_USE_SPI (1) +#define CYW43_LWIP (1) +#define CYW43_GPIO (1) +#define CYW43_SPI_PIO (1) + +#ifndef CYW43_WL_GPIO_COUNT +#define CYW43_WL_GPIO_COUNT 3 +#endif + +#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT + +int mp_hal_is_pin_reserved(int n); +#define MICROPY_HW_PIN_RESERVED(i) mp_hal_is_pin_reserved(i) + +// PSRAM Settings +#define MICROPY_HW_ENABLE_PSRAM (1) +#define MICROPY_HW_PSRAM_CS_PIN PIMORONI_PICO_PLUS2_PSRAM_CS_PIN +#define MICROPY_GC_SPLIT_HEAP (1) diff --git a/boards/pimoroni_pico_plus2/pimoroni_pico_plus2w_rp2350.h b/boards/pimoroni_pico_plus2/pimoroni_pico_plus2w_rp2350.h new file mode 100644 index 0000000..aa2c987 --- /dev/null +++ b/boards/pimoroni_pico_plus2/pimoroni_pico_plus2w_rp2350.h @@ -0,0 +1,162 @@ +/* + * 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_pico_plus2w_rp2350.h" + +// pico_cmake_set PICO_PLATFORM=rp2350 + +#ifndef _BOARDS_PIMORONI_PICO_PLUS2W_RP2350_H +#define _BOARDS_PIMORONI_PICO_PLUS2W_RP2350_H + +// For board detection +#define PIMORONI_PICO_PLUS2_RP2350 +#define PIMORONI_PICO_PLUS2W_RP2350 + +// --- BOARD SPECIFIC --- +#define SPICE_SPI 0 +#define SPICE_TX_MISO_PIN 32 +#define SPICE_RX_CS_PIN 33 +#define SPICE_NETLIGHT_SCK_PIN 34 +#define SPICE_RESET_MOSI_PIN 35 +#define SPICE_PWRKEY_BL_PIN 36 + +#define PIMORONI_PICO_PLUS2_USER_SW_PIN 45 +#define PIMORONI_PICO_PLUS2_PSRAM_CS_PIN 47 + +// --- UART --- +#ifndef PICO_DEFAULT_UART +#define PICO_DEFAULT_UART 0 +#endif +#ifndef PICO_DEFAULT_UART_TX_PIN +#define PICO_DEFAULT_UART_TX_PIN 0 +#endif +#ifndef PICO_DEFAULT_UART_RX_PIN +#define PICO_DEFAULT_UART_RX_PIN 1 +#endif + +// --- LED --- +#ifndef PICO_DEFAULT_LED_PIN +#define PICO_DEFAULT_LED_PIN 25 +#endif +// no PICO_DEFAULT_WS2812_PIN + +// --- I2C --- +#ifndef PICO_DEFAULT_I2C +#define PICO_DEFAULT_I2C 0 +#endif +#ifndef PICO_DEFAULT_I2C_SDA_PIN +#define PICO_DEFAULT_I2C_SDA_PIN 4 +#endif +#ifndef PICO_DEFAULT_I2C_SCL_PIN +#define PICO_DEFAULT_I2C_SCL_PIN 5 +#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 = (16 * 1024 * 1024) +#ifndef PICO_FLASH_SIZE_BYTES +#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024) +#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 + +// If CYW43_WL_GPIO_VBUS_PIN is defined then a CYW43 GPIO has to be used to read VBUS. +// This can be passed to cyw43_arch_gpio_get to determine if the device is battery powered. +// PICO_VBUS_PIN and CYW43_WL_GPIO_VBUS_PIN should not both be defined. + +// no CYW43_WL_GPIO_VBUS_PIN + +// If CYW43_USES_VSYS_PIN is defined then CYW43 uses the VSYS GPIO (defined by PICO_VSYS_PIN) for other purposes. +// If this is the case, to use the VSYS GPIO it's necessary to ensure CYW43 is not using it. +// This can be achieved by wrapping the use of the VSYS GPIO in cyw43_thread_enter / cyw43_thread_exit. + +// no CYW43_USES_VSYS_PIN + +// The GPIO Pin used to read VBUS to determine if the device is battery powered. +#ifndef PICO_VBUS_PIN +#define PICO_VBUS_PIN 24 +#endif + +// The GPIO Pin used to monitor VSYS. Typically you would use this with ADC. +// There is an example in adc/read_vsys in pico-examples. +#ifndef PICO_VSYS_PIN +#define PICO_VSYS_PIN 43 +#endif + +#ifndef PICO_RP2350_A2_SUPPORTED +#define PICO_RP2350_A2_SUPPORTED 1 +#endif + +// PICO_CONFIG: CYW43_PIN_WL_DYNAMIC, flag to indicate if cyw43 SPI pins can be changed at runtime, type=bool, default=false, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_PIN_WL_DYNAMIC +#define CYW43_PIN_WL_DYNAMIC 1 +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_REG_ON, gpio pin to power up the cyw43 chip, type=int, default=23, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_REG_ON +#define CYW43_DEFAULT_PIN_WL_REG_ON 23u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_DATA_OUT, gpio pin for spi data out to the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_DATA_OUT +#define CYW43_DEFAULT_PIN_WL_DATA_OUT 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_DATA_IN, gpio pin for spi data in from the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_DATA_IN +#define CYW43_DEFAULT_PIN_WL_DATA_IN 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_HOST_WAKE, gpio (irq) pin for the irq line from the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE +#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_CLOCK, gpio pin for the spi clock line to the cyw43 chip, type=int, default=29, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_CLOCK +#define CYW43_DEFAULT_PIN_WL_CLOCK 29u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_CS, gpio pin for the spi chip select to the cyw43 chip, type=int, default=25, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_CS +#define CYW43_DEFAULT_PIN_WL_CS 25u +#endif + +#endif \ No newline at end of file diff --git a/micropython/board/RPI_PICO2B/pins.csv b/boards/pimoroni_pico_plus2/pins.csv similarity index 75% rename from micropython/board/RPI_PICO2B/pins.csv rename to boards/pimoroni_pico_plus2/pins.csv index 9d58ee8..792f5c4 100644 --- a/micropython/board/RPI_PICO2B/pins.csv +++ b/boards/pimoroni_pico_plus2/pins.csv @@ -44,4 +44,13 @@ GP44,GPIO44 GP45,GPIO45 GP46,GPIO46 GP47,GPIO47 -LED,GPIO25 \ No newline at end of file +LED,GPIO25 +LEDW,EXT_GPIO0 +WL_GPIO0,EXT_GPIO0 +WL_GPIO1,EXT_GPIO1 +WL_GPIO2,EXT_GPIO2 +SPICE_TX,GPIO32 +SPICE_RX,GPIO33 +SPICE_NETLIGHT,GPIO34 +SPICE_RESET,GPIO35 +SPICE_PWRKEY,GPIO36 \ No newline at end of file diff --git a/boards/pimoroni_pico_plus2/usermodules.cmake b/boards/pimoroni_pico_plus2/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/pimoroni_pico_plus2/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/micropython/board/PIMORONI_PLASMA2350/board.json b/boards/pimoroni_plasma2350/board.json similarity index 100% rename from micropython/board/PIMORONI_PLASMA2350/board.json rename to boards/pimoroni_plasma2350/board.json diff --git a/micropython/board/RPI_PICO2/manifest.py b/boards/pimoroni_plasma2350/manifest.py similarity index 54% rename from micropython/board/RPI_PICO2/manifest.py rename to boards/pimoroni_plasma2350/manifest.py index fb2a59b..563664c 100644 --- a/micropython/board/RPI_PICO2/manifest.py +++ b/boards/pimoroni_plasma2350/manifest.py @@ -1,3 +1,8 @@ +require("bundle-networking") + +# Bluetooth +require("aioble") + include("$(PORT_DIR)/boards/manifest.py") include("../manifest_pico2.py") \ No newline at end of file diff --git a/boards/pimoroni_plasma2350/mpconfigboard.cmake b/boards/pimoroni_plasma2350/mpconfigboard.cmake new file mode 100644 index 0000000..34e4205 --- /dev/null +++ b/boards/pimoroni_plasma2350/mpconfigboard.cmake @@ -0,0 +1,38 @@ +# cmake file for Pimoroni Plasma 2350 +set(PICO_BOARD "pimoroni_plasma2350w") +set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR}) +set(PICO_PLATFORM "rp2350") + +# Board specific version of the frozen manifest +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) + +set(MICROPY_C_HEAP_SIZE 4096) + +# 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) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/boards/pimoroni_plasma2350/mpconfigboard.h b/boards/pimoroni_plasma2350/mpconfigboard.h new file mode 100644 index 0000000..08b6314 --- /dev/null +++ b/boards/pimoroni_plasma2350/mpconfigboard.h @@ -0,0 +1,31 @@ +// Board and hardware specific configuration +#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) + +// Set up networking. +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "PLASMA2350" + +#define MICROPY_HW_BOARD_NAME "Pimoroni Plasma 2350 (LTE + WiFi)" + +// Enable WiFi & PPP +#define MICROPY_PY_NETWORK (1) +#define MICROPY_PY_NETWORK_PPP_LWIP (1) + +// CYW43 driver configuration. +#define CYW43_USE_SPI (1) +#define CYW43_LWIP (1) +#define CYW43_GPIO (1) +#define CYW43_SPI_PIO (1) + +#ifndef CYW43_WL_GPIO_COUNT +#define CYW43_WL_GPIO_COUNT 3 +#endif + +#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT + +int mp_hal_is_pin_reserved(int n); +#define MICROPY_HW_PIN_RESERVED(i) mp_hal_is_pin_reserved(i) + diff --git a/boards/pimoroni_plasma2350/pimoroni_plasma2350w.h b/boards/pimoroni_plasma2350/pimoroni_plasma2350w.h new file mode 100644 index 0000000..499d630 --- /dev/null +++ b/boards/pimoroni_plasma2350/pimoroni_plasma2350w.h @@ -0,0 +1,184 @@ +/* + * Copyright (c) 2024 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/pico2_w.h" + +// pico_cmake_set PICO_PLATFORM=rp2350 +// pico_cmake_set PICO_CYW43_SUPPORTED = 1 + +#ifndef _BOARDS_PICO2_W_H +#define _BOARDS_PICO2_W_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 + +// --- 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 = (4 * 1024 * 1024) +#ifndef PICO_FLASH_SIZE_BYTES +#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024) +#endif +// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads) +// note the SMSP mode pin is on WL_GPIO1 + +#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 + +// If CYW43_WL_GPIO_VBUS_PIN is defined then a CYW43 GPIO has to be used to read VBUS. +// This can be passed to cyw43_arch_gpio_get to determine if the device is battery powered. +// PICO_VBUS_PIN and CYW43_WL_GPIO_VBUS_PIN should not both be defined. +#ifndef CYW43_WL_GPIO_VBUS_PIN +#define CYW43_WL_GPIO_VBUS_PIN 2 +#endif + +// If CYW43_USES_VSYS_PIN is defined then CYW43 uses the VSYS GPIO (defined by PICO_VSYS_PIN) for other purposes. +// If this is the case, to use the VSYS GPIO it's necessary to ensure CYW43 is not using it. +// This can be achieved by wrapping the use of the VSYS GPIO in cyw43_thread_enter / cyw43_thread_exit. +#ifndef CYW43_USES_VSYS_PIN +#define CYW43_USES_VSYS_PIN 1 +#endif + +// The GPIO Pin used to monitor VSYS. Typically you would use this with ADC. +// There is an example in adc/read_vsys in pico-examples. +#ifndef PICO_VSYS_PIN +#define PICO_VSYS_PIN 29 +#endif + +#ifndef PICO_RP2350_A2_SUPPORTED +#define PICO_RP2350_A2_SUPPORTED 1 +#endif + +// PICO_CONFIG: CYW43_PIN_WL_DYNAMIC, flag to indicate if cyw43 SPI pins can be changed at runtime, type=bool, default=false, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_PIN_WL_DYNAMIC +#define CYW43_PIN_WL_DYNAMIC 1 +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_REG_ON, gpio pin to power up the cyw43 chip, type=int, default=23, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_REG_ON +#define CYW43_DEFAULT_PIN_WL_REG_ON 23u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_DATA_OUT, gpio pin for spi data out to the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_DATA_OUT +#define CYW43_DEFAULT_PIN_WL_DATA_OUT 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_DATA_IN, gpio pin for spi data in from the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_DATA_IN +#define CYW43_DEFAULT_PIN_WL_DATA_IN 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_HOST_WAKE, gpio (irq) pin for the irq line from the cyw43 chip, type=int, default=24, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE +#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 24u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_CLOCK, gpio pin for the spi clock line to the cyw43 chip, type=int, default=29, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_CLOCK +#define CYW43_DEFAULT_PIN_WL_CLOCK 29u +#endif + +// PICO_CONFIG: CYW43_DEFAULT_PIN_WL_CS, gpio pin for the spi chip select to the cyw43 chip, type=int, default=25, advanced=true, group=pico_cyw43_driver +#ifndef CYW43_DEFAULT_PIN_WL_CS +#define CYW43_DEFAULT_PIN_WL_CS 25u +#endif + +#endif diff --git a/micropython/board/PIMORONI_PLASMA2350/pins.csv b/boards/pimoroni_plasma2350/pins.csv similarity index 100% rename from micropython/board/PIMORONI_PLASMA2350/pins.csv rename to boards/pimoroni_plasma2350/pins.csv diff --git a/boards/pimoroni_plasma2350/usermodules.cmake b/boards/pimoroni_plasma2350/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/pimoroni_plasma2350/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/micropython/board/PIMORONI_TINY2350/board.json b/boards/pimoroni_tiny2350/board.json similarity index 100% rename from micropython/board/PIMORONI_TINY2350/board.json rename to boards/pimoroni_tiny2350/board.json diff --git a/micropython/board/PIMORONI_PICO_PLUS2/manifest.py b/boards/pimoroni_tiny2350/manifest.py similarity index 100% rename from micropython/board/PIMORONI_PICO_PLUS2/manifest.py rename to boards/pimoroni_tiny2350/manifest.py diff --git a/micropython/board/PIMORONI_TINY2350/mpconfigboard.cmake b/boards/pimoroni_tiny2350/mpconfigboard.cmake similarity index 82% rename from micropython/board/PIMORONI_TINY2350/mpconfigboard.cmake rename to boards/pimoroni_tiny2350/mpconfigboard.cmake index db6a8b3..a8718d6 100644 --- a/micropython/board/PIMORONI_TINY2350/mpconfigboard.cmake +++ b/boards/pimoroni_tiny2350/mpconfigboard.cmake @@ -6,3 +6,5 @@ set(PICO_PLATFORM "rp2350") set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) set(MICROPY_C_HEAP_SIZE 4096) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/micropython/board/PIMORONI_TINY2350/mpconfigboard.h b/boards/pimoroni_tiny2350/mpconfigboard.h similarity index 100% rename from micropython/board/PIMORONI_TINY2350/mpconfigboard.h rename to boards/pimoroni_tiny2350/mpconfigboard.h diff --git a/boards/pimoroni_tiny2350/usermodules.cmake b/boards/pimoroni_tiny2350/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/pimoroni_tiny2350/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/micropython/board/PIMORONI_PLASMA2350/manifest.py b/boards/rpi_pico2/manifest.py similarity index 100% rename from micropython/board/PIMORONI_PLASMA2350/manifest.py rename to boards/rpi_pico2/manifest.py diff --git a/boards/rpi_pico2/mpconfigboard.cmake b/boards/rpi_pico2/mpconfigboard.cmake new file mode 100644 index 0000000..adbe6ba --- /dev/null +++ b/boards/rpi_pico2/mpconfigboard.cmake @@ -0,0 +1,18 @@ +# cmake file for Raspberry Pi Pico2 +set(PICO_BOARD "pico2") + +# To change the gpio count for QFN-80 +# set(PICO_NUM_GPIOS 48) + +# Links micropy_lib_lwip and sets MICROPY_PY_LWIP = 1 +# Picked up and expanded upon in mpconfigboard.h +set(MICROPY_PY_LWIP ON) + +if (PICO_CYW43_SUPPORTED) + include(enable_cyw43.cmake) + set(PICO_PINS_CSV_NAME pins_cyw43.csv) +endif() + +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/boards/rpi_pico2/mpconfigboard.h b/boards/rpi_pico2/mpconfigboard.h new file mode 100644 index 0000000..d52c6af --- /dev/null +++ b/boards/rpi_pico2/mpconfigboard.h @@ -0,0 +1,28 @@ +// Board and hardware specific configuration +#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico2" +#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - 1024 * 1024 * 2) + +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "Pico2" + +// Enable WiFi & PPP +#define MICROPY_PY_NETWORK (1) +#define MICROPY_PY_NETWORK_PPP_LWIP (1) + +#if MICROPY_PY_NETWORK_CYW43 +#include "enable_cyw43.h" + +// Enable the ability to pass cyw43 pins into WiFi, Bluetooth and Pin constructors +#define CYW43_PIN_WL_DYNAMIC 1 +#define CYW43_PIO_CLOCK_DIV_DYNAMIC 1 + +// Set the default pins to gpios 2-5 +#define CYW43_DEFAULT_PIN_WL_REG_ON 2 +#define CYW43_DEFAULT_PIN_WL_CS 3 +#define CYW43_DEFAULT_PIN_WL_DATA_OUT 4 +#define CYW43_DEFAULT_PIN_WL_DATA_IN 4 +#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 4 +#define CYW43_DEFAULT_PIN_WL_CLOCK 5 + +// Default pio clock +#define CYW43_PIO_CLOCK_DIV_INT 3 +#endif \ No newline at end of file diff --git a/micropython/board/RPI_PICO2/pins.csv b/boards/rpi_pico2/pins.csv similarity index 100% rename from micropython/board/RPI_PICO2/pins.csv rename to boards/rpi_pico2/pins.csv diff --git a/boards/rpi_pico2/usermodules.cmake b/boards/rpi_pico2/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/rpi_pico2/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/boards/rpi_pico2_w/manifest.py b/boards/rpi_pico2_w/manifest.py new file mode 100644 index 0000000..77dc9fd --- /dev/null +++ b/boards/rpi_pico2_w/manifest.py @@ -0,0 +1,8 @@ +include("$(PORT_DIR)/boards/manifest.py") + +require("bundle-networking") + +# Bluetooth +require("aioble") + +include("../manifest_pico2.py") \ No newline at end of file diff --git a/boards/rpi_pico2_w/mpconfigboard.cmake b/boards/rpi_pico2_w/mpconfigboard.cmake new file mode 100644 index 0000000..4ba1101 --- /dev/null +++ b/boards/rpi_pico2_w/mpconfigboard.cmake @@ -0,0 +1,16 @@ +# cmake file for Raspberry Pi Pico 2 W +set(PICO_BOARD "pico2_w") + +# To change the gpio count for QFN-80 +# set(PICO_NUM_GPIOS 48) + +# Links micropy_lib_lwip and sets MICROPY_PY_LWIP = 1 +# Picked up and expanded upon in mpconfigboard.h +set(MICROPY_PY_LWIP ON) + +include(enable_cyw43.cmake) + +# Board specific version of the frozen manifest +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/boards/rpi_pico2_w/mpconfigboard.h b/boards/rpi_pico2_w/mpconfigboard.h new file mode 100644 index 0000000..49a7268 --- /dev/null +++ b/boards/rpi_pico2_w/mpconfigboard.h @@ -0,0 +1,10 @@ +// Board and hardware specific configuration +#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico 2 W" +#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - 1024 * 1024 * 2) + +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "Pico2W" + +// Enable PPP +#define MICROPY_PY_NETWORK_PPP_LWIP (1) + +#include "enable_cyw43.h" \ No newline at end of file diff --git a/boards/rpi_pico2_w/pins.csv b/boards/rpi_pico2_w/pins.csv new file mode 100644 index 0000000..012bc7c --- /dev/null +++ b/boards/rpi_pico2_w/pins.csv @@ -0,0 +1,30 @@ +GP0,GPIO0 +GP1,GPIO1 +GP2,GPIO2 +GP3,GPIO3 +GP4,GPIO4 +GP5,GPIO5 +GP6,GPIO6 +GP7,GPIO7 +GP8,GPIO8 +GP9,GPIO9 +GP10,GPIO10 +GP11,GPIO11 +GP12,GPIO12 +GP13,GPIO13 +GP14,GPIO14 +GP15,GPIO15 +GP16,GPIO16 +GP17,GPIO17 +GP18,GPIO18 +GP19,GPIO19 +GP20,GPIO20 +GP21,GPIO21 +GP22,GPIO22 +GP26,GPIO26 +GP27,GPIO27 +GP28,GPIO28 +WL_GPIO0,EXT_GPIO0 +WL_GPIO1,EXT_GPIO1 +WL_GPIO2,EXT_GPIO2 +LED,EXT_GPIO0 \ No newline at end of file diff --git a/boards/rpi_pico2_w/usermodules.cmake b/boards/rpi_pico2_w/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/rpi_pico2_w/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/micropython/board/RPI_PICO2/board.json b/boards/rpi_pico2b/board.json similarity index 100% rename from micropython/board/RPI_PICO2/board.json rename to boards/rpi_pico2b/board.json diff --git a/micropython/board/PIMORONI_TINY2350/manifest.py b/boards/rpi_pico2b/manifest.py similarity index 100% rename from micropython/board/PIMORONI_TINY2350/manifest.py rename to boards/rpi_pico2b/manifest.py diff --git a/micropython/board/RPI_PICO2B/mpconfigboard.cmake b/boards/rpi_pico2b/mpconfigboard.cmake similarity index 85% rename from micropython/board/RPI_PICO2B/mpconfigboard.cmake rename to boards/rpi_pico2b/mpconfigboard.cmake index 6ff6ef9..7114d5d 100644 --- a/micropython/board/RPI_PICO2B/mpconfigboard.cmake +++ b/boards/rpi_pico2b/mpconfigboard.cmake @@ -10,3 +10,5 @@ set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) set(MICROPY_C_HEAP_SIZE 4096) set(PICO_NUM_GPIOS 48) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/micropython/board/RPI_PICO2/mpconfigboard.h b/boards/rpi_pico2b/mpconfigboard.h similarity index 100% rename from micropython/board/RPI_PICO2/mpconfigboard.h rename to boards/rpi_pico2b/mpconfigboard.h diff --git a/micropython/board/RPI_PICO2B/pico2b.h b/boards/rpi_pico2b/pico2b.h similarity index 100% rename from micropython/board/RPI_PICO2B/pico2b.h rename to boards/rpi_pico2b/pico2b.h diff --git a/micropython/board/PIMORONI_PICO_PLUS2/pins.csv b/boards/rpi_pico2b/pins.csv similarity index 100% rename from micropython/board/PIMORONI_PICO_PLUS2/pins.csv rename to boards/rpi_pico2b/pins.csv diff --git a/boards/rpi_pico2b/usermodules.cmake b/boards/rpi_pico2b/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/rpi_pico2b/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file diff --git a/micropython/micropython-pico2.cmake b/boards/usermod-common.cmake similarity index 100% rename from micropython/micropython-pico2.cmake rename to boards/usermod-common.cmake diff --git a/ci/micropython.sh b/ci/micropython.sh index f1a24c4..a8a2daa 100644 --- a/ci/micropython.sh +++ b/ci/micropython.sh @@ -1,5 +1,15 @@ export TERM=${TERM:="xterm-256color"} +MICROPYTHON_FLAVOUR="pimoroni" +MICROPYTHON_VERSION="pico2_w_2025_09_19" + +PIMORONI_PICO_FLAVOUR="pimoroni" +PIMORONI_PICO_VERSION="feature/picovector2-and-layers" + +PY_DECL_VERSION="v0.0.3" +DIR2UF2_VERSION="v0.0.9" + + function log_success { echo -e "$(tput setaf 2)$1$(tput sgr0)" } @@ -12,10 +22,19 @@ function log_warning { echo -e "$(tput setaf 1)$1$(tput sgr0)" } -function micropython_clone { - log_inform "Using MicroPython $MICROPYTHON_VERSION" - git clone https://github.com/$MICROPYTHON_FLAVOUR/micropython - cd micropython +function ci_pimoroni_pico_clone { + log_inform "Using Pimoroni Pico $PIMORONI_PICO_FLAVOUR/$PIMORONI_PICO_VERSION" + git clone https://github.com/$PIMORONI_PICO_FLAVOUR/pimoroni-pico "$CI_BUILD_ROOT/pimoroni-pico" + cd "$CI_BUILD_ROOT/pimoroni-pico" || return 1 + git checkout $PIMORONI_PICO_VERSION + git submodule update --init + cd "$CI_BUILD_ROOT" +} + +function ci_micropython_clone { + log_inform "Using MicroPython $MICROPYTHON_FLAVOUR/$MICROPYTHON_VERSION" + git clone https://github.com/$MICROPYTHON_FLAVOUR/micropython "$CI_BUILD_ROOT/micropython" + cd "$CI_BUILD_ROOT/micropython" || return 1 git checkout $MICROPYTHON_VERSION git submodule update --init lib/pico-sdk git submodule update --init lib/cyw43-driver @@ -24,42 +43,98 @@ function micropython_clone { git submodule update --init lib/micropython-lib git submodule update --init lib/tinyusb git submodule update --init lib/btstack - cd ../ + cd "$CI_BUILD_ROOT" } -function micropython_build_mpy_cross { - cd micropython/mpy-cross +function ci_tools_clone { + mkdir -p "$CI_BUILD_ROOT/tools" + git clone https://github.com/gadgetoid/py_decl -b "$PY_DECL_VERSION" "$CI_BUILD_ROOT/tools/py_decl" + git clone https://github.com/gadgetoid/dir2uf2 -b "$DIR2UF2_VERSION" "$CI_BUILD_ROOT/tools/dir2uf2" + python3 -m pip install littlefs-python==0.12.0 +} + +function ci_micropython_build_mpy_cross { + cd "$CI_BUILD_ROOT/micropython/mpy-cross" || return 1 ccache --zero-stats || true - CROSS_COMPILE="ccache " USER_C_MODULES= make + CROSS_COMPILE="ccache " make ccache --show-stats || true - cd ../../ + cd "$CI_BUILD_ROOT" } -function apt_install_build_deps { +function ci_apt_install_build_deps { sudo apt update && sudo apt install ccache } +function ci_prepare_all { + ci_tools_clone + ci_micropython_clone + ci_pimoroni_pico_clone + ci_micropython_build_mpy_cross +} + +function ci_debug { + log_inform "Project root: $CI_PROJECT_ROOT" + log_inform "Build root: $CI_BUILD_ROOT" +} + function micropython_version { - echo "MICROPY_GIT_TAG=$MICROPYTHON_VERSION, $BOARD_NAME $TAG_OR_SHA" >> $GITHUB_ENV + BOARD=$1 + echo "MICROPY_GIT_TAG=$MICROPYTHON_VERSION, $BOARD $TAG_OR_SHA" >> $GITHUB_ENV echo "MICROPY_GIT_HASH=$MICROPYTHON_VERSION-$TAG_OR_SHA" >> $GITHUB_ENV } -function cmake_configure { - cmake -S micropython/ports/rp2 -B build-$BOARD_NAME \ +function ci_cmake_configure { + BOARD=$1 + TOOLS_DIR="$CI_BUILD_ROOT/tools" + MICROPY_BOARD_DIR=$CI_PROJECT_ROOT/boards/$BOARD + if [ ! -f "$MICROPY_BOARD_DIR/mpconfigboard.cmake" ]; then + log_warning "Invalid board: \"$BOARD\". Run with ci_cmake_configure ." + return 1 + fi + BUILD_DIR="$CI_BUILD_ROOT/build-$BOARD" + cmake -S $CI_BUILD_ROOT/micropython/ports/rp2 -B "$BUILD_DIR" \ + -DPICOTOOL_FORCE_FETCH_FROM_GIT=1 \ -DPICO_BUILD_DOCS=0 \ -DPICO_NO_COPRO_DIS=1 \ - -DUSER_C_MODULES=$USER_C_MODULES \ - -DMICROPY_BOARD_DIR=$MICROPY_BOARD_DIR \ - -DMICROPY_BOARD=$MICROPY_BOARD \ - -DMICROPY_BOARD_VARIANT=$MICROPY_BOARD_VARIANT \ + -DPICOTOOL_FETCH_FROM_GIT_PATH="$TOOLS_DIR/picotool" \ + -DPIMORONI_PICO_PATH="$CI_BUILD_ROOT/pimoroni-pico" \ + -DPIMORONI_TOOLS_DIR="$TOOLS_DIR" \ + -DUSER_C_MODULES="$MICROPY_BOARD_DIR/usermodules.cmake" \ + -DMICROPY_BOARD_DIR="$MICROPY_BOARD_DIR" \ + -DMICROPY_BOARD="$BOARD" \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache } -function cmake_build { +function ci_cmake_build { + BOARD=$1 + MICROPY_BOARD_DIR=$CI_PROJECT_ROOT/boards/$BOARD + if [ ! -f "$MICROPY_BOARD_DIR/mpconfigboard.cmake" ]; then + log_warning "Invalid board: \"$BOARD\". Run with ci_cmake_build ." + return 1 + fi + BUILD_DIR="$CI_BUILD_ROOT/build-$BOARD" ccache --zero-stats || true - cmake --build build-$BOARD_NAME -j 2 + cmake --build $BUILD_DIR -j 2 ccache --show-stats || true - cd build-$BOARD_NAME - cp firmware.uf2 $RELEASE_FILE.uf2 + + if [ -z ${CI_RELEASE_FILENAME+x} ]; then + CI_RELEASE_FILENAME="$BOARD" + fi + + log_inform "Copying .uf2 to $(pwd)/$CI_RELEASE_FILENAME.uf2" + cp "$BUILD_DIR/firmware.uf2" $CI_RELEASE_FILENAME.uf2 + + if [ -f "$BUILD_DIR/firmware-with-filesystem.uf2" ]; then + log_inform "Copying -with-filesystem .uf2 to $(pwd)/$CI_RELEASE_FILENAME-with-filesystem.uf2" + cp "$BUILD_DIR/firmware-with-filesystem.uf2" $CI_RELEASE_FILENAME-with-filesystem.uf2 + fi } + +if [ -z ${CI_USE_ENV+x} ] || [ -z ${CI_PROJECT_ROOT+x} ] || [ -z ${CI_BUILD_ROOT+x} ]; then + SCRIPT_PATH="$(dirname $0)" + CI_PROJECT_ROOT=$(realpath "$SCRIPT_PATH/..") + CI_BUILD_ROOT=$(pwd) +fi + +ci_debug diff --git a/micropython/examples/pico_jumbo/big_blink.py b/examples/pico_jumbo/big_blink.py similarity index 100% rename from micropython/examples/pico_jumbo/big_blink.py rename to examples/pico_jumbo/big_blink.py diff --git a/micropython/examples/pico_jumbo/big_button.py b/examples/pico_jumbo/big_button.py similarity index 100% rename from micropython/examples/pico_jumbo/big_button.py rename to examples/pico_jumbo/big_button.py diff --git a/micropython/examples/pico_jumbo/big_toggle.py b/examples/pico_jumbo/big_toggle.py similarity index 100% rename from micropython/examples/pico_jumbo/big_toggle.py rename to examples/pico_jumbo/big_toggle.py diff --git a/micropython/examples/pico_plus_2/breakouts/bme68x-breakout.py b/examples/pico_plus_2/breakouts/bme68x-breakout.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/bme68x-breakout.py rename to examples/pico_plus_2/breakouts/bme68x-breakout.py diff --git a/micropython/examples/pico_plus_2/breakouts/lte-astronauts.py b/examples/pico_plus_2/breakouts/lte-astronauts.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/lte-astronauts.py rename to examples/pico_plus_2/breakouts/lte-astronauts.py diff --git a/examples/pico_plus_2/breakouts/lte-breakout.py b/examples/pico_plus_2/breakouts/lte-breakout.py new file mode 100644 index 0000000..d20037d --- /dev/null +++ b/examples/pico_plus_2/breakouts/lte-breakout.py @@ -0,0 +1,38 @@ +import lte +import time +import requests +from machine import Pin, PWM + + +MOBILE_APN = "Your APN Here" + +# Setting this to True will attempt to resume an existing connection +RESUME = False + +# Fix the eye-searing brightness of the onboard LED with PWM +class Netlight: + def __init__(self): + self.pin = PWM(Pin("LED", Pin.OUT), freq=1000) + + def value(self, value): + self.pin.duty_u16(value * 2000) + + +con = lte.LTE(MOBILE_APN, netlight_led=Netlight(), skip_reset=RESUME) +con.start_ppp(connect=not RESUME) + +# Do some requests! Internet stuff should just work now. +try: + t_start = time.time() + for x in range(2): + req = requests.get("https://shop.pimoroni.com/robots.txt") + print(req) + +finally: + t_end = time.time() + + print(f"Took: {t_end - t_start} seconds") + + print("Disconnecting...") + con.stop_ppp() + print("Done!") diff --git a/micropython/examples/pico_plus_2/breakouts/lte-catfacts.py b/examples/pico_plus_2/breakouts/lte-catfacts.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/lte-catfacts.py rename to examples/pico_plus_2/breakouts/lte-catfacts.py diff --git a/micropython/examples/pico_plus_2/breakouts/rm2-breakout-catfacts.py b/examples/pico_plus_2/breakouts/rm2-breakout-catfacts.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/rm2-breakout-catfacts.py rename to examples/pico_plus_2/breakouts/rm2-breakout-catfacts.py diff --git a/micropython/examples/pico_plus_2/breakouts/scd41-breakout.py b/examples/pico_plus_2/breakouts/scd41-breakout.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/scd41-breakout.py rename to examples/pico_plus_2/breakouts/scd41-breakout.py diff --git a/micropython/examples/pico_plus_2/breakouts/secrets.py b/examples/pico_plus_2/breakouts/secrets.py similarity index 100% rename from micropython/examples/pico_plus_2/breakouts/secrets.py rename to examples/pico_plus_2/breakouts/secrets.py diff --git a/micropython/examples/pico_plus_2/button.py b/examples/pico_plus_2/button.py similarity index 100% rename from micropython/examples/pico_plus_2/button.py rename to examples/pico_plus_2/button.py diff --git a/micropython/examples/pico_plus_2/onboard_led.py b/examples/pico_plus_2/onboard_led.py similarity index 100% rename from micropython/examples/pico_plus_2/onboard_led.py rename to examples/pico_plus_2/onboard_led.py diff --git a/micropython/examples/pico_plus_2_w/astronauts.py b/examples/pico_plus_2_w/astronauts.py similarity index 100% rename from micropython/examples/pico_plus_2_w/astronauts.py rename to examples/pico_plus_2_w/astronauts.py diff --git a/micropython/examples/pico_plus_2_w/button.py b/examples/pico_plus_2_w/button.py similarity index 100% rename from micropython/examples/pico_plus_2_w/button.py rename to examples/pico_plus_2_w/button.py diff --git a/micropython/examples/pico_plus_2_w/catfacts.py b/examples/pico_plus_2_w/catfacts.py similarity index 100% rename from micropython/examples/pico_plus_2_w/catfacts.py rename to examples/pico_plus_2_w/catfacts.py diff --git a/micropython/examples/pico_plus_2_w/onboard_led.py b/examples/pico_plus_2_w/onboard_led.py similarity index 100% rename from micropython/examples/pico_plus_2_w/onboard_led.py rename to examples/pico_plus_2_w/onboard_led.py diff --git a/micropython/examples/pico_plus_2_w/secrets.py b/examples/pico_plus_2_w/secrets.py similarity index 100% rename from micropython/examples/pico_plus_2_w/secrets.py rename to examples/pico_plus_2_w/secrets.py diff --git a/micropython/examples/plasma_2350/breakouts/rm2-breakout-catfacts.py b/examples/plasma_2350/breakouts/rm2-breakout-catfacts.py similarity index 100% rename from micropython/examples/plasma_2350/breakouts/rm2-breakout-catfacts.py rename to examples/plasma_2350/breakouts/rm2-breakout-catfacts.py diff --git a/micropython/examples/plasma_2350/breakouts/secrets.py b/examples/plasma_2350/breakouts/secrets.py similarity index 100% rename from micropython/examples/plasma_2350/breakouts/secrets.py rename to examples/plasma_2350/breakouts/secrets.py diff --git a/micropython/examples/plasma_2350/breakouts/trackball-breakout.py b/examples/plasma_2350/breakouts/trackball-breakout.py similarity index 100% rename from micropython/examples/plasma_2350/breakouts/trackball-breakout.py rename to examples/plasma_2350/breakouts/trackball-breakout.py diff --git a/micropython/examples/plasma_2350/button_control.py b/examples/plasma_2350/button_control.py similarity index 100% rename from micropython/examples/plasma_2350/button_control.py rename to examples/plasma_2350/button_control.py diff --git a/micropython/examples/plasma_2350/buttons.py b/examples/plasma_2350/buttons.py similarity index 100% rename from micropython/examples/plasma_2350/buttons.py rename to examples/plasma_2350/buttons.py diff --git a/micropython/examples/plasma_2350/rainbow.py b/examples/plasma_2350/rainbow.py similarity index 100% rename from micropython/examples/plasma_2350/rainbow.py rename to examples/plasma_2350/rainbow.py diff --git a/micropython/examples/plasma_2350/rgb_led.py b/examples/plasma_2350/rgb_led.py similarity index 100% rename from micropython/examples/plasma_2350/rgb_led.py rename to examples/plasma_2350/rgb_led.py diff --git a/micropython/examples/plasma_2350/single_colour.py b/examples/plasma_2350/single_colour.py similarity index 100% rename from micropython/examples/plasma_2350/single_colour.py rename to examples/plasma_2350/single_colour.py diff --git a/micropython/examples/plasma_2350_w/cheerlights.py b/examples/plasma_2350_w/cheerlights.py similarity index 100% rename from micropython/examples/plasma_2350_w/cheerlights.py rename to examples/plasma_2350_w/cheerlights.py diff --git a/micropython/examples/plasma_2350_w/html/index.html b/examples/plasma_2350_w/html/index.html similarity index 100% rename from micropython/examples/plasma_2350_w/html/index.html rename to examples/plasma_2350_w/html/index.html diff --git a/micropython/examples/plasma_2350_w/secrets.py b/examples/plasma_2350_w/secrets.py similarity index 100% rename from micropython/examples/plasma_2350_w/secrets.py rename to examples/plasma_2350_w/secrets.py diff --git a/micropython/examples/plasma_2350_w/webpage.py b/examples/plasma_2350_w/webpage.py similarity index 100% rename from micropython/examples/plasma_2350_w/webpage.py rename to examples/plasma_2350_w/webpage.py diff --git a/micropython/examples/tiny_2350/breakouts/bme688-breakout.py b/examples/tiny_2350/breakouts/bme688-breakout.py similarity index 100% rename from micropython/examples/tiny_2350/breakouts/bme688-breakout.py rename to examples/tiny_2350/breakouts/bme688-breakout.py diff --git a/micropython/examples/tiny_2350/breakouts/scd41-breakout.py b/examples/tiny_2350/breakouts/scd41-breakout.py similarity index 100% rename from micropython/examples/tiny_2350/breakouts/scd41-breakout.py rename to examples/tiny_2350/breakouts/scd41-breakout.py diff --git a/micropython/examples/tiny_2350/buttons.py b/examples/tiny_2350/buttons.py similarity index 100% rename from micropython/examples/tiny_2350/buttons.py rename to examples/tiny_2350/buttons.py diff --git a/micropython/examples/tiny_2350/rgb_led.py b/examples/tiny_2350/rgb_led.py similarity index 100% rename from micropython/examples/tiny_2350/rgb_led.py rename to examples/tiny_2350/rgb_led.py diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.cmake b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.cmake deleted file mode 100644 index 9a18365..0000000 --- a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# cmake file for Raspberry Pi Pico -set(PICO_BOARD "pimoroni_pico_plus2_rp2350") -set(PICO_PLATFORM "rp2350") -set(PICO_NUM_GPIOS 48) - -# Board specific version of the frozen manifest -set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) - -set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h deleted file mode 100644 index b641619..0000000 --- a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h +++ /dev/null @@ -1,8 +0,0 @@ -// Board and hardware specific configuration -#ifndef MICROPY_HW_BOARD_NAME -// Might be defined by mpconfigvariant.cmake -#define MICROPY_HW_BOARD_NAME "Pimoroni Pico Plus 2" -#endif -#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - (2 * 1024 * 1024)) - -#define MICROPY_HW_PSRAM_CS_PIN PIMORONI_PICO_PLUS2_PSRAM_CS_PIN diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant.cmake b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant.cmake deleted file mode 100644 index e69de29..0000000 diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PSRAM.cmake b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PSRAM.cmake deleted file mode 100644 index cb27d72..0000000 --- a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PSRAM.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# Override the MicroPython board name -list(APPEND MICROPY_DEF_BOARD - "MICROPY_HW_ENABLE_PSRAM=1" - "MICROPY_GC_SPLIT_HEAP=1" - "MICROPY_HW_BOARD_NAME=\"Pimoroni Pico Plus 2 (PSRAM)\"" -) diff --git a/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.cmake b/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.cmake deleted file mode 100644 index 7ba0af6..0000000 --- a/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.cmake +++ /dev/null @@ -1,8 +0,0 @@ -# cmake file for Raspberry Pi Pico -set(PICO_BOARD "pimoroni_plasma2350") -set(PICO_PLATFORM "rp2350") - -# Board specific version of the frozen manifest -set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) - -set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.h b/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.h deleted file mode 100644 index 9aed816..0000000 --- a/micropython/board/PIMORONI_PLASMA2350/mpconfigboard.h +++ /dev/null @@ -1,7 +0,0 @@ -// 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) \ No newline at end of file diff --git a/micropython/board/RPI_PICO2/mpconfigboard.cmake b/micropython/board/RPI_PICO2/mpconfigboard.cmake deleted file mode 100644 index 6b4a7cc..0000000 --- a/micropython/board/RPI_PICO2/mpconfigboard.cmake +++ /dev/null @@ -1,8 +0,0 @@ -# cmake file for Raspberry Pi Pico -set(PICO_BOARD "pico2") -set(PICO_PLATFORM "rp2350") - -# Board specific version of the frozen manifest -set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) - -set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/RPI_PICO2B/board.json b/micropython/board/RPI_PICO2B/board.json deleted file mode 100644 index d27a82f..0000000 --- a/micropython/board/RPI_PICO2B/board.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "deploy": [ - "../deploy.md" - ], - "docs": "", - "features": [ - "Dual-core", - "External Flash", - "USB" - ], - "images": [ - "rp2-picos.jpg" - ], - "mcu": "rp2350", - "product": "Pico2", - "thumbnail": "", - "url": "https://www.raspberrypi.com/products/raspberry-pi-pico2/", - "vendor": "Raspberry Pi" -} diff --git a/micropython/board/RPI_PICO2B/mpconfigboard.h b/micropython/board/RPI_PICO2B/mpconfigboard.h deleted file mode 100644 index a50d66b..0000000 --- a/micropython/board/RPI_PICO2B/mpconfigboard.h +++ /dev/null @@ -1,3 +0,0 @@ -// Board and hardware specific configuration -#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico" -#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - 1024 * 1024) \ No newline at end of file diff --git a/micropython/board/manifest_pico2.py b/micropython/board/manifest_pico2.py deleted file mode 100644 index df993ee..0000000 --- a/micropython/board/manifest_pico2.py +++ /dev/null @@ -1,6 +0,0 @@ -MODULES_PY = "../../../pimoroni-pico/micropython/modules_py" - -freeze(MODULES_PY, "gfx_pack.py") - -freeze(MODULES_PY, "pimoroni.py") -freeze(MODULES_PY, "boot.py")