From 2664d3766d53c55e3c8d571925fc015554816326 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 17 Aug 2022 16:41:06 -0400 Subject: [PATCH 01/13] matrixportal: remove BLEIO HCI to make room to freeze portalbase --- ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk b/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk index e502f6b569..4fc7026e6f 100644 --- a/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk @@ -13,15 +13,16 @@ LONGINT_IMPL = MPZ CIRCUITPY_LTO_PARTITION = one CIRCUITPY_AESIO = 0 +CIRCUITPY_BLEIO_HCI = 0 CIRCUITPY_FLOPPYIO = 0 -CIRCUITPY_GIFIO = 0 -CIRCUITPY_ONEWIREIO = 0 CIRCUITPY_PARALLELDISPLAY = 0 +CIRCUITPY_PS2IO = 0 CIRCUITPY_SDCARDIO = 0 CIRCUITPY_SHARPDISPLAY = 0 -CIRCUITPY_ZLIB=0 +CIRCUITPY_ZLIB = 0 # Include these Python libraries in firmware. FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests +FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ESP32SPI FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel From 29cbe5a94f515b1a24cae057245ea025fb31908a Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 18 Aug 2022 08:01:32 -0400 Subject: [PATCH 02/13] update frozen libraries for 8.0.0-beta.0 --- frozen/Adafruit_CircuitPython_APDS9960 | 2 +- frozen/Adafruit_CircuitPython_BLE | 2 +- frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center | 2 +- frozen/Adafruit_CircuitPython_BusDevice | 2 +- frozen/Adafruit_CircuitPython_CircuitPlayground | 2 +- frozen/Adafruit_CircuitPython_Crickit | 2 +- frozen/Adafruit_CircuitPython_DRV2605 | 2 +- frozen/Adafruit_CircuitPython_DS3231 | 2 +- frozen/Adafruit_CircuitPython_Display_Shapes | 2 +- frozen/Adafruit_CircuitPython_Display_Text | 2 +- frozen/Adafruit_CircuitPython_DotStar | 2 +- frozen/Adafruit_CircuitPython_ESP32SPI | 2 +- frozen/Adafruit_CircuitPython_FakeRequests | 2 +- frozen/Adafruit_CircuitPython_FocalTouch | 2 +- frozen/Adafruit_CircuitPython_HID | 2 +- frozen/Adafruit_CircuitPython_IRRemote | 2 +- frozen/Adafruit_CircuitPython_IS31FL3731 | 2 +- frozen/Adafruit_CircuitPython_LC709203F | 2 +- frozen/Adafruit_CircuitPython_LIS3DH | 2 +- frozen/Adafruit_CircuitPython_LSM6DS | 2 +- frozen/Adafruit_CircuitPython_MIDI | 2 +- frozen/Adafruit_CircuitPython_Motor | 2 +- frozen/Adafruit_CircuitPython_NeoPixel | 2 +- frozen/Adafruit_CircuitPython_PortalBase | 2 +- frozen/Adafruit_CircuitPython_ProgressBar | 2 +- frozen/Adafruit_CircuitPython_RFM69 | 2 +- frozen/Adafruit_CircuitPython_RFM9x | 2 +- frozen/Adafruit_CircuitPython_Register | 2 +- frozen/Adafruit_CircuitPython_Requests | 2 +- frozen/Adafruit_CircuitPython_SD | 2 +- frozen/Adafruit_CircuitPython_ST7789 | 2 +- frozen/Adafruit_CircuitPython_SimpleIO | 2 +- frozen/Adafruit_CircuitPython_SimpleMath | 2 +- frozen/Adafruit_CircuitPython_Thermistor | 2 +- frozen/Adafruit_CircuitPython_Ticks | 2 +- frozen/Adafruit_CircuitPython_asyncio | 2 +- frozen/Adafruit_CircuitPython_seesaw | 2 +- frozen/mixgo_cp_lib | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/frozen/Adafruit_CircuitPython_APDS9960 b/frozen/Adafruit_CircuitPython_APDS9960 index 13856be616..f91ffb1a3e 160000 --- a/frozen/Adafruit_CircuitPython_APDS9960 +++ b/frozen/Adafruit_CircuitPython_APDS9960 @@ -1 +1 @@ -Subproject commit 13856be616eee2eb84280b7c4914951c1ddbfd36 +Subproject commit f91ffb1a3e77802349f233964e0faed9708a04fe diff --git a/frozen/Adafruit_CircuitPython_BLE b/frozen/Adafruit_CircuitPython_BLE index 7d9635ba1d..5c1a51f8ad 160000 --- a/frozen/Adafruit_CircuitPython_BLE +++ b/frozen/Adafruit_CircuitPython_BLE @@ -1 +1 @@ -Subproject commit 7d9635ba1dda31ce45b84519c4da76ff86d0debe +Subproject commit 5c1a51f8ad505e90a6c1b58c4d7926c59dd627d6 diff --git a/frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center b/frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center index e5cf8206c0..810232a6df 160000 --- a/frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center +++ b/frozen/Adafruit_CircuitPython_BLE_Apple_Notification_Center @@ -1 +1 @@ -Subproject commit e5cf8206c0173228252ae74367cab85b0531488e +Subproject commit 810232a6df1c5342b9c89268893025bca2645a0f diff --git a/frozen/Adafruit_CircuitPython_BusDevice b/frozen/Adafruit_CircuitPython_BusDevice index 9addf6a26f..5f6ac40707 160000 --- a/frozen/Adafruit_CircuitPython_BusDevice +++ b/frozen/Adafruit_CircuitPython_BusDevice @@ -1 +1 @@ -Subproject commit 9addf6a26fef3a32c78d574c66452b6210eca5c5 +Subproject commit 5f6ac407074c61806c9bf0b78987e1c0ed234dd0 diff --git a/frozen/Adafruit_CircuitPython_CircuitPlayground b/frozen/Adafruit_CircuitPython_CircuitPlayground index 843def7dae..f5351add4b 160000 --- a/frozen/Adafruit_CircuitPython_CircuitPlayground +++ b/frozen/Adafruit_CircuitPython_CircuitPlayground @@ -1 +1 @@ -Subproject commit 843def7daee741c8fb04fe21c3c7b98f22862471 +Subproject commit f5351add4bfc2aae1ba8f9078f4a734a0893e8ba diff --git a/frozen/Adafruit_CircuitPython_Crickit b/frozen/Adafruit_CircuitPython_Crickit index 0a045871d3..62113618a0 160000 --- a/frozen/Adafruit_CircuitPython_Crickit +++ b/frozen/Adafruit_CircuitPython_Crickit @@ -1 +1 @@ -Subproject commit 0a045871d3da681d1c9c9578f09174bfc6d84f1d +Subproject commit 62113618a07dd4f33310e8454bd59915b376e3cb diff --git a/frozen/Adafruit_CircuitPython_DRV2605 b/frozen/Adafruit_CircuitPython_DRV2605 index 6a429bcd0e..f7bc753d37 160000 --- a/frozen/Adafruit_CircuitPython_DRV2605 +++ b/frozen/Adafruit_CircuitPython_DRV2605 @@ -1 +1 @@ -Subproject commit 6a429bcd0e6b22ee181197ce0477ae70f5adb80d +Subproject commit f7bc753d37b840d0c1dcbdd977a97d1f68fac306 diff --git a/frozen/Adafruit_CircuitPython_DS3231 b/frozen/Adafruit_CircuitPython_DS3231 index 22931594bc..f70254c588 160000 --- a/frozen/Adafruit_CircuitPython_DS3231 +++ b/frozen/Adafruit_CircuitPython_DS3231 @@ -1 +1 @@ -Subproject commit 22931594bc52ab259eaf313d26219a507703c315 +Subproject commit f70254c588e4be37d92960c8067905ac57243aa2 diff --git a/frozen/Adafruit_CircuitPython_Display_Shapes b/frozen/Adafruit_CircuitPython_Display_Shapes index cdef09114d..bcd9e5c085 160000 --- a/frozen/Adafruit_CircuitPython_Display_Shapes +++ b/frozen/Adafruit_CircuitPython_Display_Shapes @@ -1 +1 @@ -Subproject commit cdef09114d2b43d2e461d066a5b56697ab567abc +Subproject commit bcd9e5c085081175f2dc1b2ce1eba75cfe4be062 diff --git a/frozen/Adafruit_CircuitPython_Display_Text b/frozen/Adafruit_CircuitPython_Display_Text index bb9cb75e15..c82b8138e1 160000 --- a/frozen/Adafruit_CircuitPython_Display_Text +++ b/frozen/Adafruit_CircuitPython_Display_Text @@ -1 +1 @@ -Subproject commit bb9cb75e15b4bfce3063a94b40dfad2375d5605e +Subproject commit c82b8138e13f4e3d580081929fb34afdb56f59fc diff --git a/frozen/Adafruit_CircuitPython_DotStar b/frozen/Adafruit_CircuitPython_DotStar index f9469d26ed..1b39a6990c 160000 --- a/frozen/Adafruit_CircuitPython_DotStar +++ b/frozen/Adafruit_CircuitPython_DotStar @@ -1 +1 @@ -Subproject commit f9469d26ed9eb95d43982de88c035ac3862dd258 +Subproject commit 1b39a6990c7d18a1c883b5721f2e49cd5fbfc64e diff --git a/frozen/Adafruit_CircuitPython_ESP32SPI b/frozen/Adafruit_CircuitPython_ESP32SPI index f3d504be1d..9cca65bd52 160000 --- a/frozen/Adafruit_CircuitPython_ESP32SPI +++ b/frozen/Adafruit_CircuitPython_ESP32SPI @@ -1 +1 @@ -Subproject commit f3d504be1dc82cc4a8e4ea9b38bd5c2ce74d59ba +Subproject commit 9cca65bd52f1b0be672fa8c1ea74b278366851a9 diff --git a/frozen/Adafruit_CircuitPython_FakeRequests b/frozen/Adafruit_CircuitPython_FakeRequests index 2ea025b1b6..3198742a78 160000 --- a/frozen/Adafruit_CircuitPython_FakeRequests +++ b/frozen/Adafruit_CircuitPython_FakeRequests @@ -1 +1 @@ -Subproject commit 2ea025b1b68b0be95a0514732d4bc623f313fd75 +Subproject commit 3198742a78996db3118e0e4db3d142e37b7f58a1 diff --git a/frozen/Adafruit_CircuitPython_FocalTouch b/frozen/Adafruit_CircuitPython_FocalTouch index b637c47423..04608edb68 160000 --- a/frozen/Adafruit_CircuitPython_FocalTouch +++ b/frozen/Adafruit_CircuitPython_FocalTouch @@ -1 +1 @@ -Subproject commit b637c47423eb85233ba614424aadadace37fcfb1 +Subproject commit 04608edb68bc72c015de570b6edf6cc598920acc diff --git a/frozen/Adafruit_CircuitPython_HID b/frozen/Adafruit_CircuitPython_HID index 47cc914748..49a4f9c73e 160000 --- a/frozen/Adafruit_CircuitPython_HID +++ b/frozen/Adafruit_CircuitPython_HID @@ -1 +1 @@ -Subproject commit 47cc91474823677218239b5b37901590755cac4c +Subproject commit 49a4f9c73e62700220cad657fac441055cbf0416 diff --git a/frozen/Adafruit_CircuitPython_IRRemote b/frozen/Adafruit_CircuitPython_IRRemote index a2491a806b..9464b4cad1 160000 --- a/frozen/Adafruit_CircuitPython_IRRemote +++ b/frozen/Adafruit_CircuitPython_IRRemote @@ -1 +1 @@ -Subproject commit a2491a806b636f66caf670527c49b864923f125c +Subproject commit 9464b4cad1f252807cd431a39984182bdd7a0cce diff --git a/frozen/Adafruit_CircuitPython_IS31FL3731 b/frozen/Adafruit_CircuitPython_IS31FL3731 index b4a0461889..8e2069de65 160000 --- a/frozen/Adafruit_CircuitPython_IS31FL3731 +++ b/frozen/Adafruit_CircuitPython_IS31FL3731 @@ -1 +1 @@ -Subproject commit b4a0461889ead5da69f4ed6d0118276b01613981 +Subproject commit 8e2069de65e1b2002ca375e9046ba6e608052c87 diff --git a/frozen/Adafruit_CircuitPython_LC709203F b/frozen/Adafruit_CircuitPython_LC709203F index 72367f37cd..80f1d250f4 160000 --- a/frozen/Adafruit_CircuitPython_LC709203F +++ b/frozen/Adafruit_CircuitPython_LC709203F @@ -1 +1 @@ -Subproject commit 72367f37cd221c7af7822ba3a9cd21cd3cd70292 +Subproject commit 80f1d250f4caef3e81760dc7df56bd250210f29b diff --git a/frozen/Adafruit_CircuitPython_LIS3DH b/frozen/Adafruit_CircuitPython_LIS3DH index a06c8a116e..0a26239184 160000 --- a/frozen/Adafruit_CircuitPython_LIS3DH +++ b/frozen/Adafruit_CircuitPython_LIS3DH @@ -1 +1 @@ -Subproject commit a06c8a116e5767a8481b9018239fe729e01760a6 +Subproject commit 0a262391849fa75671c999e9374bf6b160771246 diff --git a/frozen/Adafruit_CircuitPython_LSM6DS b/frozen/Adafruit_CircuitPython_LSM6DS index 5acf8a850d..87f8b1ddff 160000 --- a/frozen/Adafruit_CircuitPython_LSM6DS +++ b/frozen/Adafruit_CircuitPython_LSM6DS @@ -1 +1 @@ -Subproject commit 5acf8a850d98789a79fe37836b2ac7b623d95913 +Subproject commit 87f8b1ddff699b98e7b58d1c969c0c3633661a08 diff --git a/frozen/Adafruit_CircuitPython_MIDI b/frozen/Adafruit_CircuitPython_MIDI index d3f9adce6e..1107fe1520 160000 --- a/frozen/Adafruit_CircuitPython_MIDI +++ b/frozen/Adafruit_CircuitPython_MIDI @@ -1 +1 @@ -Subproject commit d3f9adce6e48d37222ef171a280cfa3122faf15b +Subproject commit 1107fe1520406c20bc561535d72df9ac6ae4d172 diff --git a/frozen/Adafruit_CircuitPython_Motor b/frozen/Adafruit_CircuitPython_Motor index df61e7b0be..b0aca1110b 160000 --- a/frozen/Adafruit_CircuitPython_Motor +++ b/frozen/Adafruit_CircuitPython_Motor @@ -1 +1 @@ -Subproject commit df61e7b0be9dc0c6a1bbe60f526fbdc01b6c2819 +Subproject commit b0aca1110b4446bc7952d66233b559256cd4377d diff --git a/frozen/Adafruit_CircuitPython_NeoPixel b/frozen/Adafruit_CircuitPython_NeoPixel index 015eb1ccd5..a4e11ce3a7 160000 --- a/frozen/Adafruit_CircuitPython_NeoPixel +++ b/frozen/Adafruit_CircuitPython_NeoPixel @@ -1 +1 @@ -Subproject commit 015eb1ccd5eb5364d8e1cf20358e7dcda9f12efc +Subproject commit a4e11ce3a7f5886c706da5778baf1dd653172c94 diff --git a/frozen/Adafruit_CircuitPython_PortalBase b/frozen/Adafruit_CircuitPython_PortalBase index 217af2bc7d..b9201eb175 160000 --- a/frozen/Adafruit_CircuitPython_PortalBase +++ b/frozen/Adafruit_CircuitPython_PortalBase @@ -1 +1 @@ -Subproject commit 217af2bc7de658ff2f6380a066d99a149e69693e +Subproject commit b9201eb175823b82d56168b0b539847093866090 diff --git a/frozen/Adafruit_CircuitPython_ProgressBar b/frozen/Adafruit_CircuitPython_ProgressBar index 1c39469bac..0af8820605 160000 --- a/frozen/Adafruit_CircuitPython_ProgressBar +++ b/frozen/Adafruit_CircuitPython_ProgressBar @@ -1 +1 @@ -Subproject commit 1c39469bac98eea022af695ac42e5096dae6130c +Subproject commit 0af8820605c0858f50f3242fbd1ce3a576bec819 diff --git a/frozen/Adafruit_CircuitPython_RFM69 b/frozen/Adafruit_CircuitPython_RFM69 index 74ea48f7a5..2fc2bfb8f5 160000 --- a/frozen/Adafruit_CircuitPython_RFM69 +++ b/frozen/Adafruit_CircuitPython_RFM69 @@ -1 +1 @@ -Subproject commit 74ea48f7a5d85591f5af804cacb57e9cfaab46c6 +Subproject commit 2fc2bfb8f52afc2ec1f31e8d860358547b2f8a9a diff --git a/frozen/Adafruit_CircuitPython_RFM9x b/frozen/Adafruit_CircuitPython_RFM9x index 13cdb9912b..6b018cbeb6 160000 --- a/frozen/Adafruit_CircuitPython_RFM9x +++ b/frozen/Adafruit_CircuitPython_RFM9x @@ -1 +1 @@ -Subproject commit 13cdb9912ba31f6e267f1afb9f71fddf5b1c139c +Subproject commit 6b018cbeb60d6a30088c866a9b1bc46166209735 diff --git a/frozen/Adafruit_CircuitPython_Register b/frozen/Adafruit_CircuitPython_Register index d1e8ac7ad9..9c71a86d54 160000 --- a/frozen/Adafruit_CircuitPython_Register +++ b/frozen/Adafruit_CircuitPython_Register @@ -1 +1 @@ -Subproject commit d1e8ac7ad9dcd65ab83749db3e5c96ffee80ebb7 +Subproject commit 9c71a86d54015260bd40ad4bc8d0258c930bcc64 diff --git a/frozen/Adafruit_CircuitPython_Requests b/frozen/Adafruit_CircuitPython_Requests index b168b28fc5..9ad59c3bc5 160000 --- a/frozen/Adafruit_CircuitPython_Requests +++ b/frozen/Adafruit_CircuitPython_Requests @@ -1 +1 @@ -Subproject commit b168b28fc58973cf20269cc87a655d7812659fd0 +Subproject commit 9ad59c3bc5e2fdc341779ccbbe2d78560c5d681f diff --git a/frozen/Adafruit_CircuitPython_SD b/frozen/Adafruit_CircuitPython_SD index 332143d4ca..ab504a86af 160000 --- a/frozen/Adafruit_CircuitPython_SD +++ b/frozen/Adafruit_CircuitPython_SD @@ -1 +1 @@ -Subproject commit 332143d4ca5762d2d351ceb170c0b4e37dd42793 +Subproject commit ab504a86afb583bbe9008884bc01b33f0654a0dd diff --git a/frozen/Adafruit_CircuitPython_ST7789 b/frozen/Adafruit_CircuitPython_ST7789 index 995959d5dc..4a094ea8e0 160000 --- a/frozen/Adafruit_CircuitPython_ST7789 +++ b/frozen/Adafruit_CircuitPython_ST7789 @@ -1 +1 @@ -Subproject commit 995959d5dca23fbe49590700d1aa26a96dca1df7 +Subproject commit 4a094ea8e0ca902e7c61822060e149d73fa18ce5 diff --git a/frozen/Adafruit_CircuitPython_SimpleIO b/frozen/Adafruit_CircuitPython_SimpleIO index d238fe99e2..60d9df0ca0 160000 --- a/frozen/Adafruit_CircuitPython_SimpleIO +++ b/frozen/Adafruit_CircuitPython_SimpleIO @@ -1 +1 @@ -Subproject commit d238fe99e24ea4cdb472f1d8a9c99dd189b0aeca +Subproject commit 60d9df0ca09b5005ea0c03b94daae854983d79bd diff --git a/frozen/Adafruit_CircuitPython_SimpleMath b/frozen/Adafruit_CircuitPython_SimpleMath index 632655b8f5..1156062b06 160000 --- a/frozen/Adafruit_CircuitPython_SimpleMath +++ b/frozen/Adafruit_CircuitPython_SimpleMath @@ -1 +1 @@ -Subproject commit 632655b8f5f6f62e3b4d0b6161213634e0ae74e9 +Subproject commit 1156062b06771afd37da54d0b690a84ef611a78b diff --git a/frozen/Adafruit_CircuitPython_Thermistor b/frozen/Adafruit_CircuitPython_Thermistor index 3816a4f4c9..79ff12be05 160000 --- a/frozen/Adafruit_CircuitPython_Thermistor +++ b/frozen/Adafruit_CircuitPython_Thermistor @@ -1 +1 @@ -Subproject commit 3816a4f4c997b03d4a7ebfe35a617d1e50124b04 +Subproject commit 79ff12be057ff5975e52ad273e087d74deb147ab diff --git a/frozen/Adafruit_CircuitPython_Ticks b/frozen/Adafruit_CircuitPython_Ticks index 6757c5b37c..704cac4af3 160000 --- a/frozen/Adafruit_CircuitPython_Ticks +++ b/frozen/Adafruit_CircuitPython_Ticks @@ -1 +1 @@ -Subproject commit 6757c5b37cf26458448930042cb0a41f8ad0a5ef +Subproject commit 704cac4af3dccf8e452e69eb8f9f22fe8db26f83 diff --git a/frozen/Adafruit_CircuitPython_asyncio b/frozen/Adafruit_CircuitPython_asyncio index c496cfb576..339e037bf6 160000 --- a/frozen/Adafruit_CircuitPython_asyncio +++ b/frozen/Adafruit_CircuitPython_asyncio @@ -1 +1 @@ -Subproject commit c496cfb5768cd506d61100284fdab94dd439ec3b +Subproject commit 339e037bf6cf30e03fab6fa5b1b9f669821f7685 diff --git a/frozen/Adafruit_CircuitPython_seesaw b/frozen/Adafruit_CircuitPython_seesaw index 148345d232..73b78e2424 160000 --- a/frozen/Adafruit_CircuitPython_seesaw +++ b/frozen/Adafruit_CircuitPython_seesaw @@ -1 +1 @@ -Subproject commit 148345d232c83133de3649fb70b471f11501b3d2 +Subproject commit 73b78e242424b865785d5e66ccef949bdacf7214 diff --git a/frozen/mixgo_cp_lib b/frozen/mixgo_cp_lib index 4ba6956d49..d5e3e809d7 160000 --- a/frozen/mixgo_cp_lib +++ b/frozen/mixgo_cp_lib @@ -1 +1 @@ -Subproject commit 4ba6956d49752f2d0cdc73903b86a34c225934ef +Subproject commit d5e3e809d7aa938b233b49526c55bfd2e314272c From 0c87d0b40d7c49f1949c416ff16b7462f19e5ad2 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 18 Aug 2022 10:23:37 -0400 Subject: [PATCH 03/13] matrixportal: remove ulab instead of bleio HCI --- ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk b/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk index 4fc7026e6f..1f77c11931 100644 --- a/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/matrixportal_m4/mpconfigboard.mk @@ -13,13 +13,10 @@ LONGINT_IMPL = MPZ CIRCUITPY_LTO_PARTITION = one CIRCUITPY_AESIO = 0 -CIRCUITPY_BLEIO_HCI = 0 CIRCUITPY_FLOPPYIO = 0 CIRCUITPY_PARALLELDISPLAY = 0 -CIRCUITPY_PS2IO = 0 -CIRCUITPY_SDCARDIO = 0 CIRCUITPY_SHARPDISPLAY = 0 -CIRCUITPY_ZLIB = 0 +CIRCUITPY_ULAB = 0 # Include these Python libraries in firmware. FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests From 2c2ee9f0f42b5503bcdbc105fecf3f60ca871622 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 18 Aug 2022 14:42:52 -0400 Subject: [PATCH 04/13] update frozen HID --- frozen/Adafruit_CircuitPython_HID | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frozen/Adafruit_CircuitPython_HID b/frozen/Adafruit_CircuitPython_HID index 49a4f9c73e..4d68643dcd 160000 --- a/frozen/Adafruit_CircuitPython_HID +++ b/frozen/Adafruit_CircuitPython_HID @@ -1 +1 @@ -Subproject commit 49a4f9c73e62700220cad657fac441055cbf0416 +Subproject commit 4d68643dcd779e63b4eada09fa84b1ad43c83362 From 802cff2286bccab39daf532b67ae1ab6bc1276ff Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 19 Aug 2022 11:20:47 -0700 Subject: [PATCH 05/13] Fix scroll area shift with scale > 1 Fixes #6775 --- supervisor/shared/display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervisor/shared/display.c b/supervisor/shared/display.c index fdd0a0341a..336819e10c 100644 --- a/supervisor/shared/display.c +++ b/supervisor/shared/display.c @@ -67,7 +67,7 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) { bool reset_tiles = false; uint16_t width_in_tiles = width_px / scroll_area->tile_width; // determine scale based on width - if (width_in_tiles < 80) { + if (width_in_tiles <= 80) { scale = 1; } @@ -133,7 +133,7 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) { #else scroll_area->y = title_bar->tile_height; #endif - int16_t extra_height = (scroll_area->pixel_height + scroll_area->y) - height_px; + int16_t extra_height = (scroll_area->pixel_height + scroll_area->y) - (height_px / scale); // Subtract extra height so that the bottom line fully shows. The top line will be under the // title bar and Blinka logo. scroll_area->y -= extra_height; From f134f86291e717abf50341853e93609b1284942e Mon Sep 17 00:00:00 2001 From: gamblor21 Date: Fri, 19 Aug 2022 15:13:38 -0500 Subject: [PATCH 06/13] Two small fixes, remove hardcoded height and non-scale issues --- shared-bindings/is31fl3741/IS31FL3741.h | 2 +- shared-module/is31fl3741/FrameBuffer.c | 9 +++++---- shared-module/is31fl3741/IS31FL3741.c | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/shared-bindings/is31fl3741/IS31FL3741.h b/shared-bindings/is31fl3741/IS31FL3741.h index 2b81b01617..62302a3ac2 100644 --- a/shared-bindings/is31fl3741/IS31FL3741.h +++ b/shared-bindings/is31fl3741/IS31FL3741.h @@ -46,4 +46,4 @@ void common_hal_is31fl3741_send_reset(is31fl3741_IS31FL3741_obj_t *self); void common_hal_is31fl3741_set_current(is31fl3741_IS31FL3741_obj_t *self, uint8_t current); uint8_t common_hal_is31fl3741_get_current(is31fl3741_IS31FL3741_obj_t *self); void common_hal_is31fl3741_set_led(is31fl3741_IS31FL3741_obj_t *self, uint16_t led, uint8_t level, uint8_t page); -void common_hal_is31fl3741_draw_pixel(is31fl3741_IS31FL3741_obj_t *self, int16_t x, int16_t y, uint32_t color, uint16_t *mapping); +void common_hal_is31fl3741_draw_pixel(is31fl3741_IS31FL3741_obj_t *self, int16_t x, int16_t y, uint32_t color, uint16_t *mapping, uint8_t display_height); diff --git a/shared-module/is31fl3741/FrameBuffer.c b/shared-module/is31fl3741/FrameBuffer.c index 400f6f843d..d795c0d5e7 100644 --- a/shared-module/is31fl3741/FrameBuffer.c +++ b/shared-module/is31fl3741/FrameBuffer.c @@ -141,8 +141,7 @@ void common_hal_is31fl3741_FrameBuffer_refresh(is31fl3741_FrameBuffer_obj_t *sel if (!self->paused) { common_hal_is31fl3741_begin_transaction(self->is31fl3741); - uint8_t dirty_row_flags = 0xFF; // only supports 8 rows gotta fix - + uint8_t dirty_row_flags = 0xFF; if (self->scale) { // Based on the Arduino IS31FL3741 driver code // dirtyrows flag current not implemented for scaled displays @@ -173,7 +172,7 @@ void common_hal_is31fl3741_FrameBuffer_refresh(is31fl3741_FrameBuffer_obj_t *sel } else { color = (rsum << 16) + (gsum << 8) + bsum; } - common_hal_is31fl3741_draw_pixel(self->is31fl3741, x, y, color, self->mapping); + common_hal_is31fl3741_draw_pixel(self->is31fl3741, x, y, color, self->mapping, self->height); } } } else { @@ -194,9 +193,11 @@ void common_hal_is31fl3741_FrameBuffer_refresh(is31fl3741_FrameBuffer_obj_t *sel color = *buffer; } - common_hal_is31fl3741_draw_pixel(self->is31fl3741, x, y, color, self->mapping); + common_hal_is31fl3741_draw_pixel(self->is31fl3741, x, y, color, self->mapping, self->height); buffer++; } + } else { + buffer += self->width; // row did not have to be redrawn, skip it in the buffer } } } diff --git a/shared-module/is31fl3741/IS31FL3741.c b/shared-module/is31fl3741/IS31FL3741.c index bb92b5b32c..08598743b7 100644 --- a/shared-module/is31fl3741/IS31FL3741.c +++ b/shared-module/is31fl3741/IS31FL3741.c @@ -148,16 +148,17 @@ void common_hal_is31fl3741_set_led(is31fl3741_IS31FL3741_obj_t *self, uint16_t l common_hal_busio_i2c_write(self->i2c, self->device_address, cmd, 2); } -void common_hal_is31fl3741_draw_pixel(is31fl3741_IS31FL3741_obj_t *self, int16_t x, int16_t y, uint32_t color, uint16_t *mapping) { +void common_hal_is31fl3741_draw_pixel(is31fl3741_IS31FL3741_obj_t *self, int16_t x, int16_t y, uint32_t color, uint16_t *mapping, uint8_t display_height) { uint8_t r = color >> 16 & 0xFF; uint8_t g = color >> 8 & 0xFF; uint8_t b = color & 0xFF; - int16_t x1 = (x * 5 + y) * 3; + int16_t x1 = (x * display_height + y) * 3; uint16_t ridx = mapping[x1 + 2]; if (ridx != 65535) { uint16_t gidx = mapping[x1 + 1]; uint16_t bidx = mapping[x1 + 0]; + common_hal_is31fl3741_set_led(self, ridx, r, 0); common_hal_is31fl3741_set_led(self, gidx, g, 0); common_hal_is31fl3741_set_led(self, bidx, b, 0); From ffc7e2b0c26a93580f1015d55b8225043df1a35c Mon Sep 17 00:00:00 2001 From: hexthat Date: Fri, 19 Aug 2022 21:27:08 +0000 Subject: [PATCH 07/13] Translated using Weblate (Chinese (Pinyin)) Currently translated at 99.1% (994 of 1003 strings) Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/ --- locale/zh_Latn_pinyin.po | 147 +++++++++++++++++++-------------------- 1 file changed, 72 insertions(+), 75 deletions(-) diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index 2edd1eef17..e0f94ef47d 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-04 12:55-0600\n" -"PO-Revision-Date: 2022-08-05 14:18+0000\n" -"Last-Translator: River Wang \n" +"PO-Revision-Date: 2022-08-19 23:08+0000\n" +"Last-Translator: hexthat \n" "Language-Team: Chinese Hanyu Pinyin\n" "Language: zh_Latn_pinyin\n" "MIME-Version: 1.0\n" @@ -85,7 +85,7 @@ msgstr "" #: ports/raspberrypi/common-hal/analogio/AnalogOut.c #: ports/raspberrypi/common-hal/rtc/RTC.c ports/stm/common-hal/rtc/RTC.c msgid "%q" -msgstr "" +msgstr "%q" #: shared-bindings/microcontroller/Pin.c msgid "%q and %q contain duplicate pins" @@ -93,7 +93,7 @@ msgstr "%q hé %q bāo hán chóng fù yǐn jiǎo" #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "%q and %q must be different" -msgstr "" +msgstr "%q hé %q bìxū bùtóng" #: shared-bindings/microcontroller/Pin.c msgid "%q contains duplicate pins" @@ -117,11 +117,11 @@ msgstr "%q suǒyǐn bìxū shì zhěngshù, ér bùshì %s" #: shared-module/bitbangio/SPI.c msgid "%q init failed" -msgstr "" +msgstr "%q chūshǐhuà shībài" #: py/argcheck.c msgid "%q length must be %d" -msgstr "" +msgstr "%q de chángdù bìxū shì %d" #: py/argcheck.c msgid "%q length must be %d-%d" @@ -129,19 +129,19 @@ msgstr "%q cháng dù bì xū wéi %d-%d" #: py/argcheck.c msgid "%q length must be <= %d" -msgstr "" +msgstr "%q chángdù bìxū <= %d" #: py/argcheck.c msgid "%q length must be >= %d" -msgstr "" +msgstr "%q chángdù bìxū >= %d" #: shared-bindings/busio/I2C.c msgid "%q length must be >= 1" -msgstr "%q cháng dù bì xū >= 1" +msgstr "%q cháng dù bìxū >= 1" #: py/argcheck.c msgid "%q must be %d" -msgstr "" +msgstr "%q bìxū %d" #: py/argcheck.c msgid "%q must be %d-%d" @@ -149,19 +149,19 @@ msgstr "%q bì xū wéi %d-%d" #: shared-bindings/displayio/Display.c msgid "%q must be 1 when %q is True" -msgstr "" +msgstr "sāng %q wèi True shí, %q bìxū wèi 1" #: py/argcheck.c shared-bindings/gifio/GifWriter.c msgid "%q must be <= %d" -msgstr "%q bì xū <= %d" +msgstr "%q bìxū <= %d" #: py/argcheck.c msgid "%q must be >= %d" -msgstr "%q bì xū >= %d" +msgstr "%q bìxū >= %d" #: py/argcheck.c msgid "%q must be >= 0" -msgstr "%q Bìxū > = 0" +msgstr "%q bìxū > = 0" #: shared-bindings/vectorio/Circle.c shared-bindings/vectorio/Rectangle.c msgid "%q must be >= 1" @@ -169,11 +169,11 @@ msgstr "%q bìxū >= 1" #: py/argcheck.c msgid "%q must be a string" -msgstr "%q bì xū shì yí gè zì fú chuàn" +msgstr "%q bìxū shì yí gè zì fú chuàn" #: py/argcheck.c msgid "%q must be an int" -msgstr "" +msgstr "%q bìxū shì zhěng xíng" #: py/argcheck.c msgid "%q must be of type %q" @@ -218,7 +218,7 @@ msgstr "%q, %q, hé %q bì xū cháng dù xiāng tóng" #: py/objint.c msgid "%q=%q" -msgstr "" +msgstr "%q=%q" #: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c #, c-format @@ -415,7 +415,7 @@ msgstr "suǒyǒu I2C wàishè dōu zài shǐyòng zhōng" #: ports/espressif/common-hal/i2ctarget/I2CTarget.c msgid "All I2C targets are in use" -msgstr "" +msgstr "suǒyǒu I2C mùbiāo dōu zài shǐyòng zhōng" #: ports/espressif/common-hal/countio/Counter.c #: ports/espressif/common-hal/frequencyio/FrequencyIn.c @@ -561,23 +561,20 @@ msgid "Below minimum frame rate" msgstr "dīyú zuìdī zhēnlǜ" #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c -#, fuzzy msgid "Bit clock and word select must be sequential pins" -msgstr "wèi shí zhōng hé dān cí xuǎn zé bì xū shì shùn xù yǐn jiǎo" +msgstr "wèi shízhōng hé zì xuǎnzé bìxū shì liánxù de yǐn jiǎo" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c -#, fuzzy msgid "Bit clock and word select must share a clock unit" -msgstr "Bǐtè shízhōng hé dānzì xuǎnzé bìxū gòngxiǎng shízhōng dānwèi" +msgstr "wèi shízhōng hé zì xuǎnzé bìxū gòngxiǎng yīgè shízhōng dānyuán" #: shared-bindings/audiobusio/PDMIn.c msgid "Bit depth must be multiple of 8." msgstr "wèi shēndù bìxū shì 8 de zhěngshùbèi." #: shared-bindings/bitmaptools/__init__.c -#, fuzzy msgid "Bitmap size and bits per value must match" -msgstr "wèitú dàxiǎo hé měigè zhí de wèi bìxū pǐpèi" +msgstr "wèi tú dàxiǎo hé měi gè zhí de wèi shù bìxū pǐpèi" #: supervisor/shared/safe_mode.c msgid "Boot device must be first device (interface #0)." @@ -674,7 +671,7 @@ msgstr "Zài fǎngwèn yuánshēn dùixiàng zhīqián diàoyòng super().__init #: ports/cxd56/common-hal/camera/Camera.c msgid "Camera init" -msgstr "" +msgstr "xiàngjī chūshǐhuà" #: ports/espressif/common-hal/alarm/pin/PinAlarm.c #, fuzzy @@ -766,7 +763,7 @@ msgstr "Wúfǎ zi fēnlèi" #: shared-module/bitbangio/SPI.c msgid "Cannot transfer without MOSI and MISO pins" -msgstr "" +msgstr "méiyǒu MOSI hé MISO yǐn jiǎo wúfǎ chuánshū" #: shared-bindings/pwmio/PWMOut.c msgid "Cannot vary frequency on a timer that is already in use" @@ -774,7 +771,7 @@ msgstr "Wúfǎ gēnggǎi yǐ zài shǐyòng de jìshí qì shàng de pínlǜ" #: ports/nrf/common-hal/alarm/pin/PinAlarm.c msgid "Cannot wake on pin edge, only level" -msgstr "" +msgstr "wúfǎ zài yǐn jiǎo biānyuán huànxǐng, zhǐ néng diàn píng" #: ports/espressif/common-hal/alarm/pin/PinAlarm.c msgid "Cannot wake on pin edge. Only level." @@ -891,7 +888,7 @@ msgstr "Xiǎnshì xuánzhuǎn bìxū 90 dù jiā xīn" #: main.c msgid "Done" -msgstr "" +msgstr "zuò" #: shared-bindings/digitalio/DigitalInOut.c msgid "Drive mode not used when direction is input." @@ -965,7 +962,7 @@ msgstr "Wúfǎ huòdé mutex, err 0x%04x" #: shared-module/rgbmatrix/RGBMatrix.c msgid "Failed to allocate %q buffer" -msgstr "" +msgstr "wèi néng fēnpèi %q huǎnchōng qū" #: ports/espressif/common-hal/wifi/__init__.c msgid "Failed to allocate Wifi memory" @@ -1051,7 +1048,7 @@ msgstr "Hánshù xūyào suǒdìng" #: ports/cxd56/common-hal/gnss/GNSS.c msgid "GNSS init" -msgstr "" +msgstr "GNSS chūshǐhuà" #: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c msgid "Generic Failure" @@ -1086,7 +1083,7 @@ msgstr "Wénjiàn shàng de I/ O cāozuò" #: ports/stm/common-hal/busio/I2C.c msgid "I2C init error" -msgstr "" +msgstr "I2C qǐdòng cuòwù" #: ports/raspberrypi/common-hal/busio/I2C.c msgid "I2C peripheral in use" @@ -1202,7 +1199,7 @@ msgstr "nèi bù cuò wù #%d" #: supervisor/shared/safe_mode.c msgid "Internal watchdog timer expired." -msgstr "" +msgstr "Nèibù kān mén gǒu dìngshí qì chāoshí." #: py/argcheck.c msgid "Invalid %q" @@ -1285,11 +1282,11 @@ msgstr "Guānjiàn zì arg de LHS bìxū shì id" #: shared-module/displayio/Group.c msgid "Layer already in a group" -msgstr "" +msgstr "tú céng yǐ zài zǔ zhōng" #: shared-module/displayio/Group.c msgid "Layer must be a Group or TileGrid subclass" -msgstr "" +msgstr "tú céng bìxū shì zǔ huò píng pū wǎng gé zi lèi" #: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c msgid "MAC address was invalid" @@ -1311,11 +1308,11 @@ msgstr "Màikèfēng qǐdòng yánchí bìxū zài 0.0 Dào 1.0 De fànwéi nèi #: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c msgid "Mismatched data size" -msgstr "" +msgstr "shùjù dàxiǎo bù pǐpèi" #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c msgid "Mismatched swap flag" -msgstr "" +msgstr "jiāohuàn biāozhì bù pǐpèi" #: ports/mimxrt10xx/common-hal/busio/SPI.c msgid "Missing MISO or MOSI Pin" @@ -1323,7 +1320,7 @@ msgstr "Quēshǎo MISO huò MOSI yǐn jiǎo" #: ports/stm/common-hal/busio/SPI.c msgid "Missing MISO or MOSI pin" -msgstr "" +msgstr "quēshǎo MISO huò MOSI yǐn jiǎo" #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #, c-format @@ -1388,7 +1385,7 @@ msgstr "Míngchēng tài zhǎng" #: shared-bindings/displayio/TileGrid.c msgid "New bitmap must be same size as old bitmap" -msgstr "" +msgstr "xīn wèi tú de dàxiǎo bìxū yǔ jiù wèi tú xiāngtóng" #: ports/espressif/common-hal/_bleio/__init__.c msgid "Nimble out of memory" @@ -1422,7 +1419,7 @@ msgstr "dì zhǐ: 0x%x shí méi yǒu I2C qì jiàn" #: supervisor/shared/web_workflow/web_workflow.c msgid "No IP" -msgstr "" +msgstr "wú IP" #: ports/espressif/common-hal/busio/SPI.c #: ports/mimxrt10xx/common-hal/busio/SPI.c @@ -1431,7 +1428,7 @@ msgstr "Méiyǒu MISO yǐn jiǎo" #: ports/stm/common-hal/busio/SPI.c shared-module/bitbangio/SPI.c msgid "No MISO pin" -msgstr "" +msgstr "wú MISO pin" #: ports/espressif/common-hal/busio/SPI.c #: ports/mimxrt10xx/common-hal/busio/SPI.c @@ -1440,7 +1437,7 @@ msgstr "Méiyǒu MOSI yǐn jiǎo" #: ports/stm/common-hal/busio/SPI.c shared-module/bitbangio/SPI.c msgid "No MOSI pin" -msgstr "" +msgstr "wú MOSI pin" #: ports/atmel-samd/common-hal/busio/UART.c #: ports/espressif/common-hal/busio/UART.c @@ -1526,7 +1523,7 @@ msgstr "Shèbèi shàng méiyǒu kònggé" #: py/moduerrno.c msgid "No such device" -msgstr "" +msgstr "wú cǐ shèbèi" #: py/moduerrno.c msgid "No such file/directory" @@ -1580,11 +1577,11 @@ msgstr "Bù zhīchí jīshù" #: supervisor/shared/bluetooth/bluetooth.c msgid "Off" -msgstr "" +msgstr "guānbì" #: supervisor/shared/bluetooth/bluetooth.c msgid "Ok" -msgstr "" +msgstr "hái hǎo" #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/raspberrypi/common-hal/audiobusio/PDMIn.c @@ -1640,7 +1637,7 @@ msgstr "zhǐ yǔn xǔ yí gè dì zhǐ" #: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/stm/common-hal/alarm/time/TimeAlarm.c msgid "Only one alarm.time alarm can be set" -msgstr "" +msgstr "zhǐ néng shèzhì yīgè nào líng shíjiān nào líng" #: ports/espressif/common-hal/alarm/time/TimeAlarm.c #: ports/raspberrypi/common-hal/alarm/time/TimeAlarm.c @@ -1653,7 +1650,7 @@ msgstr "Yīcì zhǐ néng yǒuyī zhǒng yánsè shì tòumíng de" #: py/moduerrno.c msgid "Operation not permitted" -msgstr "" +msgstr "bù yǔnxǔ cāozuò" #: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c msgid "Operation or feature not supported" @@ -1690,7 +1687,7 @@ msgstr "Dāng biànliàng_pínlǜ shì False zài jiànzhú shí PWM pínlǜ bù #: ports/stm/common-hal/pwmio/PWMOut.c msgid "PWM restart" -msgstr "" +msgstr "PWM chóngqǐ" #: ports/raspberrypi/common-hal/countio/Counter.c msgid "PWM slice already in use" @@ -1849,7 +1846,7 @@ msgstr "shōu dào de xiǎng yìng wú xiào" #: supervisor/shared/bluetooth/bluetooth.c msgid "Reconnecting" -msgstr "" +msgstr "chóngxīn liánjiē" #: shared-bindings/displayio/EPaperDisplay.c msgid "Refresh too soon" @@ -1881,7 +1878,7 @@ msgstr "Bù zhīchí SD kǎ CSD géshì" #: ports/cxd56/common-hal/sdioio/SDCard.c msgid "SDCard init" -msgstr "" +msgstr "SDCard chūshǐhuà" #: ports/stm/common-hal/sdioio/SDCard.c #, c-format @@ -1899,7 +1896,7 @@ msgstr "SPI pèi zhì shī bài" #: ports/stm/common-hal/busio/SPI.c msgid "SPI init error" -msgstr "" +msgstr "SPI chūshǐhuà cuòwù" #: ports/raspberrypi/common-hal/busio/SPI.c msgid "SPI peripheral in use" @@ -1907,7 +1904,7 @@ msgstr "SPI wài shè zhèng zài shǐ yòng zhōng" #: ports/stm/common-hal/busio/SPI.c msgid "SPI re-init" -msgstr "" +msgstr "SPI chóngxīn qǐdòng" #: shared-bindings/is31fl3741/FrameBuffer.c msgid "Scale dimensions must divide by 3" @@ -2076,7 +2073,7 @@ msgstr "Yào tuìchū, qǐng chóng zhì bǎnkuài ér bùyòng " #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c msgid "Too many channels in sample" -msgstr "" +msgstr "yàngběn zhōng de tōngdào tài duō" #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c msgid "Too many channels in sample." @@ -2111,20 +2108,20 @@ msgstr "Xūyào Tuple huò struct_time cānshù" #: ports/stm/common-hal/busio/UART.c msgid "UART de-init" -msgstr "" +msgstr "UART qù chūshǐhuà" #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/espressif/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c msgid "UART init" -msgstr "" +msgstr "UART chūshǐhuà" #: ports/stm/common-hal/busio/UART.c msgid "UART re-init" -msgstr "" +msgstr "UART chóngxīn qǐdòng" #: ports/stm/common-hal/busio/UART.c msgid "UART write" -msgstr "" +msgstr "UART xiě rù" #: shared-module/usb_hid/Device.c msgid "USB busy" @@ -2276,7 +2273,7 @@ msgstr "Bù zhīchí de géshì" #: shared-bindings/hashlib/__init__.c msgid "Unsupported hash algorithm" -msgstr "" +msgstr "bù zhīchí de hā xī suànfǎ" #: ports/espressif/common-hal/dualbank/__init__.c msgid "Update Failed" @@ -2441,7 +2438,7 @@ msgstr "shù zǔ hé suǒ yǐn cháng dù bì xū xiāng děng" #: extmod/ulab/code/numpy/io/io.c msgid "array has too many dimensions" -msgstr "" +msgstr "shùzǔ yǒu tài duō wéidù" #: py/objarray.c shared-bindings/alarm/SleepMemory.c #: shared-bindings/nvm/ByteArray.c @@ -2560,7 +2557,7 @@ msgstr "jiàozhǔn zhǐ dú dào" #: shared-module/vectorio/Circle.c shared-module/vectorio/Polygon.c #: shared-module/vectorio/Rectangle.c msgid "can only have one parent" -msgstr "" +msgstr "zhǐ néng yǒu yīgè fù xiàng" #: py/emitinlinethumb.c msgid "can only have up to 4 parameters to Thumb assembly" @@ -2733,7 +2730,7 @@ msgstr "tóuyǐng" #: ports/stm/common-hal/pwmio/PWMOut.c msgid "channel re-init" -msgstr "" +msgstr "tōngdào chóngxīn chūshǐhuà" #: shared-bindings/_stage/Text.c msgid "chars buffer too small" @@ -2816,7 +2813,7 @@ msgstr "juàn jī cān shǔ bùnéng wéi kōng" #: extmod/ulab/code/numpy/io/io.c msgid "corrupted file" -msgstr "" +msgstr "wénjiàn sǔnhuài" #: extmod/ulab/code/numpy/poly.c msgid "could not invert Vandermonde matrix" @@ -2913,7 +2910,7 @@ msgstr "kòngxián" #: extmod/ulab/code/numpy/io/io.c msgid "empty file" -msgstr "" +msgstr "kōng de wénjiàn" #: extmod/moduasyncio.c extmod/moduheapq.c extmod/modutimeq.c msgid "empty heap" @@ -3186,7 +3183,7 @@ msgstr "suǒyǐn bìxū shì zhěngshù, qiēpiàn huò bù'ěr zhí lièbiǎo" #: ports/espressif/common-hal/busio/I2C.c msgid "init I2C" -msgstr "" +msgstr "chūshǐhuà I2C" #: extmod/ulab/code/scipy/optimize/optimize.c msgid "initial values must be iterable" @@ -3235,7 +3232,7 @@ msgstr "shūrù jǔzhèn shì qíyì de" #: extmod/ulab/code/numpy/create.c msgid "input must be 1- or 2-d" -msgstr "" +msgstr "shūrù bìxū shì 1- huò 2-d" #: extmod/ulab/code/numpy/carray/carray.c msgid "input must be a 1D ndarray" @@ -3327,7 +3324,7 @@ msgstr "wúxiào de MicroPython zhuāngshì qì" #: ports/espressif/common-hal/esp32_camera/Camera.c msgid "invalid setting" -msgstr "" +msgstr "shèzhì wúxiào" #: shared-bindings/random/__init__.c msgid "invalid step" @@ -3452,7 +3449,7 @@ msgstr "dāng fixed_length de zhí wéi %s shí, max_length bì xū wéi 0-%d" #: extmod/ulab/code/ndarray.c msgid "maximum number of dimensions is " -msgstr "" +msgstr "zuìdà wéi shù shì " #: py/runtime.c msgid "maximum recursion depth exceeded" @@ -3698,7 +3695,7 @@ msgstr "jīshù zìfú chuàn" #: supervisor/shared/web_workflow/web_workflow.c msgid "off" -msgstr "" +msgstr "guānbì" #: extmod/ulab/code/utils/utils.c msgid "offset is too large" @@ -3851,15 +3848,15 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù" #: ports/espressif/boards/adafruit_qtpy_esp32_pico/mpconfigboard.h msgid "pressing BOOT button at start up.\n" -msgstr "" +msgstr "zài qǐdòng shí àn BOOT ànniǔ.\n" #: ports/espressif/boards/adafruit_feather_esp32_v2/mpconfigboard.h msgid "pressing SW38 button at start up.\n" -msgstr "" +msgstr "zài qǐdòng shí àn SW38 ànniǔ.\n" #: ports/espressif/boards/hardkernel_odroid_go/mpconfigboard.h msgid "pressing VOLUME button at start up.\n" -msgstr "" +msgstr "zài qǐdòng shí àn SW38 ànniǔ.\n" #: ports/espressif/boards/adafruit_qtpy_esp32c3/mpconfigboard.h #: ports/espressif/boards/beetle-esp32-c3/mpconfigboard.h @@ -4132,7 +4129,7 @@ msgstr "děngdài v2 kǎ chāoshí" #: ports/stm/common-hal/pwmio/PWMOut.c msgid "timer re-init" -msgstr "" +msgstr "dìngshí qì chóngxīn chūshǐhuà" #: shared-bindings/time/__init__.c msgid "timestamp out of range for platform time_t" @@ -4306,11 +4303,11 @@ msgstr "%q bù zhīchí de lèixíng: '%q', '%q'" #: extmod/ulab/code/numpy/io/io.c msgid "usecols is too high" -msgstr "" +msgstr "Usecols tài gāo" #: extmod/ulab/code/numpy/io/io.c msgid "usecols keyword must be specified" -msgstr "" +msgstr "bìxū zhǐdìng usecols guānjiàn zì" #: py/objint.c #, c-format @@ -4355,7 +4352,7 @@ msgstr "zhǐ dìng de zhóu cuò wù" #: extmod/ulab/code/numpy/io/io.c msgid "wrong dtype" -msgstr "" +msgstr "cuòwù de shùjù lèixíng" #: extmod/ulab/code/numpy/transform.c msgid "wrong index type" @@ -4373,7 +4370,7 @@ msgstr "tiáo jiàn shù zǔ de cháng dù cuò wù" #: extmod/ulab/code/numpy/transform.c msgid "wrong length of index array" -msgstr "" +msgstr "suǒyǐn shùzǔ de chángdù cuòwù" #: extmod/ulab/code/numpy/create.c py/objarray.c py/objstr.c msgid "wrong number of arguments" From de6929d2bbfabf4bfe813bc002b233048e0967bf Mon Sep 17 00:00:00 2001 From: River Wang Date: Fri, 19 Aug 2022 00:15:24 +0000 Subject: [PATCH 08/13] Translated using Weblate (Chinese (Pinyin)) Currently translated at 99.1% (994 of 1003 strings) Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/ --- locale/zh_Latn_pinyin.po | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index e0f94ef47d..9308032a43 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -8,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-04 12:55-0600\n" "PO-Revision-Date: 2022-08-19 23:08+0000\n" -"Last-Translator: hexthat \n" +"Last-Translator: River Wang \n" "Language-Team: Chinese Hanyu Pinyin\n" "Language: zh_Latn_pinyin\n" "MIME-Version: 1.0\n" @@ -758,6 +758,7 @@ msgid "Cannot specify RTS or CTS in RS485 mode" msgstr "wú fǎ zài RS485 mó shì xià zhǐ dìng RTS huò CTS" #: py/objslice.c +#, fuzzy msgid "Cannot subclass slice" msgstr "Wúfǎ zi fēnlèi" @@ -804,10 +805,12 @@ msgid "" msgstr "Liánjiē yǐ duàn kāi, wúfǎ zài shǐyòng. Chuàngjiàn yīgè xīn de liánjiē." #: py/persistentcode.c +#, fuzzy msgid "Corrupt .mpy file" msgstr "Fǔbài de .mpy wénjiàn" #: ports/espressif/common-hal/neopixel_write/__init__.c +#, fuzzy msgid "Could not retrieve clock" msgstr "Wúfǎ huòqǔ shízhōng" From 0b3c74283af2e79f2193d0b605ecec72a5044a89 Mon Sep 17 00:00:00 2001 From: hexthat Date: Fri, 19 Aug 2022 23:09:49 +0000 Subject: [PATCH 09/13] Translated using Weblate (Chinese (Pinyin)) Currently translated at 100.0% (1003 of 1003 strings) Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/ --- locale/zh_Latn_pinyin.po | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index 9308032a43..b0988669b3 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-04 12:55-0600\n" -"PO-Revision-Date: 2022-08-19 23:08+0000\n" -"Last-Translator: River Wang \n" +"PO-Revision-Date: 2022-08-20 14:09+0000\n" +"Last-Translator: hexthat \n" "Language-Team: Chinese Hanyu Pinyin\n" "Language: zh_Latn_pinyin\n" "MIME-Version: 1.0\n" @@ -484,9 +484,8 @@ msgid "Already advertising." msgstr "Mùqián zhèngzài guǎngbō." #: ports/atmel-samd/common-hal/canio/Listener.c -#, fuzzy msgid "Already have all-matches listener" -msgstr "yǐjīng yǒu all-matches jiāntīngqì" +msgstr "yǐjīng yǒu all-matches jiāntīng qì" #: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationSize.c @@ -674,21 +673,19 @@ msgid "Camera init" msgstr "xiàngjī chūshǐhuà" #: ports/espressif/common-hal/alarm/pin/PinAlarm.c -#, fuzzy msgid "Can only alarm on RTC IO from deep sleep." -msgstr "zhǐ néng zài RTC IO shàng cóng shēndù shuìmián zhōng bào jǐng." +msgstr "Zhǐ néng cóng shēndù shuìmián zhōng duì RTC IO jìnxíng bàojǐng." #: ports/espressif/common-hal/alarm/pin/PinAlarm.c -#, fuzzy msgid "Can only alarm on one low pin while others alarm high from deep sleep." msgstr "" -"Zhǐ néng zài yīgè dī diàn píng yǐn jiǎo shàng fāchū jǐngbào, ér qítā yǐn " -"jiǎo cóng shēndù shuìmián zhōng fāchū gāo diàn píng jǐngbào." +"Zhǐ néng zài yīgè dī yǐn jiǎo shàng bàojǐng, ér qítā yǐn jiǎo cóng shēndù " +"shuìmián zhōng fāchū gāo diàn píng bàojǐng." #: ports/espressif/common-hal/alarm/pin/PinAlarm.c -#, fuzzy msgid "Can only alarm on two low pins from deep sleep." -msgstr "zhǐ néng cóng shēn dù shuì mián zhōng bào jǐng liǎng gè dī yǐn jiǎo." +msgstr "" +"Zhǐ néng cóng shēndù shuìmián zhōng de liǎng gè dī yǐn jiǎo shàng bàojǐng." #: ports/espressif/common-hal/_bleio/Characteristic.c #: ports/nrf/common-hal/_bleio/Characteristic.c @@ -741,8 +738,7 @@ msgstr "tōng guò USB kě jiàn shí wú fǎ chóng xīn ān zhuāng '/'." #: ports/cxd56/common-hal/microcontroller/__init__.c #: ports/mimxrt10xx/common-hal/microcontroller/__init__.c msgid "Cannot reset into bootloader because no bootloader is present" -msgstr "" -"wúfǎ chóngxīn qǐdòng dào yǐdǎo chéngxù, yīnwéi yǐdǎo chéngxù bù cúnzài." +msgstr "wúfǎ chóngxīn qǐdòng dào yǐdǎo chéngxù, yīnwéi yǐdǎo chéngxù bù cúnzài" #: ports/espressif/common-hal/socketpool/Socket.c msgid "Cannot set socket options" @@ -758,9 +754,8 @@ msgid "Cannot specify RTS or CTS in RS485 mode" msgstr "wú fǎ zài RS485 mó shì xià zhǐ dìng RTS huò CTS" #: py/objslice.c -#, fuzzy msgid "Cannot subclass slice" -msgstr "Wúfǎ zi fēnlèi" +msgstr "bùnéng zi lèi huà qiēpiàn" #: shared-module/bitbangio/SPI.c msgid "Cannot transfer without MOSI and MISO pins" @@ -805,14 +800,12 @@ msgid "" msgstr "Liánjiē yǐ duàn kāi, wúfǎ zài shǐyòng. Chuàngjiàn yīgè xīn de liánjiē." #: py/persistentcode.c -#, fuzzy msgid "Corrupt .mpy file" -msgstr "Fǔbài de .mpy wénjiàn" +msgstr "sǔnhuài de .mpy wénjiàn" #: ports/espressif/common-hal/neopixel_write/__init__.c -#, fuzzy msgid "Could not retrieve clock" -msgstr "Wúfǎ huòqǔ shízhōng" +msgstr "wúfǎ jiǎnsuǒ shízhōng" #: shared-bindings/_bleio/Adapter.c msgid "Could not set address" @@ -1815,7 +1808,7 @@ msgstr "RNG chūshǐhuà cuòwù" #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c msgid "RS485" -msgstr "" +msgstr "RS485" #: ports/espressif/common-hal/busio/UART.c #: ports/mimxrt10xx/common-hal/busio/UART.c @@ -2344,7 +2337,7 @@ msgstr "" #: supervisor/shared/web_workflow/web_workflow.c msgid "Wi-Fi: " -msgstr "" +msgstr "Wi-Fi: " #: main.c msgid "Woken up by alarm.\n" @@ -3448,7 +3441,7 @@ msgstr "jǔzhèn bùshì zhèngdìng de" #: ports/nrf/common-hal/_bleio/Descriptor.c #, c-format msgid "max_length must be 0-%d when fixed_length is %s" -msgstr "dāng fixed_length de zhí wéi %s shí, max_length bì xū wéi 0-%d" +msgstr "max_length bìxū shì 0-%d, dāng fixed_length shì %s" #: extmod/ulab/code/ndarray.c msgid "maximum number of dimensions is " From dfd6fa2114853327320db89235888506aa6ecb17 Mon Sep 17 00:00:00 2001 From: Neradoc Date: Sun, 21 Aug 2022 03:32:02 +0200 Subject: [PATCH 10/13] add serial number to version.json, UID like in boot_out.txt --- supervisor/shared/web_workflow/web_workflow.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/supervisor/shared/web_workflow/web_workflow.c b/supervisor/shared/web_workflow/web_workflow.c index 5d1cbe1c76..3f942b91d3 100644 --- a/supervisor/shared/web_workflow/web_workflow.c +++ b/supervisor/shared/web_workflow/web_workflow.c @@ -49,6 +49,7 @@ #include "shared-bindings/hashlib/Hash.h" #include "shared-bindings/mdns/RemoteService.h" #include "shared-bindings/mdns/Server.h" +#include "shared-bindings/microcontroller/Processor.h" #include "shared-bindings/socketpool/__init__.h" #include "shared-bindings/socketpool/Socket.h" #include "shared-bindings/socketpool/SocketPool.h" @@ -768,8 +769,17 @@ static void _reply_with_version_json(socketpool_socket_obj_t *socket, _request * "\"creator_id\": %u, " "\"creation_id\": %u, " "\"hostname\": \"%s\", " - "\"port\": %d, " - "\"ip\": \"%s\"}", CIRCUITPY_CREATOR_ID, CIRCUITPY_CREATION_ID, hostname, web_api_port, _our_ip_encoded); + "\"port\": %d, ", CIRCUITPY_CREATOR_ID, CIRCUITPY_CREATION_ID, hostname, web_api_port, _our_ip_encoded); + #if CIRCUITPY_MICROCONTROLLER && COMMON_HAL_MCU_PROCESSOR_UID_LENGTH > 0 + uint8_t raw_id[COMMON_HAL_MCU_PROCESSOR_UID_LENGTH]; + common_hal_mcu_processor_get_uid(raw_id); + mp_printf(&_socket_print, "\"UID\": \""); + for (uint8_t i = 0; i < COMMON_HAL_MCU_PROCESSOR_UID_LENGTH; i++) { + mp_printf(&_socket_print, "%02X", raw_id[i]); + } + mp_printf(&_socket_print, "\", "); + #endif + mp_printf(&_socket_print, "\"ip\": \"%s\"}", _our_ip_encoded); // Empty chunk signals the end of the response. _send_chunk(socket, ""); } From fc21b30762d28a138d63e305d058bf6a33814dc3 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 21 Aug 2022 15:09:27 -0500 Subject: [PATCH 11/13] Make rotaryio object long-lived --- shared-bindings/rotaryio/IncrementalEncoder.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared-bindings/rotaryio/IncrementalEncoder.c b/shared-bindings/rotaryio/IncrementalEncoder.c index 0fe22be262..fe1b0b171b 100644 --- a/shared-bindings/rotaryio/IncrementalEncoder.c +++ b/shared-bindings/rotaryio/IncrementalEncoder.c @@ -74,7 +74,8 @@ STATIC mp_obj_t rotaryio_incrementalencoder_make_new(const mp_obj_type_t *type, const mcu_pin_obj_t *pin_a = validate_obj_is_free_pin(args[ARG_pin_a].u_obj); const mcu_pin_obj_t *pin_b = validate_obj_is_free_pin(args[ARG_pin_b].u_obj); - rotaryio_incrementalencoder_obj_t *self = m_new_obj(rotaryio_incrementalencoder_obj_t); + // Make long-lived because some implementations use a pointer to the object as interrupt-handler data. + rotaryio_incrementalencoder_obj_t *self = m_new_ll_obj(rotaryio_incrementalencoder_obj_t); self->base.type = &rotaryio_incrementalencoder_type; common_hal_rotaryio_incrementalencoder_construct(self, pin_a, pin_b); From e920c977d4519c4a0d6fdc301f959a359b0439d8 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 23 Aug 2022 14:57:26 -0500 Subject: [PATCH 12/13] hashlib: fix the 'digest_size' property Closes: #6796 --- shared-bindings/hashlib/Hash.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/shared-bindings/hashlib/Hash.c b/shared-bindings/hashlib/Hash.c index e27b71ef78..896526983a 100644 --- a/shared-bindings/hashlib/Hash.c +++ b/shared-bindings/hashlib/Hash.c @@ -39,12 +39,13 @@ //| digest_size: int //| """Digest size in bytes""" //| -STATIC mp_obj_t hashlib_hash_get_digest_size(mp_obj_t self_in) { +STATIC mp_obj_t hashlib_hash_digest_size_get(mp_obj_t self_in) { mp_check_self(mp_obj_is_type(self_in, &hashlib_hash_type)); hashlib_hash_obj_t *self = MP_OBJ_TO_PTR(self_in); return MP_OBJ_NEW_SMALL_INT(common_hal_hashlib_hash_get_digest_size(self)); } -MP_PROPERTY_GETTER(hashlib_hash_digest_size_obj, hashlib_hash_get_digest_size); +MP_DEFINE_CONST_FUN_OBJ_1(hashlib_hash_digest_size_get_obj, hashlib_hash_digest_size_get); +MP_PROPERTY_GETTER(hashlib_hash_digest_size_obj, (mp_obj_t)&hashlib_hash_digest_size_get_obj); //| def update(self, data: ReadableBuffer) -> None: //| """Update the hash with the given bytes. From aab5fac67b7ef963bac2c9404c7dba584229611e Mon Sep 17 00:00:00 2001 From: Maxim Kulkin Date: Mon, 15 Aug 2022 20:46:28 -0400 Subject: [PATCH 13/13] shared-module/usb_hid: Fix behavior of Device.get_last_received_report() Documentation states that get_last_received_report() function should return None if there was no report received previously, otherwise it should return report. Moreover, same report should be returned only once. That makes it possible to reliably process incoming OUT/Feature reports. This patch adds an array that stores flags if report with particular ID was received and updates get_last_received_report() to match its documentation. --- shared-module/usb_hid/Device.c | 7 +++++++ shared-module/usb_hid/Device.h | 1 + 2 files changed, 8 insertions(+) diff --git a/shared-module/usb_hid/Device.c b/shared-module/usb_hid/Device.c index f92c93baa3..680bb83893 100644 --- a/shared-module/usb_hid/Device.c +++ b/shared-module/usb_hid/Device.c @@ -24,6 +24,7 @@ * THE SOFTWARE. */ +#include #include #include "py/gc.h" @@ -241,6 +242,10 @@ void common_hal_usb_hid_device_send_report(usb_hid_device_obj_t *self, uint8_t * mp_obj_t common_hal_usb_hid_device_get_last_received_report(usb_hid_device_obj_t *self, uint8_t report_id) { // report_id has already been validated for this device. size_t id_idx = get_report_id_idx(self, report_id); + if (!self->out_report_buffers_updated[id_idx]) { + return mp_const_none; + } + self->out_report_buffers_updated[id_idx] = false; return mp_obj_new_bytes(self->out_report_buffers[id_idx], self->out_report_lengths[id_idx]); } @@ -258,6 +263,7 @@ void usb_hid_device_create_report_buffers(usb_hid_device_obj_t *self) { ? gc_alloc(self->out_report_lengths[i], false, true /*long-lived*/) : NULL; } + memset(self->out_report_buffers_updated, 0, sizeof(self->out_report_buffers_updated)); } @@ -304,6 +310,7 @@ void tud_hid_set_report_cb(uint8_t itf, uint8_t report_id, hid_report_type_t rep hid_device->out_report_buffers[id_idx] && hid_device->out_report_lengths[id_idx] >= bufsize) { memcpy(hid_device->out_report_buffers[id_idx], buffer, bufsize); + hid_device->out_report_buffers_updated[id_idx] = true; } } } diff --git a/shared-module/usb_hid/Device.h b/shared-module/usb_hid/Device.h index f265712be4..06729f3c7d 100644 --- a/shared-module/usb_hid/Device.h +++ b/shared-module/usb_hid/Device.h @@ -38,6 +38,7 @@ typedef struct { const uint8_t *report_descriptor; uint8_t *in_report_buffers[CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR]; uint8_t *out_report_buffers[CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR]; + uint8_t out_report_buffers_updated[CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR]; uint16_t report_descriptor_length; uint8_t report_ids[CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR]; uint8_t in_report_lengths[CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR];