diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index b8961e10..01bcf593 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -68,6 +68,8 @@ jobs: include: - name: pico board: PICO + - name: picow + board: PICO_W - name: tiny2040 board: PIMORONI_TINY2040 - name: picolipo_4mb @@ -76,23 +78,25 @@ jobs: board: PIMORONI_PICOLIPO_16MB - name: tufty2040 board: PIMORONI_TUFTY2040 - - name: picow - board: PICO_W + local_board_dir: true - name: enviro - board: PICO_W + board: PICO_W_ENVIRO + local_board_dir: true patch: true - name: galactic_unicorn board: PICO_W - name: cosmic_unicorn board: PICO_W - name: inky_frame - board: PICO_W + board: PICO_W_INKY + local_board_dir: true patch: true env: # MicroPython version will be contained in github.event.release.tag_name for releases RELEASE_FILE: pimoroni-${{matrix.name}}-${{github.event.release.tag_name || github.sha}}-micropython - PICO_BOARD_HEADER_DIRS: micropython/lib/pico-sdk/src/boards/include/boards;pimoroni-pico-${{ github.sha }}/micropython/board/inc + MICROPY_BOARD_DIR: "$GITHUB_WORKSPACE/pimoroni-pico-${{ github.sha }}/micropython/board/${{ matrix.BOARD }}" + USER_C_MODULES: "$GITHUB_WORKSPACE/pimoroni-pico-${GITHUB_SHA}/micropython/modules/micropython-${{matrix.name}}.cmake" steps: - name: Compiler Cache @@ -129,12 +133,20 @@ jobs: run: | ../../../pimoroni-pico-${GITHUB_SHA}/micropython/board/pico-sdk-patch.sh ${{matrix.board}} - - name: Configure MicroPython + - name: Configure MicroPython (Local Board Dir) + if: matrix.local_board_dir == true shell: bash working-directory: micropython/ports/rp2 run: | - cmake -S . -B build-${{matrix.board}} -DPICO_BUILD_DOCS=0 -DUSER_C_MODULES=../../../pimoroni-pico-${GITHUB_SHA}/micropython/modules/micropython-${{matrix.name}}.cmake -DMICROPY_BOARD=${{matrix.board}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - + cmake -S . -B build-${{matrix.board}} -DPICO_BUILD_DOCS=0 -DUSER_C_MODULES=${{env.USER_C_MODULES}} -DMICROPY_BOARD_DIR=${{env.MICROPY_BOARD_DIR}} -DMICROPY_BOARD=${{matrix.board}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + + - name: Configure MicroPython (Upstream Board Dir) + if: matrix.local_board_dir != true + shell: bash + working-directory: micropython/ports/rp2 + run: | + cmake -S . -B build-${{matrix.board}} -DPICO_BUILD_DOCS=0 -DUSER_C_MODULES=${{env.USER_C_MODULES}} -DMICROPY_BOARD=${{matrix.board}} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + - name: Build MicroPython shell: bash working-directory: micropython/ports/rp2 diff --git a/micropython/board/PIMORONI_TUFTY2040/mpconfigboard.cmake b/micropython/board/PIMORONI_TUFTY2040/mpconfigboard.cmake index f14f21fd..f952202f 100644 --- a/micropython/board/PIMORONI_TUFTY2040/mpconfigboard.cmake +++ b/micropython/board/PIMORONI_TUFTY2040/mpconfigboard.cmake @@ -1 +1,5 @@ # cmake file for Pimoroni Tufty 2040 +set(PICO_BOARD "pimoroni_tufty2040") + +# Allow Pico SDK to locate "pimoroni_tufty2040.h" in this directory. +list(APPEND PICO_BOARD_HEADER_DIRS "${CMAKE_CURRENT_LIST_DIR}") diff --git a/micropython/board/inc/pimoroni_tufty2040.h b/micropython/board/PIMORONI_TUFTY2040/pimoroni_tufty2040.h similarity index 100% rename from micropython/board/inc/pimoroni_tufty2040.h rename to micropython/board/PIMORONI_TUFTY2040/pimoroni_tufty2040.h diff --git a/micropython/modules/micropython-enviro.cmake b/micropython/modules/micropython-enviro.cmake index f57f8ab3..cd5f00c6 100644 --- a/micropython/modules/micropython-enviro.cmake +++ b/micropython/modules/micropython-enviro.cmake @@ -7,8 +7,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../") set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) -set(MICROPY_BOARD_DIR "${CMAKE_CURRENT_LIST_DIR}/../board/PICO_W_ENVIRO") - # Essential include(pimoroni_i2c/micropython) include(pimoroni_bus/micropython) diff --git a/micropython/modules/micropython-inky_frame.cmake b/micropython/modules/micropython-inky_frame.cmake index 76f6e846..64810a5a 100644 --- a/micropython/modules/micropython-inky_frame.cmake +++ b/micropython/modules/micropython-inky_frame.cmake @@ -7,8 +7,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../") set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) -set(MICROPY_BOARD_DIR "${CMAKE_CURRENT_LIST_DIR}/../board/PICO_W_INKY") - # Essential include(pimoroni_i2c/micropython) include(pimoroni_bus/micropython) diff --git a/micropython/modules/micropython-tufty2040.cmake b/micropython/modules/micropython-tufty2040.cmake index 88a803d9..5b4fe1cc 100644 --- a/micropython/modules/micropython-tufty2040.cmake +++ b/micropython/modules/micropython-tufty2040.cmake @@ -7,8 +7,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../") set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) -set(MICROPY_BOARD_DIR "${CMAKE_CURRENT_LIST_DIR}/../board/PIMORONI_TUFTY2040") - # Essential include(pimoroni_i2c/micropython) include(pimoroni_bus/micropython)