From 20de8a319812994e5865e48412e93e31c17161bc Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Thu, 5 Oct 2023 12:19:38 +0100 Subject: [PATCH 1/5] CI: Bump MicroPython to 6f76d1c. Changes: https://github.com/micropython/micropython/compare/856e08b1931b88271816a2f60648f6ff332235b2...6f76d1c7fa28c4bcb94a1fa33e3cca1ba8c8cdfd --- .github/workflows/micropython.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 9e70ff89..4d2d04d9 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -7,7 +7,7 @@ on: types: [created] env: - MICROPYTHON_VERSION: 856e08b1931b88271816a2f60648f6ff332235b2 + MICROPYTHON_VERSION: 6f76d1c7fa28c4bcb94a1fa33e3cca1ba8c8cdfd WORKFLOW_VERSION: v1 jobs: From 08ce4fbb812f15fbaaa26198b01fddea7f1c8106 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Thu, 5 Oct 2023 12:27:13 +0100 Subject: [PATCH 2/5] MicroPython: Update boards to match upstream naming conventions. --- .github/workflows/micropython.yml | 10 +++++----- micropython/board/PICO_W_ENVIRO/mpconfigboard.cmake | 3 ++- micropython/board/PICO_W_INKY/mpconfigboard.cmake | 3 ++- micropython/board/{PICO => RPI_PICO}/board.json | 0 micropython/board/{PICO => RPI_PICO}/manifest.py | 0 .../board/{PICO => RPI_PICO}/mpconfigboard.cmake | 1 + micropython/board/{PICO => RPI_PICO}/mpconfigboard.h | 0 micropython/board/{PICO => RPI_PICO}/pins.csv | 0 micropython/board/{PICO_W => RPI_PICO_W}/board.json | 0 micropython/board/{PICO_W => RPI_PICO_W}/manifest.py | 0 .../board/{PICO_W => RPI_PICO_W}/mpconfigboard.cmake | 1 + .../board/{PICO_W => RPI_PICO_W}/mpconfigboard.h | 0 micropython/board/{PICO_W => RPI_PICO_W}/pins.csv | 0 13 files changed, 11 insertions(+), 7 deletions(-) rename micropython/board/{PICO => RPI_PICO}/board.json (100%) rename micropython/board/{PICO => RPI_PICO}/manifest.py (100%) rename micropython/board/{PICO => RPI_PICO}/mpconfigboard.cmake (73%) rename micropython/board/{PICO => RPI_PICO}/mpconfigboard.h (100%) rename micropython/board/{PICO => RPI_PICO}/pins.csv (100%) rename micropython/board/{PICO_W => RPI_PICO_W}/board.json (100%) rename micropython/board/{PICO_W => RPI_PICO_W}/manifest.py (100%) rename micropython/board/{PICO_W => RPI_PICO_W}/mpconfigboard.cmake (80%) rename micropython/board/{PICO_W => RPI_PICO_W}/mpconfigboard.h (100%) rename micropython/board/{PICO_W => RPI_PICO_W}/pins.csv (100%) diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 4d2d04d9..48cb246a 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -69,9 +69,9 @@ jobs: matrix: include: - name: pico - board: PICO + board: RPI_PICO - name: picow - board: PICO_W + board: RPI_PICO_W - name: tiny2040 board: PIMORONI_TINY2040 - name: picolipo_4mb @@ -84,11 +84,11 @@ jobs: board: PICO_W_ENVIRO patch: true - name: galactic_unicorn - board: PICO_W + board: RPI_PICO_W - name: cosmic_unicorn - board: PICO_W + board: RPI_PICO_W - name: stellar_unicorn - board: PICO_W + board: RPI_PICO_W - name: inky_frame board: PICO_W_INKY patch: true diff --git a/micropython/board/PICO_W_ENVIRO/mpconfigboard.cmake b/micropython/board/PICO_W_ENVIRO/mpconfigboard.cmake index 4644016a..c6399e33 100644 --- a/micropython/board/PICO_W_ENVIRO/mpconfigboard.cmake +++ b/micropython/board/PICO_W_ENVIRO/mpconfigboard.cmake @@ -1,5 +1,6 @@ # cmake file for Pimoroni Enviro with Raspberry Pi Pico W -set(MICROPY_BOARD PICO_W) +set(MICROPY_BOARD RPI_PICO_W) +set(PICO_BOARD "pico_w") # The C malloc is needed by cyw43-driver Bluetooth and Pimoroni Pico modules set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/PICO_W_INKY/mpconfigboard.cmake b/micropython/board/PICO_W_INKY/mpconfigboard.cmake index e06f0cb7..7feece04 100644 --- a/micropython/board/PICO_W_INKY/mpconfigboard.cmake +++ b/micropython/board/PICO_W_INKY/mpconfigboard.cmake @@ -1,5 +1,6 @@ # cmake file for Pimoroni Inky with Raspberry Pi Pico W -set(MICROPY_BOARD PICO_W) +set(MICROPY_BOARD RPI_PICO_W) +set(PICO_BOARD "pico_w") # The C malloc is needed by cyw43-driver Bluetooth and Pimoroni Pico modules set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/PICO/board.json b/micropython/board/RPI_PICO/board.json similarity index 100% rename from micropython/board/PICO/board.json rename to micropython/board/RPI_PICO/board.json diff --git a/micropython/board/PICO/manifest.py b/micropython/board/RPI_PICO/manifest.py similarity index 100% rename from micropython/board/PICO/manifest.py rename to micropython/board/RPI_PICO/manifest.py diff --git a/micropython/board/PICO/mpconfigboard.cmake b/micropython/board/RPI_PICO/mpconfigboard.cmake similarity index 73% rename from micropython/board/PICO/mpconfigboard.cmake rename to micropython/board/RPI_PICO/mpconfigboard.cmake index 4ec156b0..c89ff780 100644 --- a/micropython/board/PICO/mpconfigboard.cmake +++ b/micropython/board/RPI_PICO/mpconfigboard.cmake @@ -1,4 +1,5 @@ # cmake file for Raspberry Pi Pico +set(PICO_BOARD "pico") # Board specific version of the frozen manifest set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/micropython/board/PICO/mpconfigboard.h b/micropython/board/RPI_PICO/mpconfigboard.h similarity index 100% rename from micropython/board/PICO/mpconfigboard.h rename to micropython/board/RPI_PICO/mpconfigboard.h diff --git a/micropython/board/PICO/pins.csv b/micropython/board/RPI_PICO/pins.csv similarity index 100% rename from micropython/board/PICO/pins.csv rename to micropython/board/RPI_PICO/pins.csv diff --git a/micropython/board/PICO_W/board.json b/micropython/board/RPI_PICO_W/board.json similarity index 100% rename from micropython/board/PICO_W/board.json rename to micropython/board/RPI_PICO_W/board.json diff --git a/micropython/board/PICO_W/manifest.py b/micropython/board/RPI_PICO_W/manifest.py similarity index 100% rename from micropython/board/PICO_W/manifest.py rename to micropython/board/RPI_PICO_W/manifest.py diff --git a/micropython/board/PICO_W/mpconfigboard.cmake b/micropython/board/RPI_PICO_W/mpconfigboard.cmake similarity index 80% rename from micropython/board/PICO_W/mpconfigboard.cmake rename to micropython/board/RPI_PICO_W/mpconfigboard.cmake index 9182e843..ef975156 100644 --- a/micropython/board/PICO_W/mpconfigboard.cmake +++ b/micropython/board/RPI_PICO_W/mpconfigboard.cmake @@ -1,4 +1,5 @@ # cmake file for Raspberry Pi Pico W +set(PICO_BOARD "pico_w") # The C malloc is needed by cyw43-driver Bluetooth and Pimoroni Pico modules set(MICROPY_C_HEAP_SIZE 4096) diff --git a/micropython/board/PICO_W/mpconfigboard.h b/micropython/board/RPI_PICO_W/mpconfigboard.h similarity index 100% rename from micropython/board/PICO_W/mpconfigboard.h rename to micropython/board/RPI_PICO_W/mpconfigboard.h diff --git a/micropython/board/PICO_W/pins.csv b/micropython/board/RPI_PICO_W/pins.csv similarity index 100% rename from micropython/board/PICO_W/pins.csv rename to micropython/board/RPI_PICO_W/pins.csv From e69162872356d7ea1f40d005f18def82a9d74c12 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 6 Oct 2023 13:31:29 +0100 Subject: [PATCH 3/5] CI: Bump MicroPython to v1.21.0. I swear I had no idea this was imminent. Changes: https://github.com/micropython/micropython/compare/856e08b1931b88271816a2f60648f6ff332235b2...v1.21.0 --- .github/workflows/micropython.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 48cb246a..fca6a18f 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -7,7 +7,7 @@ on: types: [created] env: - MICROPYTHON_VERSION: 6f76d1c7fa28c4bcb94a1fa33e3cca1ba8c8cdfd + MICROPYTHON_VERSION: v1.21.0 WORKFLOW_VERSION: v1 jobs: From 0f75a2839f5c864f056905892924d66840d74157 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 6 Oct 2023 13:52:11 +0100 Subject: [PATCH 4/5] Inky Frame: Include SDCard from micropython-lib. --- micropython/board/PICO_W_INKY/manifest.py | 3 +++ micropython/examples/common/lib/sdcard.mpy | Bin 2554 -> 0 bytes micropython/examples/inky_frame/README.md | 4 ---- .../examples/inky_frame/image_gallery/README.md | 13 ++++++++++--- 4 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 micropython/examples/common/lib/sdcard.mpy diff --git a/micropython/board/PICO_W_INKY/manifest.py b/micropython/board/PICO_W_INKY/manifest.py index 17514700..77511bf9 100644 --- a/micropython/board/PICO_W_INKY/manifest.py +++ b/micropython/board/PICO_W_INKY/manifest.py @@ -5,6 +5,9 @@ require("bundle-networking") require("urllib.urequest") require("umqtt.simple") +# SD Card +require("sdcard") + # Bluetooth require("aioble") diff --git a/micropython/examples/common/lib/sdcard.mpy b/micropython/examples/common/lib/sdcard.mpy deleted file mode 100644 index 7f3fd6bdc0739e00e3a9d1236cc480f353ccdb19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2554 zcma)6T~Hg>6}}QkU>W0Or7YMY&Uz)SWC?^=3EAmO$!hIj5+@cQ6lEqu#cB}(Nvlc% z$8A#X3V{jZPG~yqq)&b5Q{VK1O#PM^>^ObuOs3;u#?wAIGkst%F4JkA+Iv@$4f*Nx z0delR-~G;azI*mw(}P!DHPE7*O3CSgTuh8+WA4mNa9Zh7;_dlFN&+3@LI7ofMW4$g zK&zMo9bzgry)Xla*g`6GQ;qWSyp+Zf+ssX+q?DY!xtNe{05XwInU#_fmSf1xCo+Sej%@5260(?2f`R^_f>F_!jx_vQR3FX8QQ@oz3^R#z zGzs+B9VKk27a>)Osq{h$DCSl<1N55z039RB3&~j8o~L6{UdpBtX{p&Oy(ndK2{{dP zJ;;Epl*`EJoJ7xL_bj^qkActn;Y$}?k({i59Eo3rsHZR4{X)%iVb5foj8sunI z2Axa%OaeMHzHWITPv3|p@`-dDGti5Jb*tM9gPx1ti@w22obLyaTpg+F{XU+iVx)jy zn3<8XbW%#k^Rsj!M<>#Y(PSb93VlR}22y>iU69Z^HRhIHEv1dXpt+T5o!|hW^Jytv zP}HpU5}a=B!tKtYp*V#8$aS`Own!CE7R|-(E(dji&{0kX{^jAYQ#0-bl%CU2ot&0B z#kEjpxmM~79J}sp8Taa_Zca~`xi*U8+Nty035wwi6w95Y>_M?(CG(l?oZi*e-UXdj z!Qph+xVdtvr>#=zX(#(ueVS6w39^qV0vs90J_Y|j3Hdj}JB+eaG8#4~l_z1e|0vKO zA^TAR13F5kQ&qnv5)_M$G|}nmf|nS1VWhoeY%`v|H`*H}-G3KC5wtWBL|2(0Az_66 zRS+39y{9HCN3xjaw?u&$IfZzHpU&B`HuvbP+vc#1#A&ykwf7J8`P{5~6s_VVW4nn! zKSmSrlHxCDA|+ENv-(RKiGloE;d_{!vH-M1vNy13$WMf~OQvoJ8RaE^i?S>5{M%@A zL3jlJ2ts(> zuY->ToYbNu*|*`-+%K8THB`L@LyR)K&%ohbAyiuntv#)M6xvgsF>Bzk)YHp<1se#s zD|`lPtD)un^{2I4p~BNWgkC+^dw}rE`^wYWdg#`{-WRo%(8v1^?wlVJrdby*uI2mLJ#S*>cav#eg#^82rnXI=1y&H3h)KFCjpKSyma7a@Y< z{{M&rq-F#$lzLtcium4P>`|Z_xn$8Hrd!vqo;%}$3VXrj?02!R&kFsJ|0@iCPPUrP zF&rv_34a73@=y(5a9i|s@|gzW1B@`9grR#CWYK=0QIr>yW2OJFglo5<+8;ZXf1?@c zc6ECOIjar+I&O8aENiu1wWL`$J8N@WS+B+JOxc|!Q#-^`j3>T8)aAV`I9d7hU`v^- zY#eMACM#R>LYh_X$mn{UpBfN!UGZKa7-j6<5{%aV1cs!>nMz$+pKkxu< z!bif`alq2%KX*3q9R67)Zp`63@8UU()Px|?rl{JQLwfhQ%bzSE%f7X{B(A^1JIpRG zyc@TOIp?)Ir3lE(`mnZC3<|gbc!}1>1?jd~@p9X)9+g0I>=HlPzX|PyMAfKz~ zL77LR|EqGz`0^nntk?Yo{Ec2~s3r$i5DGmV*cSe85J5lrpHR3%_M?jT`FHVqv$=^% zKSOthPUG;&PF4AOyBe?{p4;fzTOw>@sGxAAUMDE7d*&T1>SW`zr~k5NCgr)pu#A_r zlNX!XeOixpd#5S{HjgzSBF0ba%G5`u!B{d;XyhtrRQNBk_}_gO0`IGeAMo#~;1BN9 zYE9AF2o9gzuZyNjrt^&QA!-FZLGN2gyX%r?gSA<0<>Ia&l#IP%8NJ8?Iw1zd{{r$X BBtifH diff --git a/micropython/examples/inky_frame/README.md b/micropython/examples/inky_frame/README.md index 1420d0e1..7f4c5bea 100644 --- a/micropython/examples/inky_frame/README.md +++ b/micropython/examples/inky_frame/README.md @@ -27,10 +27,6 @@ The wireless examples need `network_manager.py` and `WIFI_CONFIG.py` from the `c You'll also need to install the `micropython-urllib.urequest` library using Thonny's 'Tools' > 'Manage Packages' or `common/lib/urllib` which contains a compiled `.mpy` version that uses less RAM. You should place this directory in `lib` on your Pico W. -Finally for examples loading images, you'll need `sdcard.mpy` from `common/lib`. You should place this file in `lib` on your Pico W. - -- [/micropython/examples/common](../common) - ### Button Test [button_test.py](button_test.py) diff --git a/micropython/examples/inky_frame/image_gallery/README.md b/micropython/examples/inky_frame/image_gallery/README.md index b31b62d9..4974775d 100644 --- a/micropython/examples/inky_frame/image_gallery/README.md +++ b/micropython/examples/inky_frame/image_gallery/README.md @@ -24,11 +24,18 @@ Copy the images to your Pico W using Thonny. ### image_gallery_sd.py / image_gallery_sd_random.py -Pop an SD card into your computer to copy the images across. (Alternatively, you can transfer them using Thonny, but you will have to mount the SD card using the REPL first). +Pop an SD card into your computer to copy the images across. -The SD card examples require `sdcard.mpy` from `common/lib` - copy this file into the `lib` directory on your Pico W. +Alternatively, you can transfer them using Thonny, but you will have to mount the SD card using the REPL first: -- [/micropython/examples/common](../../common) +```python +import os +import sdcard +from machine import Pin +sd_spi = SPI(0, sck=Pin(18, Pin.OUT), mosi=Pin(19, Pin.OUT), miso=Pin(16, Pin.OUT)) +sd = sdcard.SDCard(sd_spi, Pin(22)) +os.mount(sd, "/sd") +``` ## Image Credits From 388d8af3dc08c88e495fab123c8ba3a97087958b Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 6 Oct 2023 13:54:32 +0100 Subject: [PATCH 5/5] Unicorn/others: Add SDCard library from micropython-lib to RPI_PICO_W builds. --- micropython/board/RPI_PICO_W/manifest.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/micropython/board/RPI_PICO_W/manifest.py b/micropython/board/RPI_PICO_W/manifest.py index 95782f97..8bf382da 100644 --- a/micropython/board/RPI_PICO_W/manifest.py +++ b/micropython/board/RPI_PICO_W/manifest.py @@ -2,6 +2,9 @@ include("$(PORT_DIR)/boards/manifest.py") require("bundle-networking") +# SD Card +require("sdcard") + # Bluetooth require("aioble")