Compare commits

..
34 Commits
Author SHA1 Message Date
Earle F. Philhower, III 32e74d024e Update version 2024-01-03 18:02:35 -08:00
Earle F. Philhower, III 326697bbe1 Update Mac Picotool/OpenOCD to use bundled dylibs (#1922)
Fixes #1919 by using binaries from https://github.com/earlephilhower/pico-quick-toolchain/pull/37
2024-01-02 18:51:20 -08:00
Earle F. Philhower, III afbba68549 Set AP IP address on ::beginAP
The Arduino WiFi normalization ended up calling the underlying LWIP
::config after the AP was begin, resulting in a failure to set the
IP configuration of the AP.  Move the _wifi.begin() call to after
the IP configuration is set.

Fixes #1989
2024-01-02 18:20:25 -08:00
Steve Bian 042555206b Adds definition for WIRE_INTERFACES_COUNT #1182 (#1921)
* Adds definition for WIRE_INTERFACES_COUNT so those libraries which rely on it can detect and use...

Wire1. e.g. u8g2 will not use Wire1 unless this is (a) defined and (b) >1. This constant is defined
on other cores, e.g. for SAMD based boards.
2024-01-01 18:55:03 -08:00
Richard Teel 24f6302612 Updated listfiles example and added CardInfo example (#1914) 2023-12-27 12:01:06 -08:00
Joseph Duchesne 15eb459df9 Add variants_dir support to pio build, allowing local variants in project repos (#1911) 2023-12-26 09:59:45 -08:00
Ha Thach 3160fde679 Support native USB as host (#1910)
* add a new usbstack menu to use native usb as host

* update tinyusb library to 2.3.0

* skip Host native example in ci
2023-12-25 11:36:07 -08:00
Earle F. Philhower, III 1160d7cd7c Replace ancient "boolean" with "bool" (#1908) 2023-12-20 13:46:07 -08:00
Earle F. Philhower, III 2aa85e3263 Minor LWIPEthernet cleanup (#1906) 2023-12-20 07:49:48 -08:00
erpebe c4f36170d4 Correct calculation of totalBlocks() in SD.h and SDFS.h (#1899) 2023-12-13 12:45:15 -08:00
Earle F. Philhower, III 3068cd0af0 Use SW random generator for all LWIP (#1892) 2023-12-10 16:18:17 -08:00
Earle F. Philhower, III fa390f48af Clean up FreeRTOS header, include add'l APIs (#1891) 2023-12-10 09:48:15 -08:00
Dominic Pearman 0c7454b6f7 Minor typo correction to platformio.rst. (#1889) 2023-12-08 07:42:35 -08:00
Earle F. Philhower, III 500f197c02 Update version 2023-12-06 09:52:23 -08:00
Earle F. Philhower, III 2bf249ffe1 Avoid freezeing the core from LWIP under FreeRTOS (#1884)
Avoid issues with interrupts and priority inversions and other deadlocks
and use a SW based random generator for LWIP when under FreeRTOS.

This means removing any overrides for sleep_until and the two
get_rand_xx calls from the SDK, making things much saner.

Related to #1883, #1872, and other random FreeRTOS lockups.
2023-12-06 09:41:14 -08:00
Dominic PearmanandDominic Pearman 81070a0b3f Minor documentation corrections in platformio.rst. (#1885)
* Corrected minor typo.

* Removed superfluous newline.

---------

Co-authored-by: Dominic Pearman <dominic@phymorous.de>
2023-12-06 06:20:59 -08:00
GUVWAF d45a11f9e7 Disable interrupts first when idling core (#1883) 2023-12-05 11:53:41 -08:00
Earle F. Philhower, III c3a3526aad Fix SPI 16-bit transfers (#1882)
Fixes #1879
Fixes #1874
2023-12-04 17:30:43 -08:00
Earle F. Philhower, III 280fc43731 Fix SPI debug print warning (#1881) 2023-12-04 12:48:49 -08:00
Earle F. Philhower, III 762535faf9 Add documentation about MDNS + FreeRTOS = crash (#1880)
See #1875
2023-12-04 08:57:49 -08:00
GUVWAF 0e4fd0587b Replace std::bind in MDNSResponder for UDP context (#1875) 2023-12-03 08:34:35 -08:00
GUVWAF d2461a14ad Enable interrupts last when resuming other core (#1872) 2023-12-02 10:20:05 -08:00
Juraj Andrássy a1902b5f41 WiFiServer modernization (#1871) 2023-12-02 09:31:39 -08:00
Taylor Alexander aka Sequoia c2d60774af Fix small typo in analog.rst (#1869)
Change "RP20400" to "RP2040"
2023-12-01 15:17:58 -08:00
Earle F. Philhower, III 269c579846 Remove IPv6 compile warning (#1867) 2023-12-01 12:10:16 -08:00
Juraj Andrássy 91183ca22f LwipIntfDev - disconnect()/end() should not clear static IP settings (#1866) 2023-12-01 11:53:01 -08:00
Earle F. Philhower, III 971c235e8d Remove unneeded intermediate async for Ethernet (#1864)
Remove the always pending worker whose job it was to fire another async
worker after a timeout.
2023-12-01 10:50:15 -08:00
Juraj Andrássy abd3547711 WiFi and Ethernet - config static IP auto gw,mask,dns as in Arduino libs (#1862) 2023-12-01 10:24:11 -08:00
Juraj Andrássy 9181ec055d LwipIntfDev - hostByName default value for the timeout parameter (#1858)
to have standard version with two parameters
2023-11-30 08:58:15 -08:00
Juraj Andrássy 58089b1f44 wl_defintions.h wl_enc_type update (#1859) 2023-11-30 08:33:33 -08:00
Juraj Andrássy 4f62e0a4ba LwipIntfDev - added macAddress getter and DNS IP getter and setter (#1856)
and dnsIP(n) getter in WiFiClass too
2023-11-29 13:24:16 -08:00
Richard Teel dbab62c214 Added clearAPList method to WiFiMulti (#1848)
Fixes #1846
2023-11-27 15:35:36 -08:00
Earle F. Philhower, III 6a878cdee8 Only create SPI/Wire instances if variant defined (#1842)
Fixes #1841
2023-11-24 09:56:13 -08:00
noqman cebdb6c917 Add new board variant: Cytron Maker UNO RP2040 (#1838) 2023-11-24 07:13:37 -08:00
57 changed files with 2425 additions and 258 deletions
+3 -3
View File
@@ -252,14 +252,14 @@ If you want to contribute or have bugfixes, drop me a note at <earlephilhower@ya
* [UF2CONV.PY](https://github.com/microsoft/uf2) is by Microsoft Corporation and licensed under the MIT license.
* Networking and filesystem code taken from the [ESP8266 Arduino Core](https://github.com/esp8266/Arduino) and licensed under the LGPL.
* DHCP server for AP host mode from the [Micropython Project](https://micropython.org), distributed under the MIT License.
* [FreeRTOS](https://freertos.org) is Copyright Amazon.com, Inc. or its affiliates, and distributed under the MIT license.
* [FreeRTOS](https://freertos.org) is copyright Amazon.com, Inc. or its affiliates, and distributed under the MIT license.
* [lwIP](https://savannah.nongnu.org/projects/lwip/) is (c) the Swedish Institute of Computer Science and licenced under the BSD license.
* [BearSSL](https://bearssl.org) library written by Thomas Pornin, is distributed under the [MIT License](https://bearssl.org/#legal-details).
* [UZLib](https://github.com/pfalcon/uzlib) is copyright (c) 2003 Joergen Ibsen and distributed under the zlib license.
* [LEAmDNS](https://github.com/LaborEtArs/ESP8266mDNS) is copyright multiple authors and distributed under the MIT license.
* [http-parser](https://github.com/nodejs/http-parser) is copyright Joyent, Inc. and other Node contributors.
* WebServer code modified from the [ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer) and is copyright (c) 2015 Ivan Grokhotkov and others
* WebServer code modified from the [ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer) and is copyright (c) 2015 Ivan Grokhotkov and others.
* [Xoshiro-cpp](https://github.com/Reputeless/Xoshiro-cpp) is copyright (c) 2020 Ryo Suzuki and distributed under the MIT license.
-Earle F. Philhower, III
earlephilhower@yahoo.com
+342
View File
@@ -175,6 +175,8 @@ rpipico.menu.usbstack.picosdk=Pico SDK
rpipico.menu.usbstack.picosdk.build.usbstack_flags=
rpipico.menu.usbstack.tinyusb=Adafruit TinyUSB
rpipico.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipico.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
rpipico.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipico.menu.usbstack.nousb=No USB
rpipico.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
rpipico.menu.ipbtstack.ipv4only=IPv4 Only
@@ -375,6 +377,8 @@ rpipicow.menu.usbstack.picosdk=Pico SDK
rpipicow.menu.usbstack.picosdk.build.usbstack_flags=
rpipicow.menu.usbstack.tinyusb=Adafruit TinyUSB
rpipicow.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipicow.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
rpipicow.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipicow.menu.usbstack.nousb=No USB
rpipicow.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
rpipicow.menu.wificountry.worldwide=Worldwide
@@ -777,6 +781,8 @@ rpipicow.menu.uploadmethod.picodebug.upload.tool.default=picodebug
0xcb_helios.menu.usbstack.picosdk.build.usbstack_flags=
0xcb_helios.menu.usbstack.tinyusb=Adafruit TinyUSB
0xcb_helios.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
0xcb_helios.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
0xcb_helios.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
0xcb_helios.menu.usbstack.nousb=No USB
0xcb_helios.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
0xcb_helios.menu.ipbtstack.ipv4only=IPv4 Only
@@ -1019,6 +1025,8 @@ adafruit_feather.menu.usbstack.picosdk=Pico SDK
adafruit_feather.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather.menu.usbstack.nousb=No USB
adafruit_feather.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather.menu.ipbtstack.ipv4only=IPv4 Only
@@ -1261,6 +1269,8 @@ adafruit_feather_scorpio.menu.usbstack.picosdk=Pico SDK
adafruit_feather_scorpio.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_scorpio.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_scorpio.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_scorpio.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_scorpio.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_scorpio.menu.usbstack.nousb=No USB
adafruit_feather_scorpio.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_scorpio.menu.ipbtstack.ipv4only=IPv4 Only
@@ -1507,6 +1517,8 @@ adafruit_feather_dvi.menu.usbstack.picosdk=Pico SDK
adafruit_feather_dvi.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_dvi.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_dvi.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_dvi.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_dvi.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_dvi.menu.usbstack.nousb=No USB
adafruit_feather_dvi.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_dvi.menu.ipbtstack.ipv4only=IPv4 Only
@@ -1753,6 +1765,8 @@ adafruit_feather_rfm.menu.usbstack.picosdk=Pico SDK
adafruit_feather_rfm.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_rfm.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_rfm.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_rfm.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_rfm.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_rfm.menu.usbstack.nousb=No USB
adafruit_feather_rfm.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_rfm.menu.ipbtstack.ipv4only=IPv4 Only
@@ -1999,6 +2013,8 @@ adafruit_feather_thinkink.menu.usbstack.picosdk=Pico SDK
adafruit_feather_thinkink.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_thinkink.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_thinkink.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_thinkink.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_thinkink.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_thinkink.menu.usbstack.nousb=No USB
adafruit_feather_thinkink.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_thinkink.menu.ipbtstack.ipv4only=IPv4 Only
@@ -2245,6 +2261,8 @@ adafruit_feather_usb_host.menu.usbstack.picosdk=Pico SDK
adafruit_feather_usb_host.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_usb_host.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_usb_host.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_usb_host.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_usb_host.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_usb_host.menu.usbstack.nousb=No USB
adafruit_feather_usb_host.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_usb_host.menu.ipbtstack.ipv4only=IPv4 Only
@@ -2491,6 +2509,8 @@ adafruit_feather_can.menu.usbstack.picosdk=Pico SDK
adafruit_feather_can.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_can.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_can.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_can.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_can.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_can.menu.usbstack.nousb=No USB
adafruit_feather_can.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_can.menu.ipbtstack.ipv4only=IPv4 Only
@@ -2737,6 +2757,8 @@ adafruit_feather_prop_maker.menu.usbstack.picosdk=Pico SDK
adafruit_feather_prop_maker.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_feather_prop_maker.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_feather_prop_maker.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_prop_maker.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_feather_prop_maker.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_feather_prop_maker.menu.usbstack.nousb=No USB
adafruit_feather_prop_maker.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_feather_prop_maker.menu.ipbtstack.ipv4only=IPv4 Only
@@ -2983,6 +3005,8 @@ adafruit_itsybitsy.menu.usbstack.picosdk=Pico SDK
adafruit_itsybitsy.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_itsybitsy.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_itsybitsy.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_itsybitsy.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_itsybitsy.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_itsybitsy.menu.usbstack.nousb=No USB
adafruit_itsybitsy.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_itsybitsy.menu.ipbtstack.ipv4only=IPv4 Only
@@ -3285,6 +3309,8 @@ adafruit_metro.menu.usbstack.picosdk=Pico SDK
adafruit_metro.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_metro.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_metro.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_metro.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_metro.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_metro.menu.usbstack.nousb=No USB
adafruit_metro.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_metro.menu.ipbtstack.ipv4only=IPv4 Only
@@ -3531,6 +3557,8 @@ adafruit_qtpy.menu.usbstack.picosdk=Pico SDK
adafruit_qtpy.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_qtpy.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_qtpy.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_qtpy.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_qtpy.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_qtpy.menu.usbstack.nousb=No USB
adafruit_qtpy.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_qtpy.menu.ipbtstack.ipv4only=IPv4 Only
@@ -3777,6 +3805,8 @@ adafruit_stemmafriend.menu.usbstack.picosdk=Pico SDK
adafruit_stemmafriend.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_stemmafriend.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_stemmafriend.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_stemmafriend.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_stemmafriend.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_stemmafriend.menu.usbstack.nousb=No USB
adafruit_stemmafriend.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_stemmafriend.menu.ipbtstack.ipv4only=IPv4 Only
@@ -4023,6 +4053,8 @@ adafruit_trinkeyrp2040qt.menu.usbstack.picosdk=Pico SDK
adafruit_trinkeyrp2040qt.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_trinkeyrp2040qt.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_trinkeyrp2040qt.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_trinkeyrp2040qt.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_trinkeyrp2040qt.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_trinkeyrp2040qt.menu.usbstack.nousb=No USB
adafruit_trinkeyrp2040qt.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_trinkeyrp2040qt.menu.ipbtstack.ipv4only=IPv4 Only
@@ -4269,6 +4301,8 @@ adafruit_macropad2040.menu.usbstack.picosdk=Pico SDK
adafruit_macropad2040.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_macropad2040.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_macropad2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_macropad2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_macropad2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_macropad2040.menu.usbstack.nousb=No USB
adafruit_macropad2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_macropad2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -4515,6 +4549,8 @@ adafruit_kb2040.menu.usbstack.picosdk=Pico SDK
adafruit_kb2040.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_kb2040.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_kb2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_kb2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
adafruit_kb2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
adafruit_kb2040.menu.usbstack.nousb=No USB
adafruit_kb2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
adafruit_kb2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -4809,6 +4845,8 @@ arduino_nano_connect.menu.usbstack.picosdk=Pico SDK
arduino_nano_connect.menu.usbstack.picosdk.build.usbstack_flags=
arduino_nano_connect.menu.usbstack.tinyusb=Adafruit TinyUSB
arduino_nano_connect.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
arduino_nano_connect.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
arduino_nano_connect.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
arduino_nano_connect.menu.usbstack.nousb=No USB
arduino_nano_connect.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
arduino_nano_connect.menu.ipbtstack.ipv4only=IPv4 Only
@@ -5009,6 +5047,8 @@ artronshop_rp2_nano.menu.usbstack.picosdk=Pico SDK
artronshop_rp2_nano.menu.usbstack.picosdk.build.usbstack_flags=
artronshop_rp2_nano.menu.usbstack.tinyusb=Adafruit TinyUSB
artronshop_rp2_nano.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
artronshop_rp2_nano.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
artronshop_rp2_nano.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
artronshop_rp2_nano.menu.usbstack.nousb=No USB
artronshop_rp2_nano.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
artronshop_rp2_nano.menu.ipbtstack.ipv4only=IPv4 Only
@@ -5252,6 +5292,8 @@ bridgetek_idm2040-7a.menu.usbstack.picosdk=Pico SDK
bridgetek_idm2040-7a.menu.usbstack.picosdk.build.usbstack_flags=
bridgetek_idm2040-7a.menu.usbstack.tinyusb=Adafruit TinyUSB
bridgetek_idm2040-7a.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
bridgetek_idm2040-7a.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
bridgetek_idm2040-7a.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
bridgetek_idm2040-7a.menu.usbstack.nousb=No USB
bridgetek_idm2040-7a.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
bridgetek_idm2040-7a.menu.ipbtstack.ipv4only=IPv4 Only
@@ -5452,6 +5494,8 @@ cytron_maker_nano_rp2040.menu.usbstack.picosdk=Pico SDK
cytron_maker_nano_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
cytron_maker_nano_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
cytron_maker_nano_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_nano_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
cytron_maker_nano_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_nano_rp2040.menu.usbstack.nousb=No USB
cytron_maker_nano_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
cytron_maker_nano_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -5652,6 +5696,8 @@ cytron_maker_pi_rp2040.menu.usbstack.picosdk=Pico SDK
cytron_maker_pi_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
cytron_maker_pi_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
cytron_maker_pi_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_pi_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
cytron_maker_pi_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_pi_rp2040.menu.usbstack.nousb=No USB
cytron_maker_pi_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
cytron_maker_pi_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -5694,6 +5740,208 @@ cytron_maker_pi_rp2040.menu.uploadmethod.picodebug.upload.maximum_data_size=2457
cytron_maker_pi_rp2040.menu.uploadmethod.picodebug.upload.tool=picodebug
cytron_maker_pi_rp2040.menu.uploadmethod.picodebug.upload.tool.default=picodebug
# -----------------------------------
# Cytron Maker UNO RP2040
# -----------------------------------
cytron_maker_uno_rp2040.name=Cytron Maker UNO RP2040
cytron_maker_uno_rp2040.vid.0=0x2e8a
cytron_maker_uno_rp2040.pid.0=0x1071
cytron_maker_uno_rp2040.vid.1=0x2e8a
cytron_maker_uno_rp2040.pid.1=0x1171
cytron_maker_uno_rp2040.vid.2=0x2e8a
cytron_maker_uno_rp2040.pid.2=0x5071
cytron_maker_uno_rp2040.vid.3=0x2e8a
cytron_maker_uno_rp2040.pid.3=0x5171
cytron_maker_uno_rp2040.vid.4=0x2e8a
cytron_maker_uno_rp2040.pid.4=0x9071
cytron_maker_uno_rp2040.vid.5=0x2e8a
cytron_maker_uno_rp2040.pid.5=0x9171
cytron_maker_uno_rp2040.vid.6=0x2e8a
cytron_maker_uno_rp2040.pid.6=0xd071
cytron_maker_uno_rp2040.vid.7=0x2e8a
cytron_maker_uno_rp2040.pid.7=0xd171
cytron_maker_uno_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
cytron_maker_uno_rp2040.build.usbpid=-DUSBD_PID=0x1071
cytron_maker_uno_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
cytron_maker_uno_rp2040.build.board=CYTRON_MAKER_UNO_RP2040
cytron_maker_uno_rp2040.build.mcu=cortex-m0plus
cytron_maker_uno_rp2040.build.variant=cytron_maker_uno_rp2040
cytron_maker_uno_rp2040.upload.maximum_size=2097152
cytron_maker_uno_rp2040.upload.wait_for_upload_port=true
cytron_maker_uno_rp2040.upload.erase_cmd=
cytron_maker_uno_rp2040.serial.disableDTR=false
cytron_maker_uno_rp2040.serial.disableRTS=false
cytron_maker_uno_rp2040.build.f_cpu=125000000
cytron_maker_uno_rp2040.build.led=
cytron_maker_uno_rp2040.build.core=rp2040
cytron_maker_uno_rp2040.build.ldscript=memmap_default.ld
cytron_maker_uno_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
cytron_maker_uno_rp2040.build.usb_manufacturer="Cytron"
cytron_maker_uno_rp2040.build.usb_product="Maker UNO RP2040"
cytron_maker_uno_rp2040.menu.flash.2097152_0=2MB (no FS)
cytron_maker_uno_rp2040.menu.flash.2097152_0.upload.maximum_size=2093056
cytron_maker_uno_rp2040.menu.flash.2097152_0.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_0.build.flash_length=2093056
cytron_maker_uno_rp2040.menu.flash.2097152_0.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_0.build.fs_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_0.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB)
cytron_maker_uno_rp2040.menu.flash.2097152_65536.upload.maximum_size=2027520
cytron_maker_uno_rp2040.menu.flash.2097152_65536.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_65536.build.flash_length=2027520
cytron_maker_uno_rp2040.menu.flash.2097152_65536.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_65536.build.fs_start=270462976
cytron_maker_uno_rp2040.menu.flash.2097152_65536.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB)
cytron_maker_uno_rp2040.menu.flash.2097152_131072.upload.maximum_size=1961984
cytron_maker_uno_rp2040.menu.flash.2097152_131072.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_131072.build.flash_length=1961984
cytron_maker_uno_rp2040.menu.flash.2097152_131072.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_131072.build.fs_start=270397440
cytron_maker_uno_rp2040.menu.flash.2097152_131072.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB)
cytron_maker_uno_rp2040.menu.flash.2097152_262144.upload.maximum_size=1830912
cytron_maker_uno_rp2040.menu.flash.2097152_262144.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_262144.build.flash_length=1830912
cytron_maker_uno_rp2040.menu.flash.2097152_262144.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_262144.build.fs_start=270266368
cytron_maker_uno_rp2040.menu.flash.2097152_262144.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB)
cytron_maker_uno_rp2040.menu.flash.2097152_524288.upload.maximum_size=1568768
cytron_maker_uno_rp2040.menu.flash.2097152_524288.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_524288.build.flash_length=1568768
cytron_maker_uno_rp2040.menu.flash.2097152_524288.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_524288.build.fs_start=270004224
cytron_maker_uno_rp2040.menu.flash.2097152_524288.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB)
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.upload.maximum_size=1044480
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.build.flash_total=2097152
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.build.flash_length=1044480
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.build.eeprom_start=270528512
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.build.fs_start=269479936
cytron_maker_uno_rp2040.menu.flash.2097152_1048576.build.fs_end=270528512
cytron_maker_uno_rp2040.menu.freq.133=133 MHz
cytron_maker_uno_rp2040.menu.freq.133.build.f_cpu=133000000L
cytron_maker_uno_rp2040.menu.freq.50=50 MHz
cytron_maker_uno_rp2040.menu.freq.50.build.f_cpu=50000000L
cytron_maker_uno_rp2040.menu.freq.100=100 MHz
cytron_maker_uno_rp2040.menu.freq.100.build.f_cpu=100000000L
cytron_maker_uno_rp2040.menu.freq.120=120 MHz
cytron_maker_uno_rp2040.menu.freq.120.build.f_cpu=120000000L
cytron_maker_uno_rp2040.menu.freq.125=125 MHz
cytron_maker_uno_rp2040.menu.freq.125.build.f_cpu=125000000L
cytron_maker_uno_rp2040.menu.freq.150=150 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.150.build.f_cpu=150000000L
cytron_maker_uno_rp2040.menu.freq.175=175 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.175.build.f_cpu=175000000L
cytron_maker_uno_rp2040.menu.freq.200=200 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.200.build.f_cpu=200000000L
cytron_maker_uno_rp2040.menu.freq.225=225 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.225.build.f_cpu=225000000L
cytron_maker_uno_rp2040.menu.freq.240=240 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.240.build.f_cpu=240000000L
cytron_maker_uno_rp2040.menu.freq.250=250 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.250.build.f_cpu=250000000L
cytron_maker_uno_rp2040.menu.freq.275=275 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.275.build.f_cpu=275000000L
cytron_maker_uno_rp2040.menu.freq.300=300 MHz (Overclock)
cytron_maker_uno_rp2040.menu.freq.300.build.f_cpu=300000000L
cytron_maker_uno_rp2040.menu.opt.Small=Small (-Os) (standard)
cytron_maker_uno_rp2040.menu.opt.Small.build.flags.optimize=-Os
cytron_maker_uno_rp2040.menu.opt.Optimize=Optimize (-O)
cytron_maker_uno_rp2040.menu.opt.Optimize.build.flags.optimize=-O
cytron_maker_uno_rp2040.menu.opt.Optimize2=Optimize More (-O2)
cytron_maker_uno_rp2040.menu.opt.Optimize2.build.flags.optimize=-O2
cytron_maker_uno_rp2040.menu.opt.Optimize3=Optimize Even More (-O3)
cytron_maker_uno_rp2040.menu.opt.Optimize3.build.flags.optimize=-O3
cytron_maker_uno_rp2040.menu.opt.Fast=Fast (-Ofast) (maybe slower)
cytron_maker_uno_rp2040.menu.opt.Fast.build.flags.optimize=-Ofast
cytron_maker_uno_rp2040.menu.opt.Debug=Debug (-Og)
cytron_maker_uno_rp2040.menu.opt.Debug.build.flags.optimize=-Og
cytron_maker_uno_rp2040.menu.rtti.Disabled=Disabled
cytron_maker_uno_rp2040.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
cytron_maker_uno_rp2040.menu.rtti.Enabled=Enabled
cytron_maker_uno_rp2040.menu.rtti.Enabled.build.flags.rtti=
cytron_maker_uno_rp2040.menu.stackprotect.Disabled=Disabled
cytron_maker_uno_rp2040.menu.stackprotect.Disabled.build.flags.stackprotect=
cytron_maker_uno_rp2040.menu.stackprotect.Enabled=Enabled
cytron_maker_uno_rp2040.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
cytron_maker_uno_rp2040.menu.exceptions.Disabled=Disabled
cytron_maker_uno_rp2040.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
cytron_maker_uno_rp2040.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
cytron_maker_uno_rp2040.menu.exceptions.Enabled=Enabled
cytron_maker_uno_rp2040.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
cytron_maker_uno_rp2040.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
cytron_maker_uno_rp2040.menu.dbgport.Disabled=Disabled
cytron_maker_uno_rp2040.menu.dbgport.Disabled.build.debug_port=
cytron_maker_uno_rp2040.menu.dbgport.Serial=Serial
cytron_maker_uno_rp2040.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
cytron_maker_uno_rp2040.menu.dbgport.Serial1=Serial1
cytron_maker_uno_rp2040.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
cytron_maker_uno_rp2040.menu.dbgport.Serial2=Serial2
cytron_maker_uno_rp2040.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
cytron_maker_uno_rp2040.menu.dbglvl.None=None
cytron_maker_uno_rp2040.menu.dbglvl.None.build.debug_level=
cytron_maker_uno_rp2040.menu.dbglvl.Core=Core
cytron_maker_uno_rp2040.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
cytron_maker_uno_rp2040.menu.dbglvl.SPI=SPI
cytron_maker_uno_rp2040.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
cytron_maker_uno_rp2040.menu.dbglvl.Wire=Wire
cytron_maker_uno_rp2040.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
cytron_maker_uno_rp2040.menu.dbglvl.Bluetooth=Bluetooth
cytron_maker_uno_rp2040.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH
cytron_maker_uno_rp2040.menu.dbglvl.All=All
cytron_maker_uno_rp2040.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH
cytron_maker_uno_rp2040.menu.dbglvl.NDEBUG=NDEBUG
cytron_maker_uno_rp2040.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
cytron_maker_uno_rp2040.menu.usbstack.picosdk=Pico SDK
cytron_maker_uno_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
cytron_maker_uno_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
cytron_maker_uno_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_uno_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
cytron_maker_uno_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
cytron_maker_uno_rp2040.menu.usbstack.nousb=No USB
cytron_maker_uno_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4only.build.libpicow=libpicow-noipv6-nobtc-noble.a
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicow=libpicow-ipv6-nobtc-noble.a
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4btcble.build.libpicow=libpicow-noipv6-btc-ble.a
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libpicow-ipv6-btc-ble.a
cytron_maker_uno_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
cytron_maker_uno_rp2040.menu.uploadmethod.default=Default (UF2)
cytron_maker_uno_rp2040.menu.uploadmethod.default.build.ram_length=256k
cytron_maker_uno_rp2040.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
cytron_maker_uno_rp2040.menu.uploadmethod.default.upload.maximum_data_size=262144
cytron_maker_uno_rp2040.menu.uploadmethod.default.upload.tool=uf2conv
cytron_maker_uno_rp2040.menu.uploadmethod.default.upload.tool.default=uf2conv
cytron_maker_uno_rp2040.menu.uploadmethod.default.upload.tool.network=uf2conv-network
cytron_maker_uno_rp2040.menu.uploadmethod.picotool=Picotool
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.build.ram_length=256k
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.upload.maximum_data_size=262144
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.upload.tool=picotool
cytron_maker_uno_rp2040.menu.uploadmethod.picotool.upload.tool.default=picotool
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe (CMSIS-DAP)
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=256k
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=262144
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
cytron_maker_uno_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug=Pico-Debug
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.build.ram_length=240k
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.build.debugscript=picodebug.tcl
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.build.picodebugflags=-UUSE_TINYUSB -DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.upload.tool=picodebug
cytron_maker_uno_rp2040.menu.uploadmethod.picodebug.upload.tool.default=picodebug
# -----------------------------------
# DatanoiseTV PicoADK
# -----------------------------------
@@ -5852,6 +6100,8 @@ datanoisetv_picoadk.menu.usbstack.picosdk=Pico SDK
datanoisetv_picoadk.menu.usbstack.picosdk.build.usbstack_flags=
datanoisetv_picoadk.menu.usbstack.tinyusb=Adafruit TinyUSB
datanoisetv_picoadk.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
datanoisetv_picoadk.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
datanoisetv_picoadk.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
datanoisetv_picoadk.menu.usbstack.nousb=No USB
datanoisetv_picoadk.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
datanoisetv_picoadk.menu.ipbtstack.ipv4only=IPv4 Only
@@ -6150,6 +6400,8 @@ degz_suibo.menu.usbstack.picosdk=Pico SDK
degz_suibo.menu.usbstack.picosdk.build.usbstack_flags=
degz_suibo.menu.usbstack.tinyusb=Adafruit TinyUSB
degz_suibo.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
degz_suibo.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
degz_suibo.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
degz_suibo.menu.usbstack.nousb=No USB
degz_suibo.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
degz_suibo.menu.ipbtstack.ipv4only=IPv4 Only
@@ -6364,6 +6616,8 @@ flyboard2040_core.menu.usbstack.picosdk=Pico SDK
flyboard2040_core.menu.usbstack.picosdk.build.usbstack_flags=
flyboard2040_core.menu.usbstack.tinyusb=Adafruit TinyUSB
flyboard2040_core.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
flyboard2040_core.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
flyboard2040_core.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
flyboard2040_core.menu.usbstack.nousb=No USB
flyboard2040_core.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
flyboard2040_core.menu.ipbtstack.ipv4only=IPv4 Only
@@ -6564,6 +6818,8 @@ dfrobot_beetle_rp2040.menu.usbstack.picosdk=Pico SDK
dfrobot_beetle_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
dfrobot_beetle_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
dfrobot_beetle_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
dfrobot_beetle_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
dfrobot_beetle_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
dfrobot_beetle_rp2040.menu.usbstack.nousb=No USB
dfrobot_beetle_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
dfrobot_beetle_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -6764,6 +7020,8 @@ electroniccats_huntercat_nfc.menu.usbstack.picosdk=Pico SDK
electroniccats_huntercat_nfc.menu.usbstack.picosdk.build.usbstack_flags=
electroniccats_huntercat_nfc.menu.usbstack.tinyusb=Adafruit TinyUSB
electroniccats_huntercat_nfc.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
electroniccats_huntercat_nfc.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
electroniccats_huntercat_nfc.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
electroniccats_huntercat_nfc.menu.usbstack.nousb=No USB
electroniccats_huntercat_nfc.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
electroniccats_huntercat_nfc.menu.ipbtstack.ipv4only=IPv4 Only
@@ -6964,6 +7222,8 @@ extelec_rc2040.menu.usbstack.picosdk=Pico SDK
extelec_rc2040.menu.usbstack.picosdk.build.usbstack_flags=
extelec_rc2040.menu.usbstack.tinyusb=Adafruit TinyUSB
extelec_rc2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
extelec_rc2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
extelec_rc2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
extelec_rc2040.menu.usbstack.nousb=No USB
extelec_rc2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
extelec_rc2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -7206,6 +7466,8 @@ challenger_2040_lte.menu.usbstack.picosdk=Pico SDK
challenger_2040_lte.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_lte.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_lte.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_lte.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_lte.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_lte.menu.usbstack.nousb=No USB
challenger_2040_lte.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_lte.menu.ipbtstack.ipv4only=IPv4 Only
@@ -7448,6 +7710,8 @@ challenger_2040_lora.menu.usbstack.picosdk=Pico SDK
challenger_2040_lora.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_lora.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_lora.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_lora.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_lora.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_lora.menu.usbstack.nousb=No USB
challenger_2040_lora.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_lora.menu.ipbtstack.ipv4only=IPv4 Only
@@ -7690,6 +7954,8 @@ challenger_2040_subghz.menu.usbstack.picosdk=Pico SDK
challenger_2040_subghz.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_subghz.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_subghz.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_subghz.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_subghz.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_subghz.menu.usbstack.nousb=No USB
challenger_2040_subghz.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_subghz.menu.ipbtstack.ipv4only=IPv4 Only
@@ -7933,6 +8199,8 @@ challenger_2040_wifi.menu.usbstack.picosdk=Pico SDK
challenger_2040_wifi.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_wifi.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_wifi.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_wifi.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi.menu.usbstack.nousb=No USB
challenger_2040_wifi.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_wifi.menu.ipbtstack.ipv4only=IPv4 Only
@@ -8176,6 +8444,8 @@ challenger_2040_wifi_ble.menu.usbstack.picosdk=Pico SDK
challenger_2040_wifi_ble.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_wifi_ble.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_wifi_ble.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi_ble.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_wifi_ble.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi_ble.menu.usbstack.nousb=No USB
challenger_2040_wifi_ble.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_wifi_ble.menu.ipbtstack.ipv4only=IPv4 Only
@@ -8419,6 +8689,8 @@ challenger_2040_wifi6_ble.menu.usbstack.picosdk=Pico SDK
challenger_2040_wifi6_ble.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_wifi6_ble.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_wifi6_ble.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi6_ble.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_wifi6_ble.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_wifi6_ble.menu.usbstack.nousb=No USB
challenger_2040_wifi6_ble.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_wifi6_ble.menu.ipbtstack.ipv4only=IPv4 Only
@@ -8662,6 +8934,8 @@ challenger_nb_2040_wifi.menu.usbstack.picosdk=Pico SDK
challenger_nb_2040_wifi.menu.usbstack.picosdk.build.usbstack_flags=
challenger_nb_2040_wifi.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_nb_2040_wifi.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_nb_2040_wifi.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_nb_2040_wifi.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_nb_2040_wifi.menu.usbstack.nousb=No USB
challenger_nb_2040_wifi.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_nb_2040_wifi.menu.ipbtstack.ipv4only=IPv4 Only
@@ -8904,6 +9178,8 @@ challenger_2040_sdrtc.menu.usbstack.picosdk=Pico SDK
challenger_2040_sdrtc.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_sdrtc.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_sdrtc.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_sdrtc.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_sdrtc.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_sdrtc.menu.usbstack.nousb=No USB
challenger_2040_sdrtc.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_sdrtc.menu.ipbtstack.ipv4only=IPv4 Only
@@ -9146,6 +9422,8 @@ challenger_2040_nfc.menu.usbstack.picosdk=Pico SDK
challenger_2040_nfc.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_nfc.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_nfc.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_nfc.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_nfc.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_nfc.menu.usbstack.nousb=No USB
challenger_2040_nfc.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_nfc.menu.ipbtstack.ipv4only=IPv4 Only
@@ -9388,6 +9666,8 @@ challenger_2040_uwb.menu.usbstack.picosdk=Pico SDK
challenger_2040_uwb.menu.usbstack.picosdk.build.usbstack_flags=
challenger_2040_uwb.menu.usbstack.tinyusb=Adafruit TinyUSB
challenger_2040_uwb.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_uwb.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
challenger_2040_uwb.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
challenger_2040_uwb.menu.usbstack.nousb=No USB
challenger_2040_uwb.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
challenger_2040_uwb.menu.ipbtstack.ipv4only=IPv4 Only
@@ -9630,6 +9910,8 @@ ilabs_rpico32.menu.usbstack.picosdk=Pico SDK
ilabs_rpico32.menu.usbstack.picosdk.build.usbstack_flags=
ilabs_rpico32.menu.usbstack.tinyusb=Adafruit TinyUSB
ilabs_rpico32.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
ilabs_rpico32.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
ilabs_rpico32.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
ilabs_rpico32.menu.usbstack.nousb=No USB
ilabs_rpico32.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
ilabs_rpico32.menu.ipbtstack.ipv4only=IPv4 Only
@@ -9872,6 +10154,8 @@ melopero_cookie_rp2040.menu.usbstack.picosdk=Pico SDK
melopero_cookie_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
melopero_cookie_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
melopero_cookie_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
melopero_cookie_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
melopero_cookie_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
melopero_cookie_rp2040.menu.usbstack.nousb=No USB
melopero_cookie_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
melopero_cookie_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -10170,6 +10454,8 @@ melopero_shake_rp2040.menu.usbstack.picosdk=Pico SDK
melopero_shake_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
melopero_shake_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
melopero_shake_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
melopero_shake_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
melopero_shake_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
melopero_shake_rp2040.menu.usbstack.nousb=No USB
melopero_shake_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
melopero_shake_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -10384,6 +10670,8 @@ nekosystems_bl2040_mini.menu.usbstack.picosdk=Pico SDK
nekosystems_bl2040_mini.menu.usbstack.picosdk.build.usbstack_flags=
nekosystems_bl2040_mini.menu.usbstack.tinyusb=Adafruit TinyUSB
nekosystems_bl2040_mini.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
nekosystems_bl2040_mini.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
nekosystems_bl2040_mini.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
nekosystems_bl2040_mini.menu.usbstack.nousb=No USB
nekosystems_bl2040_mini.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
nekosystems_bl2040_mini.menu.ipbtstack.ipv4only=IPv4 Only
@@ -10598,6 +10886,8 @@ nullbits_bit_c_pro.menu.usbstack.picosdk=Pico SDK
nullbits_bit_c_pro.menu.usbstack.picosdk.build.usbstack_flags=
nullbits_bit_c_pro.menu.usbstack.tinyusb=Adafruit TinyUSB
nullbits_bit_c_pro.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
nullbits_bit_c_pro.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
nullbits_bit_c_pro.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
nullbits_bit_c_pro.menu.usbstack.nousb=No USB
nullbits_bit_c_pro.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
nullbits_bit_c_pro.menu.ipbtstack.ipv4only=IPv4 Only
@@ -10840,6 +11130,8 @@ pimoroni_pga2040.menu.usbstack.picosdk=Pico SDK
pimoroni_pga2040.menu.usbstack.picosdk.build.usbstack_flags=
pimoroni_pga2040.menu.usbstack.tinyusb=Adafruit TinyUSB
pimoroni_pga2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_pga2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
pimoroni_pga2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_pga2040.menu.usbstack.nousb=No USB
pimoroni_pga2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
pimoroni_pga2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -11040,6 +11332,8 @@ pimoroni_plasma2040.menu.usbstack.picosdk=Pico SDK
pimoroni_plasma2040.menu.usbstack.picosdk.build.usbstack_flags=
pimoroni_plasma2040.menu.usbstack.tinyusb=Adafruit TinyUSB
pimoroni_plasma2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_plasma2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
pimoroni_plasma2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_plasma2040.menu.usbstack.nousb=No USB
pimoroni_plasma2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
pimoroni_plasma2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -11268,6 +11562,8 @@ pimoroni_tiny2040.menu.usbstack.picosdk=Pico SDK
pimoroni_tiny2040.menu.usbstack.picosdk.build.usbstack_flags=
pimoroni_tiny2040.menu.usbstack.tinyusb=Adafruit TinyUSB
pimoroni_tiny2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_tiny2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
pimoroni_tiny2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
pimoroni_tiny2040.menu.usbstack.nousb=No USB
pimoroni_tiny2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
pimoroni_tiny2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -11468,6 +11764,8 @@ rakwireless_rak11300.menu.usbstack.picosdk=Pico SDK
rakwireless_rak11300.menu.usbstack.picosdk.build.usbstack_flags=
rakwireless_rak11300.menu.usbstack.tinyusb=Adafruit TinyUSB
rakwireless_rak11300.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rakwireless_rak11300.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
rakwireless_rak11300.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rakwireless_rak11300.menu.usbstack.nousb=No USB
rakwireless_rak11300.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
rakwireless_rak11300.menu.ipbtstack.ipv4only=IPv4 Only
@@ -11758,6 +12056,8 @@ redscorp_rp2040_eins.menu.usbstack.picosdk=Pico SDK
redscorp_rp2040_eins.menu.usbstack.picosdk.build.usbstack_flags=
redscorp_rp2040_eins.menu.usbstack.tinyusb=Adafruit TinyUSB
redscorp_rp2040_eins.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
redscorp_rp2040_eins.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
redscorp_rp2040_eins.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
redscorp_rp2040_eins.menu.usbstack.nousb=No USB
redscorp_rp2040_eins.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
redscorp_rp2040_eins.menu.ipbtstack.ipv4only=IPv4 Only
@@ -12048,6 +12348,8 @@ redscorp_rp2040_promini.menu.usbstack.picosdk=Pico SDK
redscorp_rp2040_promini.menu.usbstack.picosdk.build.usbstack_flags=
redscorp_rp2040_promini.menu.usbstack.tinyusb=Adafruit TinyUSB
redscorp_rp2040_promini.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
redscorp_rp2040_promini.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
redscorp_rp2040_promini.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
redscorp_rp2040_promini.menu.usbstack.nousb=No USB
redscorp_rp2040_promini.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
redscorp_rp2040_promini.menu.ipbtstack.ipv4only=IPv4 Only
@@ -12290,6 +12592,8 @@ sea_picro.menu.usbstack.picosdk=Pico SDK
sea_picro.menu.usbstack.picosdk.build.usbstack_flags=
sea_picro.menu.usbstack.tinyusb=Adafruit TinyUSB
sea_picro.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sea_picro.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
sea_picro.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sea_picro.menu.usbstack.nousb=No USB
sea_picro.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
sea_picro.menu.ipbtstack.ipv4only=IPv4 Only
@@ -12504,6 +12808,8 @@ silicognition_rp2040_shim.menu.usbstack.picosdk=Pico SDK
silicognition_rp2040_shim.menu.usbstack.picosdk.build.usbstack_flags=
silicognition_rp2040_shim.menu.usbstack.tinyusb=Adafruit TinyUSB
silicognition_rp2040_shim.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
silicognition_rp2040_shim.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
silicognition_rp2040_shim.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
silicognition_rp2040_shim.menu.usbstack.nousb=No USB
silicognition_rp2040_shim.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
silicognition_rp2040_shim.menu.ipbtstack.ipv4only=IPv4 Only
@@ -12746,6 +13052,8 @@ solderparty_rp2040_stamp.menu.usbstack.picosdk=Pico SDK
solderparty_rp2040_stamp.menu.usbstack.picosdk.build.usbstack_flags=
solderparty_rp2040_stamp.menu.usbstack.tinyusb=Adafruit TinyUSB
solderparty_rp2040_stamp.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
solderparty_rp2040_stamp.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
solderparty_rp2040_stamp.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
solderparty_rp2040_stamp.menu.usbstack.nousb=No USB
solderparty_rp2040_stamp.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
solderparty_rp2040_stamp.menu.ipbtstack.ipv4only=IPv4 Only
@@ -13044,6 +13352,8 @@ sparkfun_promicrorp2040.menu.usbstack.picosdk=Pico SDK
sparkfun_promicrorp2040.menu.usbstack.picosdk.build.usbstack_flags=
sparkfun_promicrorp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
sparkfun_promicrorp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sparkfun_promicrorp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
sparkfun_promicrorp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sparkfun_promicrorp2040.menu.usbstack.nousb=No USB
sparkfun_promicrorp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
sparkfun_promicrorp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -13342,6 +13652,8 @@ sparkfun_thingplusrp2040.menu.usbstack.picosdk=Pico SDK
sparkfun_thingplusrp2040.menu.usbstack.picosdk.build.usbstack_flags=
sparkfun_thingplusrp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
sparkfun_thingplusrp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sparkfun_thingplusrp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
sparkfun_thingplusrp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
sparkfun_thingplusrp2040.menu.usbstack.nousb=No USB
sparkfun_thingplusrp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
sparkfun_thingplusrp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -13542,6 +13854,8 @@ upesy_rp2040_devkit.menu.usbstack.picosdk=Pico SDK
upesy_rp2040_devkit.menu.usbstack.picosdk.build.usbstack_flags=
upesy_rp2040_devkit.menu.usbstack.tinyusb=Adafruit TinyUSB
upesy_rp2040_devkit.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
upesy_rp2040_devkit.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
upesy_rp2040_devkit.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
upesy_rp2040_devkit.menu.usbstack.nousb=No USB
upesy_rp2040_devkit.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
upesy_rp2040_devkit.menu.ipbtstack.ipv4only=IPv4 Only
@@ -13742,6 +14056,8 @@ seeed_indicator_rp2040.menu.usbstack.picosdk=Pico SDK
seeed_indicator_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
seeed_indicator_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
seeed_indicator_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
seeed_indicator_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
seeed_indicator_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
seeed_indicator_rp2040.menu.usbstack.nousb=No USB
seeed_indicator_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
seeed_indicator_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -13942,6 +14258,8 @@ seeed_xiao_rp2040.menu.usbstack.picosdk=Pico SDK
seeed_xiao_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
seeed_xiao_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
seeed_xiao_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
seeed_xiao_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
seeed_xiao_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
seeed_xiao_rp2040.menu.usbstack.nousb=No USB
seeed_xiao_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
seeed_xiao_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -14212,6 +14530,8 @@ vccgnd_yd_rp2040.menu.usbstack.picosdk=Pico SDK
vccgnd_yd_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
vccgnd_yd_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
vccgnd_yd_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
vccgnd_yd_rp2040.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
vccgnd_yd_rp2040.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
vccgnd_yd_rp2040.menu.usbstack.nousb=No USB
vccgnd_yd_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
vccgnd_yd_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
@@ -14454,6 +14774,8 @@ viyalab_mizu.menu.usbstack.picosdk=Pico SDK
viyalab_mizu.menu.usbstack.picosdk.build.usbstack_flags=
viyalab_mizu.menu.usbstack.tinyusb=Adafruit TinyUSB
viyalab_mizu.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
viyalab_mizu.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
viyalab_mizu.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
viyalab_mizu.menu.usbstack.nousb=No USB
viyalab_mizu.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
viyalab_mizu.menu.ipbtstack.ipv4only=IPv4 Only
@@ -14654,6 +14976,8 @@ waveshare_rp2040_zero.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_zero.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_zero.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_zero.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_zero.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_zero.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_zero.menu.usbstack.nousb=No USB
waveshare_rp2040_zero.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_zero.menu.ipbtstack.ipv4only=IPv4 Only
@@ -14868,6 +15192,8 @@ waveshare_rp2040_one.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_one.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_one.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_one.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_one.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_one.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_one.menu.usbstack.nousb=No USB
waveshare_rp2040_one.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_one.menu.ipbtstack.ipv4only=IPv4 Only
@@ -15082,6 +15408,8 @@ waveshare_rp2040_plus_4mb.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_plus_4mb.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_plus_4mb.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_plus_4mb.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_plus_4mb.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_plus_4mb.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_plus_4mb.menu.usbstack.nousb=No USB
waveshare_rp2040_plus_4mb.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_plus_4mb.menu.ipbtstack.ipv4only=IPv4 Only
@@ -15380,6 +15708,8 @@ waveshare_rp2040_plus_16mb.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_plus_16mb.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_plus_16mb.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_plus_16mb.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_plus_16mb.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_plus_16mb.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_plus_16mb.menu.usbstack.nousb=No USB
waveshare_rp2040_plus_16mb.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_plus_16mb.menu.ipbtstack.ipv4only=IPv4 Only
@@ -15580,6 +15910,8 @@ waveshare_rp2040_lcd_0_96.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_lcd_0_96.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_lcd_0_96.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_lcd_0_96.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_lcd_0_96.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_lcd_0_96.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_lcd_0_96.menu.usbstack.nousb=No USB
waveshare_rp2040_lcd_0_96.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_lcd_0_96.menu.ipbtstack.ipv4only=IPv4 Only
@@ -15780,6 +16112,8 @@ waveshare_rp2040_lcd_1_28.menu.usbstack.picosdk=Pico SDK
waveshare_rp2040_lcd_1_28.menu.usbstack.picosdk.build.usbstack_flags=
waveshare_rp2040_lcd_1_28.menu.usbstack.tinyusb=Adafruit TinyUSB
waveshare_rp2040_lcd_1_28.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_lcd_1_28.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
waveshare_rp2040_lcd_1_28.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
waveshare_rp2040_lcd_1_28.menu.usbstack.nousb=No USB
waveshare_rp2040_lcd_1_28.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
waveshare_rp2040_lcd_1_28.menu.ipbtstack.ipv4only=IPv4 Only
@@ -15980,6 +16314,8 @@ wiznet_5100s_evb_pico.menu.usbstack.picosdk=Pico SDK
wiznet_5100s_evb_pico.menu.usbstack.picosdk.build.usbstack_flags=
wiznet_5100s_evb_pico.menu.usbstack.tinyusb=Adafruit TinyUSB
wiznet_5100s_evb_pico.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_5100s_evb_pico.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
wiznet_5100s_evb_pico.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_5100s_evb_pico.menu.usbstack.nousb=No USB
wiznet_5100s_evb_pico.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
wiznet_5100s_evb_pico.menu.ipbtstack.ipv4only=IPv4 Only
@@ -16180,6 +16516,8 @@ wiznet_wizfi360_evb_pico.menu.usbstack.picosdk=Pico SDK
wiznet_wizfi360_evb_pico.menu.usbstack.picosdk.build.usbstack_flags=
wiznet_wizfi360_evb_pico.menu.usbstack.tinyusb=Adafruit TinyUSB
wiznet_wizfi360_evb_pico.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_wizfi360_evb_pico.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
wiznet_wizfi360_evb_pico.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_wizfi360_evb_pico.menu.usbstack.nousb=No USB
wiznet_wizfi360_evb_pico.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
wiznet_wizfi360_evb_pico.menu.ipbtstack.ipv4only=IPv4 Only
@@ -16380,6 +16718,8 @@ wiznet_5500_evb_pico.menu.usbstack.picosdk=Pico SDK
wiznet_5500_evb_pico.menu.usbstack.picosdk.build.usbstack_flags=
wiznet_5500_evb_pico.menu.usbstack.tinyusb=Adafruit TinyUSB
wiznet_5500_evb_pico.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_5500_evb_pico.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
wiznet_5500_evb_pico.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
wiznet_5500_evb_pico.menu.usbstack.nousb=No USB
wiznet_5500_evb_pico.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
wiznet_5500_evb_pico.menu.ipbtstack.ipv4only=IPv4 Only
@@ -16650,6 +16990,8 @@ generic.menu.usbstack.picosdk=Pico SDK
generic.menu.usbstack.picosdk.build.usbstack_flags=
generic.menu.usbstack.tinyusb=Adafruit TinyUSB
generic.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
generic.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host
generic.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
generic.menu.usbstack.nousb=No USB
generic.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
generic.menu.ipbtstack.ipv4only=IPv4 Only
+2 -2
View File
@@ -1,5 +1,5 @@
#pragma once
#define ARDUINO_PICO_MAJOR 3
#define ARDUINO_PICO_MINOR 6
#define ARDUINO_PICO_REVISION 1
#define ARDUINO_PICO_VERSION_STR "3.6.1"
#define ARDUINO_PICO_REVISION 3
#define ARDUINO_PICO_VERSION_STR "3.6.3"
-42
View File
@@ -60,45 +60,3 @@ SemaphoreHandle_t __get_freertos_mutex_for_ptr(mutex_t *m, bool recursive) {
}
return nullptr; // Need to make space for more mutex maps!
}
// The HW Random code needs a precise sleep_until() in order to assure it
// grabs the ROSC bit when it wants. Unfortunately, under FreeRTOS the
// sleep_until() becomes imprecise and the "did I get the bit when I wanted"
// check in the pico_rand code always fails and you get an infinite loop.
// This block wraps the 2 get_rand calls to set a flag to convert
// sleep_until() (which can do a task swap and cause bad timing) into a
// busy wait.
extern "C" {
static bool __inRand = false;
extern uint64_t __real_get_rand_64();
uint64_t __wrap_get_rand_64() {
if (__isFreeRTOS) {
rp2040.idleOtherCore();
__inRand = true;
auto r = __real_get_rand_64();
__inRand = false;
rp2040.resumeOtherCore();
return r;
} else {
return __real_get_rand_64();
}
}
uint32_t __wrap_get_rand_32() {
return (uint32_t) __wrap_get_rand_64();
}
extern void __real_sleep_until(absolute_time_t t);
void __wrap_sleep_until(absolute_time_t t) {
if (__inRand) {
busy_wait_until(t);
} else {
__real_sleep_until(t);
}
}
}
File diff suppressed because it is too large Load Diff
+9 -3
View File
@@ -29,6 +29,7 @@
#include <pico/cyw43_arch.h>
#include <pico/mutex.h>
#include <sys/lock.h>
#include "_xoshiro.h"
extern void ethernet_arch_lwip_begin() __attribute__((weak));
extern void ethernet_arch_lwip_end() __attribute__((weak));
@@ -68,13 +69,18 @@ public:
extern "C" {
static XoshiroCpp::Xoshiro256PlusPlus *_lwip_rng = nullptr;
// Random number generator for LWIP
unsigned long __lwip_rand() {
return (unsigned long)(*_lwip_rng)();
}
// Avoid calling lwip_init multiple times
extern void __real_lwip_init();
void __wrap_lwip_init() {
static bool initted = false;
if (!initted) {
if (!_lwip_rng) {
_lwip_rng = new XoshiroCpp::Xoshiro256PlusPlus(get_rand_64());
__real_lwip_init();
initted = true;
}
}
+5 -1
View File
@@ -66,10 +66,14 @@ typedef enum {
} wl_status_t;
/* Encryption modes */
enum wl_enc_type { /* Values map to 802.11 encryption suites... */
enum wl_enc_type { /* Values map to 802.11 Cipher Algorithm Identifier */
ENC_TYPE_WEP = 5,
ENC_TYPE_TKIP = 2,
ENC_TYPE_WPA = ENC_TYPE_TKIP,
ENC_TYPE_CCMP = 4,
ENC_TYPE_WPA2 = ENC_TYPE_CCMP,
ENC_TYPE_GCMP = 6,
ENC_TYPE_WPA3 = ENC_TYPE_GCMP,
/* ... except these two, 7 and 8 are reserved in 802.11-2007 */
ENC_TYPE_NONE = 7,
ENC_TYPE_AUTO = 8,
+1 -1
View File
@@ -30,7 +30,7 @@ Analog Outputs
--------------
The RP2040 does not have any onboard DACs, so analog outputs are
simulated using the standard method of using pulse width modulation
(PWM) using the RP20400's hardware PWM units.
(PWM) using the RP2040's hardware PWM units.
While up to 16 PWM channels can be generated, they are not independent
and there are significant restrictions as to allowed pins in parallel.
+2 -2
View File
@@ -54,9 +54,9 @@ author = u'Earle F. Philhower, III'
# built documents.
#
# The short X.Y version.
version = u'3.6.1'
version = u'3.6.3'
# The full version, including alpha/beta/rc tags.
release = u'3.6.1'
release = u'3.6.3'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
-6
View File
@@ -159,12 +159,6 @@ So for the first sketch you will need to rebuild (with the ``Upload Method->Pico
After the initial upload, as long as the running binary was built using the ``Picotool`` upload method, then the normal upload process should work.
Under MacOS, it may be necessary to install the USB support libraries from a command terminal before the ``Picotool`` upload method can be used:
.. code::
brew install libusb
For Ubuntu and other Linux operating systems you may need to add the following lines to a new `udev` config file(``99-picotool.rules``) to allow normal users to access the special USB device the Pico exports:
.. code::
+3 -4
View File
@@ -191,7 +191,7 @@ Debug Level
Done again by directly adding the needed `build
flags <https://github.com/earlephilhower/arduino-pico/blob/05356da2c5552413a442f742e209c6fa92823666/boards.txt#L104-L114>`__.
When wanting to define multiple build flags, they must be accumulated in
either a sing line or a newline-separated expression.
either a single line or a newline-separated expression.
.. code:: ini
@@ -363,7 +363,7 @@ For further information on customizing debug options, like the initial breakpoin
You can obtain precompiled binaries from `here <https://github.com/blackmagic-debug/blackmagic/issues/1364#issuecomment-1503372723>`__. A flashing guide is available `here <https://primalcortex.wordpress.com/2017/06/13/building-a-black-magic-debug-probe/>`__. You then have to configure the target serial port ("GDB port") in your project per `documentation <https://docs.platformio.org/en/latest/plus/debug-tools/blackmagic.html#debugging-tool-blackmagic>`__.
.. note::
For the pico-debug (`download <https://github.com/majbthrd/pico-debug/releases>`__) debugging way, *which needs to no additional debug probe*, add this snippet to your ``platformio.ini`` and follow the given procedure:
For the pico-debug (`download <https://github.com/majbthrd/pico-debug/releases>`__) debugging way, *which needs no additional debug probe*, add this snippet to your ``platformio.ini`` and follow the given procedure:
.. code:: ini
@@ -397,5 +397,4 @@ The task "Build Filesystem Image" will take all files in the data directory and
The task "Upload Filesystem Image" will upload the filesystem image to the Pico via the specified ``upload_protocol``.
.. note::
Set the space available for the filesystem in the ``platformio.ini`` using e.g., ``board_build.filesystem_size = 0.5m``, or filesystem
creation will fail!
Set the space available for the filesystem in the ``platformio.ini`` using e.g., ``board_build.filesystem_size = 0.5m``, or filesystem creation will fail!
+3 -1
View File
@@ -42,7 +42,9 @@ Please note that WiFi on the Pico W is a work-in-progress and there are some imp
* Multicore is supported, but only core 0 may run ``WiFi`` related code.
* FreeRTOS is supported only on core 0 and from within ``setup`` and ``loop`, not tasks, due to the requirement for a very different LWIP implementation. PRs always appreciated!
* FreeRTOS is supported only on core 0 and from within ``setup`` and ``loop``, not tasks, due to the requirement for a very different LWIP implementation. PRs always appreciated!
* LEAmDNS (``MDNS``) is not supported in FreeRTOS due to internal IRQ-time memory allocations.
The WiFi library borrows much work from the `ESP8266 Arduino Core <https://github.com/esp8266/Arduino>`__ , especially the ``WiFiClient`` and ``WiFiServer`` classes.
+2 -2
View File
@@ -13,8 +13,8 @@ extern void interrupts();
#define SYS_ARCH_PROTECT(lev) noInterrupts
#define SYS_ARCH_UNPROTECT(lev) interrupts
extern unsigned long get_rand_32(void);
#define LWIP_RAND() get_rand_32()
extern unsigned long __lwip_rand(void);
#define LWIP_RAND() __lwip_rand()
// Common settings used in most of the pico_w examples
// (see https://www.nongnu.org/lwip/2_1_x/group__lwip__opts.html for details)
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-4
View File
@@ -209,7 +209,3 @@
-Wl,--wrap=cyw43_tcpip_link_status
-Wl,--wrap=cyw43_cb_tcpip_init
-Wl,--wrap=cyw43_cb_tcpip_deinit
-Wl,--wrap=get_rand_64
-Wl,--wrap=get_rand_32
-Wl,--wrap=sleep_until
@@ -46,7 +46,7 @@ IPAddress netMsk(255, 255, 255, 0);
/** Should I connect to WLAN asap? */
boolean connect;
bool connect;
/** Last time I tried to connect to WLAN */
unsigned long lastConnectTry = 0;
@@ -24,7 +24,7 @@ void handleRoot() {
}
/** Redirect to captive portal if we got a request for another domain. Return true in that case so the page handler do not try to handle the request again. */
boolean captivePortal() {
bool captivePortal() {
if (!isIp(server.hostHeader()) && server.hostHeader() != (String(myHostname) + ".local")) {
Serial.println("Request redirected to captive portal");
server.sendHeader("Location", String("http://") + toStringIp(server.client().localIP()), true);
@@ -1,5 +1,5 @@
/** Is this an IP? */
boolean isIp(String str) {
bool isIp(String str) {
for (size_t i = 0; i < str.length(); i++) {
int c = str.charAt(i);
if (c != '.' && (c < '0' || c > '9')) {
+62 -79
View File
@@ -1,127 +1,110 @@
/* Cores */
#define configNUM_CORES 2
#define configUSE_CORE_AFFINITY 1
#define configRUN_MULTIPLE_PRIORITIES 1
#define configNUM_CORES 2
#define configUSE_CORE_AFFINITY 1
#define configRUN_MULTIPLE_PRIORITIES 1
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1
#define configUSE_MINIMAL_IDLE_HOOK 1
#define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned long ) F_CPU )
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
#define configMAX_PRIORITIES ( 8 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 256 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 164 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
#define configUSE_MUTEXES 1
#define configQUEUE_REGISTRY_SIZE 8
#define configUSE_RECURSIVE_MUTEXES 1
#define configUSE_MALLOC_FAILED_HOOK 1
#define configUSE_APPLICATION_TASK_TAG 0
#define configUSE_COUNTING_SEMAPHORES 1
#define configUSE_QUEUE_SETS 1
#define configSUPPORT_DYNAMIC_ALLOCATION 1
#define configSUPPORT_STATIC_ALLOCATION 1
#define configSTACK_DEPTH_TYPE uint32_t
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1
#define configUSE_MINIMAL_IDLE_HOOK 1
#define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned long ) F_CPU )
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
#define configMAX_PRIORITIES ( 8 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 256 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 164 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
#define configUSE_MUTEXES 1
#define configQUEUE_REGISTRY_SIZE 8
#define configUSE_RECURSIVE_MUTEXES 1
#define configUSE_MALLOC_FAILED_HOOK 1
#define configUSE_APPLICATION_TASK_TAG 0
#define configUSE_COUNTING_SEMAPHORES 1
#define configUSE_QUEUE_SETS 1
#define configSUPPORT_DYNAMIC_ALLOCATION 1
#define configSUPPORT_STATIC_ALLOCATION 1
#define configSTACK_DEPTH_TYPE uint32_t
#define configUSE_TASK_PREEMPTION_DISABLE 1
#define configUSE_NEWLIB_REENTRANT 1
#define configUSE_NEWLIB_REENTRANT 1
#define configNEWLIB_REENTRANT_IS_DYNAMIC 1
/* Run time stats related definitions. */
void vMainConfigureTimerForRunTimeStats(void);
unsigned long ulMainGetRunTimeCounterValue(void);
extern void vMainConfigureTimerForRunTimeStats(void);
extern unsigned long ulMainGetRunTimeCounterValue(void);
#define configGENERATE_RUN_TIME_STATS 1
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() //vMainConfigureTimerForRunTimeStats()
#define portGET_RUN_TIME_COUNTER_VALUE() ulMainGetRunTimeCounterValue()
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 1
#define configUSE_CO_ROUTINES 1
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
/* Software timer definitions. */
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY ( 2 )
#define configTIMER_QUEUE_LENGTH 5
#define configTIMER_TASK_STACK_DEPTH ( 1024 )
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY ( 2 )
#define configTIMER_QUEUE_LENGTH 5
#define configTIMER_TASK_STACK_DEPTH ( 1024 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_xTaskGetCurrentTaskHandle 1
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 1
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
#define INCLUDE_eTaskGetState 1
#define INCLUDE_eTaskGetState 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskCleanUpResources 1
#define INCLUDE_vTaskDelay 1
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_xQueueGetMutexHolder 1
#define INCLUDE_xTaskAbortDelay 1
#define INCLUDE_xTaskGetCurrentTaskHandle 1
#define INCLUDE_xTaskGetHandle 1
#define INCLUDE_xTaskGetIdleTaskHandle 1
#define INCLUDE_xTaskGetSchedulerState 1
#define INCLUDE_xTaskResumeFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
/* This demo makes use of one or more example stats formatting functions. These
format the raw data provided by the uxTaskGetSystemState() function in to human
readable ASCII form. See the notes in the implementation of vTaskList() within
FreeRTOS/Source/tasks.c for limitations. */
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
#define configUSE_MUTEXES 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1
#define INCLUDE_xTaskGetIdleTaskHandle 1
#define configUSE_MALLOC_FAILED_HOOK 1
#define configCHECK_FOR_STACK_OVERFLOW 2
/* Normal assert() semantics without relying on the provision of an assert.h
header file. */
#define configUSE_MUTEXES 1
#define configUSE_MALLOC_FAILED_HOOK 1
#define configCHECK_FOR_STACK_OVERFLOW 2
/* Cortex-M specific definitions. */
#undef __NVIC_PRIO_BITS
#ifdef __NVIC_PRIO_BITS
/* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */
#define configPRIO_BITS __NVIC_PRIO_BITS
#define configPRIO_BITS __NVIC_PRIO_BITS
#else
#define configPRIO_BITS 3 /* 8 priority levels */
#define configPRIO_BITS 3 /* 8 priority levels */
#endif
/* The lowest interrupt priority that can be used in a call to a "set priority"
function. */
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x7
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x7
/* The highest interrupt priority that can be used by any interrupt service
routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL
INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
PRIORITY THAN THIS! (higher priorities are lower numeric values. */
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5
/* Interrupt priorities used by the kernel port layer itself. These are generic
to all Cortex-M ports, and do not rely on any particular library functions. */
#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
extern void rtosFatalError(void);
#define configASSERT( x ) \
if( ( x ) == 0 ) { portDISABLE_INTERRUPTS(); rtosFatalError(); }
/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
standard names - or at least those used in the unmodified vector table. */
//#define xPortPendSVHandler PendSV_Handler
//#define xPortSysTickHandler SysTick_Handler
//#define vPortSVCHandler SVC_Handler
/* The size of the global output buffer that is available for use when there
are multiple command interpreters running at once (for example, one on a UART
and one on TCP/IP). This is done to prevent an output buffer being defined by
each implementation - which would waste RAM. In this case, there is only one
command interpreter running. */
#define configCOMMAND_INT_MAX_OUTPUT_SIZE 2048
#define configUSE_DYNAMIC_EXCEPTION_HANDLERS 0
#define configSUPPORT_PICO_SYNC_INTEROP 1
#define configSUPPORT_PICO_TIME_INTEROP 1
#define configSUPPORT_PICO_SYNC_INTEROP 1
#define configSUPPORT_PICO_TIME_INTEROP 1
#include "rp2040_config.h"
//#include "task.h"
+3 -3
View File
@@ -165,14 +165,14 @@ static void __no_inline_not_in_flash_func(IdleThisCore)(void *param) {
(void) param;
while (true) {
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
vTaskPreemptionDisable(nullptr);
portDISABLE_INTERRUPTS();
vTaskPreemptionDisable(nullptr);
__otherCoreIdled = true;
while (__otherCoreIdled) {
/* noop */
}
portENABLE_INTERRUPTS();
vTaskPreemptionEnable(nullptr);
portENABLE_INTERRUPTS();
}
}
@@ -188,9 +188,9 @@ extern "C" void __no_inline_not_in_flash_func(__freertos_idle_other_core)() {
extern "C" void __no_inline_not_in_flash_func(__freertos_resume_other_core)() {
__otherCoreIdled = false;
portENABLE_INTERRUPTS();
xTaskResumeAll();
vTaskPreemptionEnable(nullptr);
portENABLE_INTERRUPTS();
}
+1 -1
View File
@@ -161,7 +161,7 @@ bool MDNSResponder::_allocUDPContext(void) {
if (m_pUDPContext->listen(IP4_ADDR_ANY, DNS_MQUERY_PORT)) {
m_pUDPContext->setMulticastTTL(MDNS_MULTICAST_TTL);
m_pUDPContext->onRx(std::bind(&MDNSResponder::_callProcess, this));
m_pUDPContext->onRx([this] { this->_callProcess(); });
} else {
return false;
}
+180
View File
@@ -0,0 +1,180 @@
/*
SD card test
This example shows how use the utility libraries on which the'
SD library is based in order to get info about your SD card.
Very useful for testing a card when you're not sure whether its working or not.
The circuit:
SD card attached to SPI bus as follows on RP2040:
************ SPI0 ************
** MISO (AKA RX) - pin 0, 4, or 16
** MOSI (AKA TX) - pin 3, 7, or 19
** CS - pin 1, 5, or 17
** SCK - pin 2, 6, or 18
************ SPI1 ************
** MISO (AKA RX) - pin 8 or 12
** MOSI (AKA TX) - pin 11 or 15
** CS - pin 9 or 13
** SCK - pin 10 or 14
created 28 Mar 2011
by Limor Fried
modified 9 Apr 2012
by Tom Igoe
modified 26 Dec 2023
by Richard Teel from code provided by Renzo Mischianti
SOURCE: https://mischianti.org/raspberry-pi-pico-and-rp2040-boards-how-to-use-sd-card-5/
*/
// This are GP pins for SPI0 on the Raspberry Pi Pico board, and connect
// to different *board* level pinouts. Check the PCB while wiring.
// Only certain pins can be used by the SPI hardware, so if you change
// these be sure they are legal or the program will crash.
// See: https://datasheets.raspberrypi.com/picow/PicoW-A4-Pinout.pdf
const int _MISO = 4; // AKA SPI RX
const int _MOSI = 7; // AKA SPI TX
const int _CS = 5;
const int _SCK = 6;
// include the SD library:
#include <SPI.h>
#include <SD.h>
File root;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
delay(1); // wait for serial port to connect. Needed for native USB port only
}
Serial.println("\nInitializing SD card...");
bool sdInitialized = false;
// Ensure the SPI pinout the SD card is connected to is configured properly
// Select the correct SPI based on _MISO pin for the RP2040
if (_MISO == 0 || _MISO == 4 || _MISO == 16) {
SPI.setRX(_MISO);
SPI.setTX(_MOSI);
SPI.setSCK(_SCK);
sdInitialized = SD.begin(_CS);
} else if (_MISO == 8 || _MISO == 12) {
SPI1.setRX(_MISO);
SPI1.setTX(_MOSI);
SPI1.setSCK(_SCK);
sdInitialized = SD.begin(_CS, SPI1);
} else {
Serial.println(F("ERROR: Unknown SPI Configuration"));
return;
}
if (!sdInitialized) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
return;
} else {
Serial.println("Wiring is correct and a card is present.");
}
// 0 - SD V1, 1 - SD V2, or 3 - SDHC/SDXC
// print the type of card
Serial.println();
Serial.print("Card type: ");
switch (SD.type()) {
case 0:
Serial.println("SD1");
break;
case 1:
Serial.println("SD2");
break;
case 3:
Serial.println("SDHC/SDXC");
break;
default:
Serial.println("Unknown");
}
Serial.print("Cluster size: ");
Serial.println(SD.clusterSize());
Serial.print("Blocks x Cluster: ");
Serial.println(SD.blocksPerCluster());
Serial.print("Blocks size: ");
Serial.println(SD.blockSize());
Serial.print("Total Blocks: ");
Serial.println(SD.totalBlocks());
Serial.println();
Serial.print("Total Cluster: ");
Serial.println(SD.totalClusters());
Serial.println();
// print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print("Volume type is: FAT");
Serial.println(SD.fatType(), DEC);
volumesize = SD.totalClusters();
volumesize *= SD.clusterSize();
volumesize /= 1000;
Serial.print("Volume size (Kb): ");
Serial.println(volumesize);
Serial.print("Volume size (Mb): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Gb): ");
Serial.println((float)volumesize / 1024.0);
Serial.print("Card size: ");
Serial.println((float)SD.size() / 1000);
FSInfo fs_info;
SDFS.info(fs_info);
Serial.print("Total bytes: ");
Serial.println(fs_info.totalBytes);
Serial.print("Used bytes: ");
Serial.println(fs_info.usedBytes);
root = SD.open("/");
printDirectory(root, 0);
}
void loop(void) {
// nothing happens after setup finishes.
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (!entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs + 1);
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.print(entry.size(), DEC);
time_t cr = entry.getCreationTime();
time_t lw = entry.getLastWrite();
struct tm* tmstruct = localtime(&cr);
Serial.printf("\tCREATION: %d-%02d-%02d %02d:%02d:%02d", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec);
tmstruct = localtime(&lw);
Serial.printf("\tLAST WRITE: %d-%02d-%02d %02d:%02d:%02d\n", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec);
}
entry.close();
}
}
+42 -15
View File
@@ -5,11 +5,17 @@
directory on a SD card
The circuit:
SD card attached to SPI bus as follows:
** MISO - pin 4
** MOSI - pin 7
** CS - pin 5
** SCK - pin 6
SD card attached to SPI bus as follows on RP2040:
************ SPI0 ************
** MISO (AKA RX) - pin 0, 4, or 16
** MOSI (AKA TX) - pin 3, 7, or 19
** CS - pin 1, 5, or 17
** SCK - pin 2, 6, or 18
************ SPI1 ************
** MISO (AKA RX) - pin 8 or 12
** MOSI (AKA TX) - pin 11 or 15
** CS - pin 9 or 13
** SCK - pin 10 or 14
created Nov 2010
by David A. Mellis
@@ -17,6 +23,10 @@
by Tom Igoe
modified 2 Feb 2014
by Scott Fitzgerald
modified 12 Feb 2023
by Earle F. Philhower, III
modified 26 Dec 2023
by Richard Teel
This example code is in the public domain.
@@ -27,8 +37,8 @@
// Only certain pins can be used by the SPI hardware, so if you change
// these be sure they are legal or the program will crash.
// See: https://datasheets.raspberrypi.com/picow/PicoW-A4-Pinout.pdf
const int _MISO = 4;
const int _MOSI = 7;
const int _MISO = 4; // AKA SPI RX
const int _MOSI = 7; // AKA SPI TX
const int _CS = 5;
const int _SCK = 6;
@@ -41,14 +51,31 @@ void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
Serial.print("Initializing SD card...");
while (!Serial) {
delay(1); // wait for serial port to connect. Needed for native USB port only
}
Serial.println("\nInitializing SD card...");
bool sdInitialized = false;
// Ensure the SPI pinout the SD card is connected to is configured properly
SPI.setRX(_MISO);
SPI.setTX(_MOSI);
SPI.setSCK(_SCK);
// Select the correct SPI based on _MISO pin for the RP2040
if (_MISO == 0 || _MISO == 4 || _MISO == 16) {
SPI.setRX(_MISO);
SPI.setTX(_MOSI);
SPI.setSCK(_SCK);
sdInitialized = SD.begin(_CS);
} else if (_MISO == 8 || _MISO == 12) {
SPI1.setRX(_MISO);
SPI1.setTX(_MOSI);
SPI1.setSCK(_SCK);
sdInitialized = SD.begin(_CS, SPI1);
} else {
Serial.println(F("ERROR: Unknown SPI Configuration"));
return;
}
if (!SD.begin(_CS)) {
if (!sdInitialized) {
Serial.println("initialization failed!");
return;
}
@@ -68,8 +95,8 @@ void loop() {
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (! entry) {
File entry = dir.openNextFile();
if (!entry) {
// no more files
break;
}
@@ -86,7 +113,7 @@ void printDirectory(File dir, int numTabs) {
Serial.print(entry.size(), DEC);
time_t cr = entry.getCreationTime();
time_t lw = entry.getLastWrite();
struct tm * tmstruct = localtime(&cr);
struct tm* tmstruct = localtime(&cr);
Serial.printf("\tCREATION: %d-%02d-%02d %02d:%02d:%02d", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec);
tmstruct = localtime(&lw);
Serial.printf("\tLAST WRITE: %d-%02d-%02d %02d:%02d:%02d\n", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec);
+23 -23
View File
@@ -31,13 +31,13 @@
class SDClass {
public:
boolean begin(uint8_t csPin, HardwareSPI &spi) {
bool begin(uint8_t csPin, HardwareSPI &spi) {
SDFS.setConfig(SDFSConfig(csPin, SPI_HALF_SPEED, spi));
return (boolean)SDFS.begin();
return SDFS.begin();
}
boolean begin(uint8_t csPin, uint32_t cfg = SPI_HALF_SPEED, HardwareSPI &spi = SPI) {
bool begin(uint8_t csPin, uint32_t cfg = SPI_HALF_SPEED, HardwareSPI &spi = SPI) {
SDFS.setConfig(SDFSConfig(csPin, cfg, spi));
return (boolean)SDFS.begin();
return SDFS.begin();
}
void end(bool endSPI = true) {
@@ -63,43 +63,43 @@ public:
return open(filename.c_str(), mode);
}
boolean exists(const char *filepath) {
return (boolean)SDFS.exists(filepath);
bool exists(const char *filepath) {
return SDFS.exists(filepath);
}
boolean exists(const String &filepath) {
return (boolean)SDFS.exists(filepath.c_str());
bool exists(const String &filepath) {
return SDFS.exists(filepath.c_str());
}
boolean rename(const char* filepathfrom, const char* filepathto) {
return (boolean)SDFS.rename(filepathfrom, filepathto);
bool rename(const char* filepathfrom, const char* filepathto) {
return SDFS.rename(filepathfrom, filepathto);
}
boolean rename(const String &filepathfrom, const String &filepathto) {
return (boolean)rename(filepathfrom.c_str(), filepathto.c_str());
bool rename(const String &filepathfrom, const String &filepathto) {
return rename(filepathfrom.c_str(), filepathto.c_str());
}
boolean mkdir(const char *filepath) {
return (boolean)SDFS.mkdir(filepath);
bool mkdir(const char *filepath) {
return SDFS.mkdir(filepath);
}
boolean mkdir(const String &filepath) {
return (boolean)SDFS.mkdir(filepath.c_str());
bool mkdir(const String &filepath) {
return SDFS.mkdir(filepath.c_str());
}
boolean remove(const char *filepath) {
return (boolean)SDFS.remove(filepath);
bool remove(const char *filepath) {
return SDFS.remove(filepath);
}
boolean remove(const String &filepath) {
bool remove(const String &filepath) {
return remove(filepath.c_str());
}
boolean rmdir(const char *filepath) {
return (boolean)SDFS.rmdir(filepath);
bool rmdir(const char *filepath) {
return SDFS.rmdir(filepath);
}
boolean rmdir(const String &filepath) {
bool rmdir(const String &filepath) {
return rmdir(filepath.c_str());
}
@@ -128,7 +128,7 @@ public:
}
size_t totalBlocks() {
return (totalClusters() / blocksPerCluster());
return (totalClusters() * blocksPerCluster());
}
size_t clusterSize() {
+1 -1
View File
@@ -183,7 +183,7 @@ public:
return _fs.vol()->clusterCount();
}
size_t totalBlocks() {
return (totalClusters() / blocksPerCluster());
return (totalClusters() * blocksPerCluster());
}
size_t clusterSize() {
return _fs.vol()->bytesPerCluster();
+1
View File
@@ -18,6 +18,7 @@ beginTransaction KEYWORD2
endTransaction KEYWORD2
SPISettings KEYWORD2
transfer KEYWORD2
transfer16 KEYWORD2
setBitOrder KEYWORD2
setDataMode KEYWORD2
setClockDivider KEYWORD2
+11 -6
View File
@@ -111,6 +111,7 @@ byte SPIClassRP2040::transfer(uint8_t data) {
}
data = (_spis.getBitOrder() == MSBFIRST) ? data : reverseByte(data);
DEBUGSPI("SPI::transfer(%02x), cpol=%d, cpha=%d\n", data, cpol(), cpha());
hw_write_masked(&spi_get_hw(_spi)->cr0, (8 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); // Fast set to 8-bits
spi_write_read_blocking(_spi, &data, &ret, 1);
ret = (_spis.getBitOrder() == MSBFIRST) ? ret : reverseByte(ret);
DEBUGSPI("SPI: read back %02x\n", ret);
@@ -124,11 +125,8 @@ uint16_t SPIClassRP2040::transfer16(uint16_t data) {
}
data = (_spis.getBitOrder() == MSBFIRST) ? data : reverse16Bit(data);
DEBUGSPI("SPI::transfer16(%04x), cpol=%d, cpha=%d\n", data, cpol(), cpha());
uint8_t d[2];
d[0] = (data >> 8) & 0xff;
d[1] = data & 0xff;
spi_write_read_blocking(_spi, d, d, 2);
ret = ((d[0] << 8) | (d[1] & 0xff)) & 0xffff;
hw_write_masked(&spi_get_hw(_spi)->cr0, (16 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); // Fast set to 16-bits
spi_write16_read16_blocking(_spi, &data, &ret, 1);
ret = (_spis.getBitOrder() == MSBFIRST) ? ret : reverse16Bit(ret);
DEBUGSPI("SPI: read back %02x\n", ret);
return ret;
@@ -149,6 +147,8 @@ void SPIClassRP2040::transfer(const void *txbuf, void *rxbuf, size_t count) {
return;
}
hw_write_masked(&spi_get_hw(_spi)->cr0, (8 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); // Fast set to 8-bits
DEBUGSPI("SPI::transfer(%p, %p, %d)\n", txbuf, rxbuf, count);
const uint8_t *txbuff = reinterpret_cast<const uint8_t *>(txbuf);
uint8_t *rxbuff = reinterpret_cast<uint8_t *>(rxbuf);
@@ -205,7 +205,7 @@ void SPIClassRP2040::beginTransaction(SPISettings settings) {
io_rw_32 *en_reg = &irq_ctrl_base->inte[gpio / 8];
uint32_t val = ((*en_reg) >> (4 * (gpio % 8))) & 0xf;
_usingIRQs.insert_or_assign(gpio, val);
DEBUGSPI("SPI: GPIO %d = %d\n", gpio, val);
DEBUGSPI("SPI: GPIO %d = %lu\n", gpio, val);
(*en_reg) ^= val << (4 * (gpio % 8));
}
DEBUGSPI("SPI: IRQ masks after = %08x %08x %08x %08x\n", (unsigned)irq_ctrl_base->inte[0], (unsigned)irq_ctrl_base->inte[1], (unsigned)irq_ctrl_base->inte[2], (unsigned)irq_ctrl_base->inte[3]);
@@ -363,5 +363,10 @@ void SPIClassRP2040::setClockDivider(uint8_t uc_div) {
#define __SPI1_DEVICE spi1
#endif
#ifdef PIN_SPI0_MISO
SPIClassRP2040 SPI(__SPI0_DEVICE, PIN_SPI0_MISO, PIN_SPI0_SS, PIN_SPI0_SCK, PIN_SPI0_MOSI);
#endif
#ifdef PIN_SPI1_MISO
SPIClassRP2040 SPI1(__SPI1_DEVICE, PIN_SPI1_MISO, PIN_SPI1_SS, PIN_SPI1_SCK, PIN_SPI1_MOSI);
#endif
+3 -3
View File
@@ -262,15 +262,15 @@ void HTTPServer::setContentLength(const size_t contentLength) {
_contentLength = contentLength;
}
void HTTPServer::enableDelay(boolean value) {
void HTTPServer::enableDelay(bool value) {
_nullDelay = value;
}
void HTTPServer::enableCORS(boolean value) {
void HTTPServer::enableCORS(bool value) {
_corsEnabled = value;
}
void HTTPServer::enableCrossOrigin(boolean value) {
void HTTPServer::enableCrossOrigin(bool value) {
enableCORS(value);
}
+5 -5
View File
@@ -146,9 +146,9 @@ public:
send(code, content_type, (const char *)content, contentLength);
}
void enableDelay(boolean value);
void enableCORS(boolean value = true);
void enableCrossOrigin(boolean value = true);
void enableDelay(bool value);
void enableCORS(bool value = true);
void enableCrossOrigin(bool value = true);
void setContentLength(const size_t contentLength);
void sendHeader(const String& name, const String& value, bool first = false);
@@ -235,7 +235,7 @@ protected:
String value;
};
boolean _corsEnabled;
bool _corsEnabled;
WiFiClient *_currentClient;
HTTPMethod _currentMethod;
@@ -243,7 +243,7 @@ protected:
uint8_t _currentVersion;
HTTPClientStatus _currentStatus;
unsigned long _statusChange;
boolean _nullDelay;
bool _nullDelay;
RequestHandler* _currentHandler;
RequestHandler* _firstHandler;
+1 -1
View File
@@ -339,7 +339,7 @@ int HTTPServer::_uploadReadByte(WiFiClient* client) {
// keep trying until you either read a valid byte or timeout
unsigned long startMillis = millis();
unsigned long timeoutIntervalMillis = client->getTimeout();
boolean timedOut = false;
bool timedOut = false;
for (;;) {
if (!client->connected()) {
return -1;
+1 -1
View File
@@ -90,7 +90,7 @@ void WebServerTemplate<ServerType, DefaultPort>::handleClient() {
_currentClient = nullptr;
}
_currentClient = new ClientType(_server.available());
_currentClient = new ClientType(_server.accept());
if (!_currentClient) {
if (_nullDelay) {
delay(1);
@@ -34,7 +34,7 @@ void loop() {
delay(1000);
Serial.printf("--loop %d\n", ++i);
delay(10);
WiFiClient client = server.available();
WiFiClient client = server.accept();
if (!client) {
return;
}
+16 -10
View File
@@ -142,10 +142,6 @@ uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase) {
_wifi.setTimeout(_timeout);
_wifi.setAP();
_apMode = true;
if (!_wifi.begin()) {
return WL_IDLE_STATUS;
}
noLowPowerMode();
IPAddress gw = _wifi.gatewayIP();
if (!gw.isSet()) {
gw = IPAddress(192, 168, 42, 1);
@@ -155,6 +151,10 @@ uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase) {
mask = IPAddress(255, 255, 255, 0);
}
config(gw);
if (!_wifi.begin()) {
return WL_IDLE_STATUS;
}
noLowPowerMode();
_dhcpServer = (dhcp_server_t *)malloc(sizeof(dhcp_server_t));
if (!_dhcpServer) {
// OOM
@@ -193,7 +193,7 @@ bool WiFiClass::connected() {
param local_ip: Static ip configuration
*/
void WiFiClass::config(IPAddress local_ip) {
ip4_addr_set_u32(ip_2_ip4(&_wifi.getNetIf()->ip_addr), local_ip.v4());
_wifi.config(local_ip);
}
/* Change Ip configuration settings disabling the dhcp client
@@ -202,8 +202,7 @@ void WiFiClass::config(IPAddress local_ip) {
param dns_server: IP configuration for DNS server 1
*/
void WiFiClass::config(IPAddress local_ip, IPAddress dns_server) {
ip4_addr_set_u32(ip_2_ip4(&_wifi.getNetIf()->ip_addr), local_ip.v4());
dns_setserver(0, dns_server);
_wifi.config(local_ip, dns_server);
}
/* Change Ip configuration settings disabling the dhcp client
@@ -213,9 +212,7 @@ void WiFiClass::config(IPAddress local_ip, IPAddress dns_server) {
param gateway : Static gateway configuration
*/
void WiFiClass::config(IPAddress local_ip, IPAddress dns_server, IPAddress gateway) {
ip4_addr_set_u32(ip_2_ip4(&_wifi.getNetIf()->ip_addr), local_ip.v4());
dns_setserver(0, dns_server);
ip4_addr_set_u32(ip_2_ip4(&_wifi.getNetIf()->gw), gateway.v4());
_wifi.config(local_ip, dns_server, gateway);
}
/* Change Ip configuration settings disabling the dhcp client
@@ -326,6 +323,15 @@ IPAddress WiFiClass::gatewayIP() {
return _wifi.gatewayIP();
}
/*
Get the DNS ip address.
return: IPAddress DNS Server IP
*/
IPAddress WiFiClass::dnsIP(uint8_t dns_no) {
return _wifi.dnsIP(dns_no);
}
/*
Return the current SSID associated with the network
+7
View File
@@ -261,6 +261,13 @@ public:
*/
IPAddress gatewayIP();
/*
Get the DNS ip address.
return: IPAddress DNS Server IP
*/
IPAddress dnsIP(uint8_t dns_no = 0);
/*
Return the current SSID associated with the network
+9
View File
@@ -58,6 +58,15 @@ bool WiFiMulti::addAP(const char *ssid, const char *pass) {
return true;
}
void WiFiMulti::clearAPList() {
while (!_list.empty()) {
struct _AP ap = _list.front();
_list.pop_front();
free(ap.ssid);
free(ap.pass);
}
}
uint8_t WiFiMulti::run(uint32_t to) {
struct _scanAP {
char *ssid;
+2
View File
@@ -32,6 +32,8 @@ public:
bool addAP(const char *ssid, const char *pass = nullptr);
void clearAPList();
uint8_t run(uint32_t to = 10000);
private:
+8
View File
@@ -163,10 +163,18 @@ void WiFiServer::close() {
_listen_pcb = nullptr;
}
void WiFiServer::end() {
close();
}
void WiFiServer::stop() {
close();
}
WiFiServer::operator bool() {
return (status() != CLOSED);
}
template<typename T>
T* slist_append_tail(T* head, T* item) {
if (!head) {
+4 -2
View File
@@ -75,10 +75,10 @@ protected:
public:
WiFiServer(const IPAddress& addr, uint16_t port);
WiFiServer(uint16_t port);
WiFiServer(uint16_t port = 23);
virtual ~WiFiServer() {}
WiFiClient accept(); // https://www.arduino.cc/en/Reference/EthernetServerAccept
WiFiClient available(uint8_t* status = nullptr);
WiFiClient available(uint8_t* status = nullptr) __attribute__((deprecated("Use accept().")));
bool hasClient();
// hasClientData():
@@ -95,8 +95,10 @@ public:
bool getNoDelay();
uint8_t status();
uint16_t port() const;
void end();
void close();
void stop();
explicit operator bool();
using ClientType = WiFiClient;
+2 -2
View File
@@ -31,7 +31,7 @@ class WiFiClientSecure;
class WiFiServerSecure : public WiFiServer {
public:
WiFiServerSecure(IPAddress addr, uint16_t port);
WiFiServerSecure(uint16_t port);
WiFiServerSecure(uint16_t port = 22);
WiFiServerSecure(const WiFiServerSecure &rhs);
virtual ~WiFiServerSecure();
@@ -65,7 +65,7 @@ public:
// If awaiting connection available and authenticated (i.e. client cert), return it.
WiFiClientSecure accept(); // https://www.arduino.cc/en/Reference/EthernetServerAccept
WiFiClientSecure available(uint8_t* status = nullptr);
WiFiClientSecure available(uint8_t* status = nullptr) __attribute__((deprecated("Use accept().")));
WiFiServerSecure& operator=(const WiFiServerSecure&) = default;
+5
View File
@@ -470,5 +470,10 @@ void TwoWire::clearTimeoutFlag() {
#define __WIRE1_DEVICE i2c1
#endif
#ifdef PIN_WIRE0_SDA
TwoWire Wire(__WIRE0_DEVICE, PIN_WIRE0_SDA, PIN_WIRE0_SCL);
#endif
#ifdef PIN_WIRE1_SDA
TwoWire Wire1(__WIRE1_DEVICE, PIN_WIRE1_SDA, PIN_WIRE1_SCL);
#endif
+5 -14
View File
@@ -31,9 +31,7 @@ bool __ethernetContextInitted = false;
// Async context that pumps the ethernet controllers
static async_context_threadsafe_background_t lwip_ethernet_async_context_threadsafe_background;
static async_when_pending_worker_t always_pending_update_timeout_worker;
static async_at_time_worker_t ethernet_timeout_worker;
static async_context_t *_context = nullptr;
// Theoretically support multiple interfaces
@@ -46,7 +44,7 @@ void ethernet_arch_lwip_begin() {
return;
}
#endif
async_context_acquire_lock_blocking(&lwip_ethernet_async_context_threadsafe_background.core);
async_context_acquire_lock_blocking(_context);
}
void ethernet_arch_lwip_end() {
@@ -56,7 +54,7 @@ void ethernet_arch_lwip_end() {
return;
}
#endif
async_context_release_lock(&lwip_ethernet_async_context_threadsafe_background.core);
async_context_release_lock(_context);
}
int __addEthernetPacketHandler(std::function<void(void)> _packetHandler) {
@@ -129,8 +127,9 @@ static async_context_t *lwip_ethernet_init_default_async_context(void) {
return NULL;
}
static uint32_t _pollingPeriod = 20;
// This will only be called under the protection of the async context mutex, so no re-entrancy checks needed
static void ethernet_timeout_reached(__unused async_context_t *context, __unused async_at_time_worker_t *worker) {
static void ethernet_timeout_reached(async_context_t *context, __unused async_at_time_worker_t *worker) {
assert(worker == &ethernet_timeout_worker);
for (auto handlePacket : _handlePacketList) {
handlePacket.second();
@@ -142,12 +141,6 @@ static void ethernet_timeout_reached(__unused async_context_t *context, __unused
#else
sys_check_timeouts();
#endif
}
static uint32_t _pollingPeriod = 20;
static void update_next_timeout(async_context_t *context, async_when_pending_worker_t *worker) {
assert(worker == &always_pending_update_timeout_worker);
worker->work_pending = true;
async_context_add_at_time_worker_in_ms(context, &ethernet_timeout_worker, _pollingPeriod);
}
@@ -164,10 +157,8 @@ void __startEthernetContext() {
#else
_context = lwip_ethernet_init_default_async_context();
#endif
always_pending_update_timeout_worker.work_pending = true;
always_pending_update_timeout_worker.do_work = update_next_timeout;
ethernet_timeout_worker.do_work = ethernet_timeout_reached;
async_context_add_when_pending_worker(_context, &always_pending_update_timeout_worker);
async_context_add_at_time_worker_in_ms(_context, &ethernet_timeout_worker, _pollingPeriod);
__ethernetContextInitted = true;
}
+41 -2
View File
@@ -61,9 +61,14 @@ public:
memset(&_netif, 0, sizeof(_netif));
}
//The argument order for ESP is not the same as for Arduino. However, there is compatibility code under the hood
//to detect Arduino arg order, and handle it correctly.
bool config(const IPAddress& local_ip, const IPAddress& arg1, const IPAddress& arg2,
const IPAddress& arg3 = IPADDR_NONE, const IPAddress& dns2 = IPADDR_NONE);
// two and one parameter version. 2nd parameter is DNS like in Arduino. IPv4 only
bool config(IPAddress local_ip, IPAddress dns = IPADDR_NONE);
// default mac-address is inferred from esp8266's STA interface
bool begin(const uint8_t* macAddress = nullptr, const uint16_t mtu = DEFAULT_MTU);
@@ -73,6 +78,10 @@ public:
return &_netif;
}
uint8_t* macAddress(uint8_t* mac) {
memcpy(mac, &_netif.hwaddr, 6);
return mac;
}
IPAddress localIP() const {
return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.ip_addr)));
}
@@ -82,6 +91,17 @@ public:
IPAddress gatewayIP() const {
return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.gw)));
}
IPAddress dnsIP(int n = 0) const {
return IPAddress(dns_getserver(n));
}
void setDNS(IPAddress dns1, IPAddress dns2 = INADDR_ANY) {
if (dns1.isSet()) {
dns_setserver(0, dns1);
}
if (dns2.isSet()) {
dns_setserver(1, dns2);
}
}
// 1. Currently when no default is set, esp8266-Arduino uses the first
// DHCP client interface receiving a valid address and gateway to
@@ -107,7 +127,7 @@ public:
// ICMP echo, returns TTL
int ping(IPAddress host, uint8_t ttl, uint32_t timeout = 5000);
int hostByName(const char* aHostname, IPAddress& aResult, int timeout);
int hostByName(const char* aHostname, IPAddress& aResult, int timeout = 15000);
inline void setSPISpeed(int mhz) {
setSPISettings(SPISettings(mhz, MSBFIRST, SPI_MODE0));
@@ -249,6 +269,24 @@ bool LwipIntfDev<RawDev>::config(const IPAddress& localIP, const IPAddress& gate
}
return true;
}
template<class RawDev>
bool LwipIntfDev<RawDev>::config(IPAddress local_ip, IPAddress dns) {
if (!local_ip.isSet()) {
return config(INADDR_ANY, INADDR_ANY, INADDR_ANY);
}
if (!local_ip.isV4()) {
return false;
}
IPAddress gw(local_ip);
gw[3] = 1;
if (!dns.isSet()) {
dns = gw;
}
return config(local_ip, gw, IPAddress(255, 255, 255, 0), dns);
}
extern char wifi_station_hostname[];
template<class RawDev>
bool LwipIntfDev<RawDev>::begin(const uint8_t* macAddress, const uint16_t mtu) {
@@ -337,6 +375,7 @@ bool LwipIntfDev<RawDev>::begin(const uint8_t* macAddress, const uint16_t mtu) {
#endif
#if LWIP_IPV6_DHCP6_STATELESS
err_t __res = dhcp6_enable_stateless(&_netif);
(void) __res; // Not used except for debug
DEBUGV("LwipIntfDev: Enabled DHCP6 stateless: %d\n", __res);
#endif
@@ -362,7 +401,7 @@ void LwipIntfDev<RawDev>::end() {
RawDev::end();
netif_remove(&_netif);
memset(&_netif, 0, sizeof(_netif));
_started = false;
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "framework-arduinopico",
"version": "1.30601.0",
"version": "1.30603.0",
"description": "Arduino Wiring-based Framework (RPi Pico RP2040)",
"keywords": [
"framework",
+11 -8
View File
@@ -86,6 +86,9 @@
{
"name": "Cytron Maker Pi RP2040"
},
{
"name": "Cytron Maker UNO RP2040"
},
{
"name": "DatanoiseTV PicoADK"
},
@@ -305,10 +308,10 @@
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.1.0-a/x86_64-apple-darwin15.picotool1-f6fe6b7.230911.tar.gz",
"archiveFileName": "x86_64-apple-darwin15.picotool1-f6fe6b7.230911.tar.gz",
"checksum": "SHA-256:80415ab9b4b63a327b31a1b84df31883dae4080a286851a546a46badf1b7de41",
"size": "1130270"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.1.0-a/x86_64-apple-darwin15.picotool2-f6fe6b7.230911.tar.gz",
"archiveFileName": "x86_64-apple-darwin15.picotool2-f6fe6b7.230911.tar.gz",
"checksum": "SHA-256:b17a8a53737084f046ae27dc082f3732b39f273d8cd61a55ffaa8a9737999e5d",
"size": "166362"
},
{
"host": "x86_64-pc-linux-gnu",
@@ -360,10 +363,10 @@
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.1.0-a/x86_64-apple-darwin15.openocd-4d87f6dca.230911.tar.gz",
"archiveFileName": "x86_64-apple-darwin15.openocd-4d87f6dca.230911.tar.gz",
"checksum": "SHA-256:cb44314cb64316e91cf45c5623319751706bd94ad734a322af243b77f8eb2328",
"size": "2801625"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.1.0-a/x86_64-apple-darwin15.openocd2-4d87f6dca.230911.tar.gz",
"archiveFileName": "x86_64-apple-darwin15.openocd2-4d87f6dca.230911.tar.gz",
"checksum": "SHA-256:18414d66c774538364e566169917d0f162f8c25fb553e5f32d81a1939fba7f1a",
"size": "3060420"
},
{
"host": "x86_64-pc-linux-gnu",
+1 -1
View File
@@ -20,7 +20,7 @@
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=Raspberry Pi RP2040 Boards
version=3.6.1
version=3.6.3
# Required discoveries and monitors
# ---------------------------------
+1
View File
@@ -25,6 +25,7 @@ function skip_ino()
/midi_pizza_box_dj/
/msc_esp32_file_browser/
/DualRole/
/Host/
EOL
echo $ino | grep -q -F "$skiplist"
echo $(( 1 - $? ))
+56
View File
@@ -0,0 +1,56 @@
{
"build": {
"arduino": {
"earlephilhower": {
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2E8A",
"usb_pid": "0x1071"
}
},
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CYTRON_MAKER_UNO_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
],
[
"0x2E8A",
"0x1071"
]
],
"mcu": "rp2040",
"variant": "cytron_maker_uno_rp2040"
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Maker UNO RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 2097152,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"blackmagic",
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe",
"pico-debug"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Cytron"
}
+2 -2
View File
@@ -13,8 +13,8 @@ extern void interrupts();
#define SYS_ARCH_PROTECT(lev) noInterrupts
#define SYS_ARCH_UNPROTECT(lev) interrupts
extern unsigned long get_rand_32(void);
#define LWIP_RAND() get_rand_32()
extern unsigned long __lwip_rand(void);
#define LWIP_RAND() __lwip_rand()
// Common settings used in most of the pico_w examples
// (see https://www.nongnu.org/lwip/2_1_x/group__lwip__opts.html for details)
+3
View File
@@ -88,6 +88,8 @@ def BuildUSBStack(name):
print('%s.menu.usbstack.picosdk.build.usbstack_flags=' % (name))
print("%s.menu.usbstack.tinyusb=Adafruit TinyUSB" % (name))
print('%s.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"' % (name))
print("%s.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host" % (name))
print('%s.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"' % (name))
print("%s.menu.usbstack.nousb=No USB" % (name))
print('%s.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"' % (name))
@@ -370,6 +372,7 @@ MakeBoard("bridgetek_idm2040-7a", "BridgeTek", "IDM2040-7A", "0x2e8a", "0x1041",
# Cytron
MakeBoard("cytron_maker_nano_rp2040", "Cytron", "Maker Nano RP2040", "0x2e8a", "0x100f", 250, "CYTRON_MAKER_NANO_RP2040", 2, "boot2_w25q080_2_padded_checksum")
MakeBoard("cytron_maker_pi_rp2040", "Cytron", "Maker Pi RP2040", "0x2e8a", "0x1000", 250, "CYTRON_MAKER_PI_RP2040", 2, "boot2_w25q080_2_padded_checksum")
MakeBoard("cytron_maker_uno_rp2040", "Cytron", "Maker UNO RP2040", "0x2e8a", "0x1071", 250, "CYTRON_MAKER_UNO_RP2040", 2, "boot2_w25q080_2_padded_checksum")
# DatanoiseTV
MakeBoard("datanoisetv_picoadk", "DatanoiseTV", "PicoADK", "0x2e8a", "0x000a", 250, "DATANOISETV_PICOADK", 2, "boot2_w25q080_2_padded_checksum")
+8 -2
View File
@@ -321,9 +321,15 @@ libs = []
variant = board.get("build.arduino.earlephilhower.variant", board.get("build.variant", ""))
# The following 3 lines are adapted from espressif/arduino-esp32, also licensed under apache2
variants_dir = os.path.join(FRAMEWORK_DIR, "variants")
if "build.variants_dir" in board:
variants_dir = os.path.join("$PROJECT_DIR", board.get("build.variants_dir"))
if variant != "":
env.Append(CPPPATH=[
os.path.join(FRAMEWORK_DIR, "variants", variant)
os.path.join(variants_dir, variant)
])
env.Append(CPPDEFINES=[
@@ -335,7 +341,7 @@ if variant != "":
# otherwise weak function overriding won't work in the linking stage.
env.BuildSources(
os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"),
os.path.join(FRAMEWORK_DIR, "variants", variant))
os.path.join(variants_dir, variant))
libs.append(
env.BuildLibrary(
@@ -0,0 +1,53 @@
#pragma once
// LEDs
#define PIN_LED (3u)
// Neopixel
#define PIN_NEOPIXEL (25u)
#define NUM_NEOPIXEL (2u)
#define PIN_RGB PIN_NEOPIXEL
// Buzzer
#define PIN_BUZZER (8u)
// Button
#define PIN_BUTTON (2u)
// Serial 1
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
// Serial 2 (Not pinned out)
#define PIN_SERIAL2_TX (31u)
#define PIN_SERIAL2_RX (31u)
// SPI 0
#define PIN_SPI0_MISO (12u)
#define PIN_SPI0_MOSI (11u)
#define PIN_SPI0_SCK (10u)
#define PIN_SPI0_SS (13u)
// SPI 1 (Not pinned out)
#define PIN_SPI1_MISO (31u)
#define PIN_SPI1_MOSI (31u)
#define PIN_SPI1_SCK (31u)
#define PIN_SPI1_SS (31u)
// Wire
#define PIN_WIRE0_SDA (20u)
#define PIN_WIRE0_SCL (21u)
#define PIN_WIRE1_SDA (26u)
#define PIN_WIRE1_SCL (27u)
#define SERIAL_HOWMANY (1u)
#define SPI_HOWMANY (1u)
#define WIRE_HOWMANY (1u)
#include "../generic/common.h"
+1
View File
@@ -7,6 +7,7 @@
#define NUM_ANALOG_INPUTS (4u)
#define NUM_ANALOG_OUTPUTS (0u)
#define ADC_RESOLUTION (12u)
#define WIRE_INTERFACES_COUNT (WIRE_HOWMANY)
#ifdef PIN_LED
#define LED_BUILTIN PIN_LED