From ac3447443562b0574fd4500fed75f64d6eb19bd4 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 30 Aug 2024 07:44:31 +0100 Subject: [PATCH] Pico Plus 2: Add a PPP variant. --- .github/workflows/micropython.yml | 3 +++ .../board/PIMORONI_PICO_PLUS2/manifest-ppp.py | 3 +++ .../board/PIMORONI_PICO_PLUS2/mpconfigboard.h | 17 +++++++++++++++++ .../mpconfigvariant_PPP.cmake | 11 +++++++++++ 4 files changed, 34 insertions(+) create mode 100644 micropython/board/PIMORONI_PICO_PLUS2/manifest-ppp.py create mode 100644 micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PPP.cmake diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 1261337..338e88e 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -30,6 +30,9 @@ jobs: - name: pico_plus2_rp2350_psram board: PIMORONI_PICO_PLUS2 variant: PSRAM + - name: pico_plus2_rp2350_psram_n_ppp + board: PIMORONI_PICO_PLUS2 + variant: PPP - name: pico_plus2_rp2350 board: PIMORONI_PICO_PLUS2 diff --git a/micropython/board/PIMORONI_PICO_PLUS2/manifest-ppp.py b/micropython/board/PIMORONI_PICO_PLUS2/manifest-ppp.py new file mode 100644 index 0000000..0ab9bf0 --- /dev/null +++ b/micropython/board/PIMORONI_PICO_PLUS2/manifest-ppp.py @@ -0,0 +1,3 @@ +require("bundle-networking") + +include("manifest.py") \ No newline at end of file diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h index b641619..888f298 100644 --- a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h +++ b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h @@ -6,3 +6,20 @@ #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 + +#ifdef PPP_ENABLE_PPP + +// Enable networking. +#define MICROPY_PY_NETWORK 1 +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "Pico" + +#define MICROPY_PY_NETWORK_PPP_LWIP 1 + +#define MICROPY_HW_NIC_PPP { MP_ROM_QSTR(MP_QSTR_PINT), MP_ROM_PTR(&mp_network_ppp_lwip_type) }, + +#define MICROPY_BOARD_NETWORK_INTERFACES \ + MICROPY_HW_NIC_PPP + +#define MICROPY_PY_SOCKET_EXTENDED_STATE 1 + +#endif \ No newline at end of file diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PPP.cmake b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PPP.cmake new file mode 100644 index 0000000..e7dc96b --- /dev/null +++ b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_PPP.cmake @@ -0,0 +1,11 @@ +# 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)\"" + "PPP_ENABLE_PPP=1" +) + +set(MICROPY_PY_LWIP ON) + +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest-ppp.py)