Compare commits

...
49 Commits
Author SHA1 Message Date
Earle F. Philhower, III f2fd654b84 Bump to 1.11.0 2022-02-12 12:38:35 -08:00
Earle F. Philhower, III 1b61a86618 Update GDB and OpenOCD to work together, finally (#482)
GDB for non-Linux systems was built w/o expat which caused odd behavior
under Windows and other systems (i.e. breakpoints not working, etc.)
New toolchain manually builds cross-compiled libexpat and ensures it is
used, fixing the issue.

Windows OpenOCD binaries now come from manually built and tested copies
(using a real Windows system).

Fixes #478
Fixes #457
Fixes #456
and probably others...
2022-02-12 12:35:03 -08:00
Earle F. Philhower, III 44cd697b29 Add SerialUART::setPollingMode() (#473)
Fixes #472

Instead of using interrupts, explicitly call the IRQ handler dueing Serial
read/peek/available calls.

Add to keywords.txt for syntax hilighting.

Add poll calls in the SerialUART::write-like calls (write,
flush, etc.)

Really remove division from IRQ routines/
2022-02-10 12:22:27 -08:00
Earle F. Philhower, III d562b00c37 Use Powershell to find UF2 drive if WMIC fails (#476)
Microsoft is deprecating WMIC, so fall back to a Powershell call in
case of failure to ruin WMIC.

Belt and suspenders, set PowerShell non-interactive mode and null STDIN.
2022-02-10 12:15:43 -08:00
Earle F. Philhower, III ba92377eba Decrease size of used FIFO in SerialUART (#471)
Fixes #468

The FIFO limit was set to 1/2, or 16 bytes on POR and not set by the core,
so for low baud this could result in a LONG time without data moving from
hardware FIFO to the SW ring buffer and timeouts/etc.

Now use the API call which sets it to 1/8, or 4 bytes of data to speed up
the transfer 4x.

Also avoid using the divider in the IRQ routine because it is not clear
from the docs of the Pico SDK IRQ callback routine preserves divider
state or not.  If not, doing division in an IRQ could result in random
data corruption in the main app.

Add memory barriers to ensure the order of data into RAM is preserved
and that GCC doesn't reorder writes.
2022-02-08 12:14:40 -08:00
gsexton acbe190a20 Fix OpenSUSE upload, make mount point fionding more robust (#467)
Change order of tests to favor /run/media over /media. Parse output of udiskctl mount to find mount path
2022-02-08 08:24:30 -08:00
Earle F. Philhower, III 4cd65d1512 Remove timeout for SerialUART/SerialPIO::read/peek (#466)
Fixes #464 and other incompatibilities

Remove the timeout check from ::read and ::peek on the SerialUART/PIO
classes  (SerialUSB already ignores it).  See documentation
https://www.arduino.cc/reference/en/language/functions/communication/serial/settimeout/
and thanks to @jandrassy's explanation
https://github.com/earlephilhower/arduino-pico/issues/464#issuecomment-1031657044
2022-02-07 12:33:49 -08:00
Earle F. Philhower, III bbae702e9f Add support for analogReadResolution, default 10b (#461)
Most other boards and the MBED RP2040 support analogReadResolution which
just shifts read data around as needed, with a default of only 10b of
resolution.  The Pico ADC technically supports 12b, but only has about
8b of real data after noise, so you're not really losing anything in the
general case.

Fixes #460
2022-02-05 10:10:45 -08:00
Earle F. Philhower, III c4046602f0 Allow changing I2C clock speed while running (#459)
Fixes #458
2022-02-04 18:08:35 -08:00
Earle F. Philhower, III baf925fefd Update to 1.10.0 release 2022-02-02 18:15:59 -08:00
Earle F. Philhower, III ec00479640 Update to 1.3.2-a toolchain, setjmp/longjmp fix (#454)
Fixes #453, a crash caused by Newlib having ARM instructions in
the Thumb-only Cortex-M0+.
2022-02-02 18:00:06 -08:00
Earle F. Philhower, III 66e4866091 Prepare for 1.9.15 2022-01-29 03:36:20 -08:00
Earle F. Philhower, III 5b47a61209 Update package_pico_index.template.json 2022-01-29 03:34:18 -08:00
Earle F. Philhower, III b0365cd9ad Update platform.txt 2022-01-29 03:32:08 -08:00
Spegs21 36bb604d38 Update tinyusb 1.9.2 (#445) 2022-01-29 03:22:14 -08:00
Earle F. Philhower, III d8835df9ab Fix pgm_read_ macros with inline functions (#449)
Fixes #447
2022-01-28 18:44:34 -08:00
Earle F. Philhower, III d24c8442c4 Make pio build script executable by default (#446)
In order to be consistent the other tools in the directory.
2022-01-28 12:46:51 -08:00
Maximilian Gerhardt 4a955b2a28 Correctly use earlephilhower.varant if variant not given, ensure USB power macro is always there (#444)
Fixes a crash of the builder script, `board.get("build.variant", None)` will throw an exception if the `build.variant` was not found (and not return `None` as the fallback value), but an empty string works, so check against that.

USB power defines moved directly into the board files, but still ensure that the macro always exists (with a default fallback value) to not fail the build.
2022-01-28 04:15:31 -08:00
Earle F. Philhower, III 4f27ec44eb Generate Platform.IO board definitions (#426)
As part of the boards.txt generation, also make necessary files for
Platform.IO.

Fixes #399
2022-01-28 04:08:59 -08:00
Earle F. Philhower, III 843630c3c7 Remove unused copy of std C++ library (#443) 2022-01-27 12:16:41 -08:00
Maximilian Gerhardt 00c0bc1e6e Fix libraries and RAM size in PlatformIO build (#440) 2022-01-26 16:56:36 -08:00
Kattni 5980993774 Add NeoPixel pins to Adafruit boards (#438) 2022-01-26 11:41:39 -08:00
Earle F. Philhower, III 72c875183a Update README.md 2022-01-26 08:46:51 -08:00
风飘雨 97f9afac0a Add board flyboard2040core (#437)
Thx!
2022-01-26 08:46:13 -08:00
Earle F. Philhower, III a7035ab61e Rename SDFat directory for Adafruit compatibility
Fixes #416
2022-01-24 12:38:35 -08:00
Earle F. Philhower, III ea4c0999d0 Add interpolater include path (#428)
Fixes #427.  The libpico.a build already includes the HW interpolator
sources, but the include was missing from the Arduino path.
2022-01-22 11:30:47 -08:00
Earle F. Philhower, III d51fa99b70 Update package.json 2022-01-20 08:54:58 -08:00
Earle F. Philhower, III 2c97bffc54 Update to latest upstream LittleFS (#425)
Also clean up output in SpeedTest, make more human friendly
2022-01-19 18:09:40 -08:00
Earle F. Philhower, III 626b62c413 Update to latest upstream Keyboard/Mouse (#424)
Keyboard class now has support for non-en_US layouts, and documentation has
been added to the Mouse class.

Thanks to @rico0260 for letting me know about the update, and for the initial PR!
2022-01-19 17:46:31 -08:00
Earle F. Philhower, III 25b9ca821e Only call Wire.onReceive if data is available (#423)
The Pico HW seems to generate an interrupt on the end of every I2C
write cycle, even if the slave address wasn't actually targeted.
This would cause the onReceive method to be called with a 0-len
parameter for every write on the I2C bus.

Now, only call onReceive if there is 1 or more bytes of data available.
2022-01-19 16:16:39 -08:00
Earle F. Philhower, III d5ddf4cd7f Move SdFat to master/head (#422)
SdFat used to point to unnamed commit in the ESP8266SdFat repo.
Master in that repo has now been moved to that commit, so make this
core use the master branch for sanity's sake.
2022-01-19 12:30:12 -08:00
Earle F. Philhower, III d43dcbcf8c Remove duplicate millis/micros definitions (#419)
Fixes #418
2022-01-15 09:40:31 -08:00
Juraj Andrássy 1fdc0ab7c1 Arduino Nano R2040 Connect Nina pins access with WiFiNINA lib (#404) 2022-01-09 09:11:27 -08:00
Khoi Hoang 9408b7e2c4 Fix WiFiNINA issue for Arduino Nano Connect (#403)
Fixes #373
2022-01-09 08:03:53 -08:00
Earle F. Philhower, III 12f3505eea Update the platform release version 2022-01-05 12:16:21 -08:00
Earle F. Philhower, III 464ee85884 Make Wire buffer default to 256 for MBED compatibility (#412)
Fixes #411
2022-01-05 12:14:34 -08:00
Earle F. Philhower, III 87d745d5dc Add missing board names 2022-01-05 07:45:09 -08:00
Earle F. Philhower, III 576f8941d6 Add setFIFOSize to UART Serial ports (#410)
Allow setting the size of the receive buffer by the application using a
call to Serial1/2.setFIFOSize(xxx) before the begin() call.
2022-01-04 19:02:38 -08:00
Earle F. Philhower, III 039cbcf2cf Update package.json 2022-01-04 18:53:31 -08:00
arturo182 f91c4b3b9d Add the RP2040 Stamp board (#407) 2022-01-03 11:38:05 -08:00
Earle F. Philhower, III 83b9486985 Allow setting the SerialPIO FIFO depth in the constructor (#405)
Defaults to 32 bytes, like the HW Serial ports, but can be set to
any desired value when instantiated.
2022-01-02 11:31:06 -08:00
Earle F. Philhower, III dc54eeb8d0 Update package.json 2022-01-02 09:45:44 -08:00
Earle F. Philhower, III 3a2a7f8cf1 Fix hang on Serial overflow, PIOSerial stop bit handling (#401)
When the Serial software FIFOs overeflowed, the IRQ handler would not
read any more data from the hardware FIFOs.  This would cause the
IRQ handler to be continually called as soon as it exited since the
HW FIFOS were not empty.

Now always read every available HW FIFO entry and throw out any that
don't fit in the SW FIFO.

Also fix a too long by half stop bit timing in the PIOSerial receiver.
2022-01-02 05:46:33 -08:00
Khoi Hoang 52a22e5185 Fix Nano_RP2040_Connect pinout issue (#400)
Fix issues with [WiFiNINA](https://github.com/arduino-libraries/WiFiNINA) and [WiFiNINA_Generic](https://github.com/khoih-prog/WiFiNINA_Generic) libraries

Fixes #373
Fixes #375 
Fixes #376
2022-01-01 13:05:25 -08:00
Earle F. Philhower, III cae8c70e51 Add the PIO UARTs to the list 2021-12-30 16:02:15 -08:00
Earle F. Philhower, III 513bd81810 Add SDA/SCL variables like other cores export (#398)
Fixes #368.  Thanks @bperrybap!
2021-12-30 15:57:13 -08:00
Earle F. Philhower, III 891f653ead Update package.json 2021-12-30 09:56:59 -08:00
Ken Piper 5b270aab61 Fix A0-A3 pin definitions for Adafruit QT Py RP2040 (#397) 2021-12-30 09:56:38 -08:00
Maximilian Gerhardt 6591da9acf Fix PlatformIO build (#395)
Defines USBD_MAX_POWER_MA as a static 250mA, which is correct for all the boards supported in platform-raspberrypi (aka, RaspberryPi Pico and Nano RP2040 Connect)
2021-12-29 09:19:47 -08:00
67 changed files with 2708 additions and 345 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ jobs:
- name: Run codespell
uses: codespell-project/actions-codespell@master
with:
skip: ./pico-extras,./ArduinoCore-API,./libraries/SdFat,./libraries/Adafruit_TinyUSB_Arduino,./libraries/LittleFS/lib,./tools/pyserial,./pico-sdk,./.github,./docs/i2s.rst,./cores/rp2040/api
skip: ./pico-extras,./ArduinoCore-API,./libraries/ESP8266SdFat,./libraries/Adafruit_TinyUSB_Arduino,./libraries/LittleFS/lib,./tools/pyserial,./pico-sdk,./.github,./docs/i2s.rst,./cores/rp2040/api
ignore_words_list: ser,DOUT
# Consistent style
@@ -36,7 +36,7 @@ jobs:
./tests/ci/pkgrefs_test.sh
- name: Check boards.txt was not edited after makeboards.py
run: |
./tools/makeboards.py > boards.txt
./tools/makeboards.py
# If anything changed, GIT should return an error and fail the test
git diff --exit-code
- name: Run astyle on all code/examples
+1 -1
View File
@@ -11,7 +11,7 @@
path = libraries/LittleFS/lib/littlefs
url = https://github.com/littlefs-project/littlefs.git
[submodule "libraries/SdFat"]
path = libraries/SdFat
path = libraries/ESP8266SdFat
url = https://github.com/earlephilhower/ESP8266SdFat.git
[submodule "pico-extras"]
path = pico-extras
+3
View File
@@ -21,11 +21,13 @@ See https://arduino-pico.readthedocs.io/en/latest/ along with the examples for m
* Arduino Nano RP2040 Connect (preliminary)
* Cytron Maker Pi RP2040
* Cytron Maker Nano RP2040
* DeRuiLab FlyBoard2040 Core
* Invector Labs Challenger RP2040 WiFi
* Invector Labs Challenger NB RP2040 WiFi
* Invector Labs Challenger RP2040 LTE
* Invector Labs RPICO32
* Melopero Shake RP2040
* Solder Party RP2040 Stamp
* SparkFun ProMicro RP2040
* uPesy RP2040 DevKit
* WIZnet W5100S-EVB-Pico
@@ -146,6 +148,7 @@ The RP2040 PIO state machines (SMs) are used to generate jitter-free:
* Servos
* Tones
* I2S Output
* Software UARTs (Serial ports)
# Tutorials from Across the Web
Here are some links to coverage and additional tutorials for using `arduino-pico`
+905 -3
View File
@@ -3808,7 +3808,7 @@ arduino_nano_connect.vid.0=0x2341
arduino_nano_connect.pid.0=0x0058
arduino_nano_connect.build.usbpid=-DSERIALUSB_PID=0x0058
arduino_nano_connect.build.usbpwr=-DUSBD_MAX_POWER_MA=250
arduino_nano_connect.build.board=ARDUINO_NANO_RP2040_CONNECT
arduino_nano_connect.build.board=NANO_RP2040_CONNECT
arduino_nano_connect.build.mcu=cortex-m0plus
arduino_nano_connect.build.variant=arduino_nano_connect
arduino_nano_connect.upload.tool=uf2conv
@@ -4019,7 +4019,7 @@ arduino_nano_connectpicoprobe.vid.0=0x2341
arduino_nano_connectpicoprobe.pid.0=0x0004
arduino_nano_connectpicoprobe.build.usbpid=-DSERIALUSB_PID=0x0058
arduino_nano_connectpicoprobe.build.usbpwr=-DUSBD_MAX_POWER_MA=250
arduino_nano_connectpicoprobe.build.board=ARDUINO_NANO_RP2040_CONNECT
arduino_nano_connectpicoprobe.build.board=NANO_RP2040_CONNECT
arduino_nano_connectpicoprobe.build.mcu=cortex-m0plus
arduino_nano_connectpicoprobe.build.variant=arduino_nano_connect
arduino_nano_connectpicoprobe.upload.tool=picoprobe
@@ -4230,7 +4230,7 @@ arduino_nano_connectpicodebug.vid.0=0x1209
arduino_nano_connectpicodebug.pid.0=0x2488
arduino_nano_connectpicodebug.build.usbpid=-DSERIALUSB_PID=0x0058
arduino_nano_connectpicodebug.build.usbpwr=-DUSBD_MAX_POWER_MA=250
arduino_nano_connectpicodebug.build.board=ARDUINO_NANO_RP2040_CONNECT
arduino_nano_connectpicodebug.build.board=NANO_RP2040_CONNECT
arduino_nano_connectpicodebug.build.mcu=cortex-m0plus
arduino_nano_connectpicodebug.build.variant=arduino_nano_connect
arduino_nano_connectpicodebug.upload.tool=picodebug
@@ -8862,6 +8862,493 @@ melopero_shake_rp2040picodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
melopero_shake_rp2040picodebug.menu.usbstack.nousb=No USB
melopero_shake_rp2040picodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
# -----------------------------------
# Solder Party RP2040 Stamp
# -----------------------------------
solderparty_rp2040_stamp.name=Solder Party RP2040 Stamp
solderparty_rp2040_stamp.vid.0=0x1209
solderparty_rp2040_stamp.pid.0=0xa182
solderparty_rp2040_stamp.build.usbpid=-DSERIALUSB_PID=0xa182
solderparty_rp2040_stamp.build.usbpwr=-DUSBD_MAX_POWER_MA=500
solderparty_rp2040_stamp.build.board=SOLDERPARTY_RP2040_STAMP
solderparty_rp2040_stamp.build.mcu=cortex-m0plus
solderparty_rp2040_stamp.build.variant=solderparty_rp2040_stamp
solderparty_rp2040_stamp.upload.tool=uf2conv
solderparty_rp2040_stamp.upload.maximum_size=8388608
solderparty_rp2040_stamp.upload.maximum_data_size=262144
solderparty_rp2040_stamp.upload.wait_for_upload_port=true
solderparty_rp2040_stamp.upload.erase_cmd=
solderparty_rp2040_stamp.serial.disableDTR=false
solderparty_rp2040_stamp.serial.disableRTS=false
solderparty_rp2040_stamp.build.f_cpu=125000000
solderparty_rp2040_stamp.build.led=
solderparty_rp2040_stamp.build.core=rp2040
solderparty_rp2040_stamp.build.ldscript=memmap_default.ld
solderparty_rp2040_stamp.build.ram_length=256k
solderparty_rp2040_stamp.build.boot2=boot2_generic_03h_4_padded_checksum
solderparty_rp2040_stamp.build.vid=0x1209
solderparty_rp2040_stamp.build.pid=0xa182
solderparty_rp2040_stamp.build.usb_manufacturer="Solder Party"
solderparty_rp2040_stamp.build.usb_product="RP2040 Stamp"
solderparty_rp2040_stamp.menu.flash.8388608_0=8MB (no FS)
solderparty_rp2040_stamp.menu.flash.8388608_0.upload.maximum_size=8384512
solderparty_rp2040_stamp.menu.flash.8388608_0.build.flash_length=8384512
solderparty_rp2040_stamp.menu.flash.8388608_0.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_0.build.fs_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_0.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_65536=8MB (Sketch: 8128KB, FS: 64KB)
solderparty_rp2040_stamp.menu.flash.8388608_65536.upload.maximum_size=8318976
solderparty_rp2040_stamp.menu.flash.8388608_65536.build.flash_length=8318976
solderparty_rp2040_stamp.menu.flash.8388608_65536.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_65536.build.fs_start=276754432
solderparty_rp2040_stamp.menu.flash.8388608_65536.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_131072=8MB (Sketch: 8064KB, FS: 128KB)
solderparty_rp2040_stamp.menu.flash.8388608_131072.upload.maximum_size=8253440
solderparty_rp2040_stamp.menu.flash.8388608_131072.build.flash_length=8253440
solderparty_rp2040_stamp.menu.flash.8388608_131072.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_131072.build.fs_start=276688896
solderparty_rp2040_stamp.menu.flash.8388608_131072.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_262144=8MB (Sketch: 7936KB, FS: 256KB)
solderparty_rp2040_stamp.menu.flash.8388608_262144.upload.maximum_size=8122368
solderparty_rp2040_stamp.menu.flash.8388608_262144.build.flash_length=8122368
solderparty_rp2040_stamp.menu.flash.8388608_262144.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_262144.build.fs_start=276557824
solderparty_rp2040_stamp.menu.flash.8388608_262144.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_524288=8MB (Sketch: 7680KB, FS: 512KB)
solderparty_rp2040_stamp.menu.flash.8388608_524288.upload.maximum_size=7860224
solderparty_rp2040_stamp.menu.flash.8388608_524288.build.flash_length=7860224
solderparty_rp2040_stamp.menu.flash.8388608_524288.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_524288.build.fs_start=276295680
solderparty_rp2040_stamp.menu.flash.8388608_524288.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_1048576=8MB (Sketch: 7MB, FS: 1MB)
solderparty_rp2040_stamp.menu.flash.8388608_1048576.upload.maximum_size=7335936
solderparty_rp2040_stamp.menu.flash.8388608_1048576.build.flash_length=7335936
solderparty_rp2040_stamp.menu.flash.8388608_1048576.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_1048576.build.fs_start=275771392
solderparty_rp2040_stamp.menu.flash.8388608_1048576.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_2097152=8MB (Sketch: 6MB, FS: 2MB)
solderparty_rp2040_stamp.menu.flash.8388608_2097152.upload.maximum_size=6287360
solderparty_rp2040_stamp.menu.flash.8388608_2097152.build.flash_length=6287360
solderparty_rp2040_stamp.menu.flash.8388608_2097152.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_2097152.build.fs_start=274722816
solderparty_rp2040_stamp.menu.flash.8388608_2097152.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_3145728=8MB (Sketch: 5MB, FS: 3MB)
solderparty_rp2040_stamp.menu.flash.8388608_3145728.upload.maximum_size=5238784
solderparty_rp2040_stamp.menu.flash.8388608_3145728.build.flash_length=5238784
solderparty_rp2040_stamp.menu.flash.8388608_3145728.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_3145728.build.fs_start=273674240
solderparty_rp2040_stamp.menu.flash.8388608_3145728.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_4194304=8MB (Sketch: 4MB, FS: 4MB)
solderparty_rp2040_stamp.menu.flash.8388608_4194304.upload.maximum_size=4190208
solderparty_rp2040_stamp.menu.flash.8388608_4194304.build.flash_length=4190208
solderparty_rp2040_stamp.menu.flash.8388608_4194304.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_4194304.build.fs_start=272625664
solderparty_rp2040_stamp.menu.flash.8388608_4194304.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_5242880=8MB (Sketch: 3MB, FS: 5MB)
solderparty_rp2040_stamp.menu.flash.8388608_5242880.upload.maximum_size=3141632
solderparty_rp2040_stamp.menu.flash.8388608_5242880.build.flash_length=3141632
solderparty_rp2040_stamp.menu.flash.8388608_5242880.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_5242880.build.fs_start=271577088
solderparty_rp2040_stamp.menu.flash.8388608_5242880.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_6291456=8MB (Sketch: 2MB, FS: 6MB)
solderparty_rp2040_stamp.menu.flash.8388608_6291456.upload.maximum_size=2093056
solderparty_rp2040_stamp.menu.flash.8388608_6291456.build.flash_length=2093056
solderparty_rp2040_stamp.menu.flash.8388608_6291456.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_6291456.build.fs_start=270528512
solderparty_rp2040_stamp.menu.flash.8388608_6291456.build.fs_end=276819968
solderparty_rp2040_stamp.menu.flash.8388608_7340032=8MB (Sketch: 1MB, FS: 7MB)
solderparty_rp2040_stamp.menu.flash.8388608_7340032.upload.maximum_size=1044480
solderparty_rp2040_stamp.menu.flash.8388608_7340032.build.flash_length=1044480
solderparty_rp2040_stamp.menu.flash.8388608_7340032.build.eeprom_start=276819968
solderparty_rp2040_stamp.menu.flash.8388608_7340032.build.fs_start=269479936
solderparty_rp2040_stamp.menu.flash.8388608_7340032.build.fs_end=276819968
solderparty_rp2040_stamp.menu.freq.125=125 MHz
solderparty_rp2040_stamp.menu.freq.125.build.f_cpu=125000000L
solderparty_rp2040_stamp.menu.freq.50=50 MHz
solderparty_rp2040_stamp.menu.freq.50.build.f_cpu=50000000L
solderparty_rp2040_stamp.menu.freq.100=100 MHz
solderparty_rp2040_stamp.menu.freq.100.build.f_cpu=100000000L
solderparty_rp2040_stamp.menu.freq.133=133 MHz
solderparty_rp2040_stamp.menu.freq.133.build.f_cpu=133000000L
solderparty_rp2040_stamp.menu.freq.150=150 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.150.build.f_cpu=150000000L
solderparty_rp2040_stamp.menu.freq.175=175 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.175.build.f_cpu=175000000L
solderparty_rp2040_stamp.menu.freq.200=200 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.200.build.f_cpu=200000000L
solderparty_rp2040_stamp.menu.freq.225=225 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.225.build.f_cpu=225000000L
solderparty_rp2040_stamp.menu.freq.250=250 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.250.build.f_cpu=250000000L
solderparty_rp2040_stamp.menu.freq.275=275 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.275.build.f_cpu=275000000L
solderparty_rp2040_stamp.menu.freq.300=300 MHz (Overclock)
solderparty_rp2040_stamp.menu.freq.300.build.f_cpu=300000000L
solderparty_rp2040_stamp.menu.opt.Small=Small (-Os) (standard)
solderparty_rp2040_stamp.menu.opt.Small.build.flags.optimize=-Os
solderparty_rp2040_stamp.menu.opt.Optimize=Optimize (-O)
solderparty_rp2040_stamp.menu.opt.Optimize.build.flags.optimize=-O
solderparty_rp2040_stamp.menu.opt.Optimize2=Optimize More (-O2)
solderparty_rp2040_stamp.menu.opt.Optimize2.build.flags.optimize=-O2
solderparty_rp2040_stamp.menu.opt.Optimize3=Optimize Even More (-O3)
solderparty_rp2040_stamp.menu.opt.Optimize3.build.flags.optimize=-O3
solderparty_rp2040_stamp.menu.opt.Fast=Fast (-Ofast) (maybe slower)
solderparty_rp2040_stamp.menu.opt.Fast.build.flags.optimize=-Ofast
solderparty_rp2040_stamp.menu.opt.Debug=Debug (-Og)
solderparty_rp2040_stamp.menu.opt.Debug.build.flags.optimize=-Og
solderparty_rp2040_stamp.menu.rtti.Disabled=Disabled
solderparty_rp2040_stamp.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
solderparty_rp2040_stamp.menu.rtti.Enabled=Enabled
solderparty_rp2040_stamp.menu.rtti.Enabled.build.flags.rtti=
solderparty_rp2040_stamp.menu.dbgport.Disabled=Disabled
solderparty_rp2040_stamp.menu.dbgport.Disabled.build.debug_port=
solderparty_rp2040_stamp.menu.dbgport.Serial=Serial
solderparty_rp2040_stamp.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
solderparty_rp2040_stamp.menu.dbgport.Serial1=Serial1
solderparty_rp2040_stamp.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
solderparty_rp2040_stamp.menu.dbgport.Serial2=Serial2
solderparty_rp2040_stamp.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
solderparty_rp2040_stamp.menu.dbglvl.None=None
solderparty_rp2040_stamp.menu.dbglvl.None.build.debug_level=
solderparty_rp2040_stamp.menu.dbglvl.Core=Core
solderparty_rp2040_stamp.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
solderparty_rp2040_stamp.menu.dbglvl.SPI=SPI
solderparty_rp2040_stamp.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
solderparty_rp2040_stamp.menu.dbglvl.Wire=Wire
solderparty_rp2040_stamp.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
solderparty_rp2040_stamp.menu.dbglvl.All=All
solderparty_rp2040_stamp.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
solderparty_rp2040_stamp.menu.dbglvl.NDEBUG=NDEBUG
solderparty_rp2040_stamp.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
solderparty_rp2040_stamp.menu.usbstack.picosdk=Pico SDK
solderparty_rp2040_stamp.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico"
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"
# -----------------------------------
# Solder Party RP2040 Stamp (Picoprobe)
# -----------------------------------
solderparty_rp2040_stamppicoprobe.name=Solder Party RP2040 Stamp (Picoprobe)
solderparty_rp2040_stamppicoprobe.vid.0=0x1209
solderparty_rp2040_stamppicoprobe.pid.0=0x0004
solderparty_rp2040_stamppicoprobe.build.usbpid=-DSERIALUSB_PID=0xa182
solderparty_rp2040_stamppicoprobe.build.usbpwr=-DUSBD_MAX_POWER_MA=500
solderparty_rp2040_stamppicoprobe.build.board=SOLDERPARTY_RP2040_STAMP
solderparty_rp2040_stamppicoprobe.build.mcu=cortex-m0plus
solderparty_rp2040_stamppicoprobe.build.variant=solderparty_rp2040_stamp
solderparty_rp2040_stamppicoprobe.upload.tool=picoprobe
solderparty_rp2040_stamppicoprobe.upload.maximum_size=8388608
solderparty_rp2040_stamppicoprobe.upload.maximum_data_size=262144
solderparty_rp2040_stamppicoprobe.upload.wait_for_upload_port=true
solderparty_rp2040_stamppicoprobe.upload.erase_cmd=
solderparty_rp2040_stamppicoprobe.serial.disableDTR=false
solderparty_rp2040_stamppicoprobe.serial.disableRTS=false
solderparty_rp2040_stamppicoprobe.build.f_cpu=125000000
solderparty_rp2040_stamppicoprobe.build.led=
solderparty_rp2040_stamppicoprobe.build.core=rp2040
solderparty_rp2040_stamppicoprobe.build.ldscript=memmap_default.ld
solderparty_rp2040_stamppicoprobe.build.ram_length=256k
solderparty_rp2040_stamppicoprobe.build.boot2=boot2_generic_03h_4_padded_checksum
solderparty_rp2040_stamppicoprobe.build.vid=0x1209
solderparty_rp2040_stamppicoprobe.build.pid=0xa182
solderparty_rp2040_stamppicoprobe.build.usb_manufacturer="Solder Party"
solderparty_rp2040_stamppicoprobe.build.usb_product="RP2040 Stamp (Picoprobe)"
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0=8MB (no FS)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0.upload.maximum_size=8384512
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0.build.flash_length=8384512
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0.build.fs_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_0.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536=8MB (Sketch: 8128KB, FS: 64KB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536.upload.maximum_size=8318976
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536.build.flash_length=8318976
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536.build.fs_start=276754432
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_65536.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072=8MB (Sketch: 8064KB, FS: 128KB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072.upload.maximum_size=8253440
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072.build.flash_length=8253440
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072.build.fs_start=276688896
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_131072.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144=8MB (Sketch: 7936KB, FS: 256KB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144.upload.maximum_size=8122368
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144.build.flash_length=8122368
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144.build.fs_start=276557824
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_262144.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288=8MB (Sketch: 7680KB, FS: 512KB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288.upload.maximum_size=7860224
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288.build.flash_length=7860224
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288.build.fs_start=276295680
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_524288.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576=8MB (Sketch: 7MB, FS: 1MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576.upload.maximum_size=7335936
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576.build.flash_length=7335936
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576.build.fs_start=275771392
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_1048576.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152=8MB (Sketch: 6MB, FS: 2MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152.upload.maximum_size=6287360
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152.build.flash_length=6287360
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152.build.fs_start=274722816
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_2097152.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728=8MB (Sketch: 5MB, FS: 3MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728.upload.maximum_size=5238784
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728.build.flash_length=5238784
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728.build.fs_start=273674240
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_3145728.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304=8MB (Sketch: 4MB, FS: 4MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304.upload.maximum_size=4190208
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304.build.flash_length=4190208
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304.build.fs_start=272625664
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_4194304.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880=8MB (Sketch: 3MB, FS: 5MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880.upload.maximum_size=3141632
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880.build.flash_length=3141632
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880.build.fs_start=271577088
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_5242880.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456=8MB (Sketch: 2MB, FS: 6MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456.upload.maximum_size=2093056
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456.build.flash_length=2093056
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456.build.fs_start=270528512
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_6291456.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032=8MB (Sketch: 1MB, FS: 7MB)
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032.upload.maximum_size=1044480
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032.build.flash_length=1044480
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032.build.eeprom_start=276819968
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032.build.fs_start=269479936
solderparty_rp2040_stamppicoprobe.menu.flash.8388608_7340032.build.fs_end=276819968
solderparty_rp2040_stamppicoprobe.menu.freq.125=125 MHz
solderparty_rp2040_stamppicoprobe.menu.freq.125.build.f_cpu=125000000L
solderparty_rp2040_stamppicoprobe.menu.freq.50=50 MHz
solderparty_rp2040_stamppicoprobe.menu.freq.50.build.f_cpu=50000000L
solderparty_rp2040_stamppicoprobe.menu.freq.100=100 MHz
solderparty_rp2040_stamppicoprobe.menu.freq.100.build.f_cpu=100000000L
solderparty_rp2040_stamppicoprobe.menu.freq.133=133 MHz
solderparty_rp2040_stamppicoprobe.menu.freq.133.build.f_cpu=133000000L
solderparty_rp2040_stamppicoprobe.menu.freq.150=150 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.150.build.f_cpu=150000000L
solderparty_rp2040_stamppicoprobe.menu.freq.175=175 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.175.build.f_cpu=175000000L
solderparty_rp2040_stamppicoprobe.menu.freq.200=200 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.200.build.f_cpu=200000000L
solderparty_rp2040_stamppicoprobe.menu.freq.225=225 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.225.build.f_cpu=225000000L
solderparty_rp2040_stamppicoprobe.menu.freq.250=250 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.250.build.f_cpu=250000000L
solderparty_rp2040_stamppicoprobe.menu.freq.275=275 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.275.build.f_cpu=275000000L
solderparty_rp2040_stamppicoprobe.menu.freq.300=300 MHz (Overclock)
solderparty_rp2040_stamppicoprobe.menu.freq.300.build.f_cpu=300000000L
solderparty_rp2040_stamppicoprobe.menu.opt.Small=Small (-Os) (standard)
solderparty_rp2040_stamppicoprobe.menu.opt.Small.build.flags.optimize=-Os
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize=Optimize (-O)
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize.build.flags.optimize=-O
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize2=Optimize More (-O2)
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize2.build.flags.optimize=-O2
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize3=Optimize Even More (-O3)
solderparty_rp2040_stamppicoprobe.menu.opt.Optimize3.build.flags.optimize=-O3
solderparty_rp2040_stamppicoprobe.menu.opt.Fast=Fast (-Ofast) (maybe slower)
solderparty_rp2040_stamppicoprobe.menu.opt.Fast.build.flags.optimize=-Ofast
solderparty_rp2040_stamppicoprobe.menu.opt.Debug=Debug (-Og)
solderparty_rp2040_stamppicoprobe.menu.opt.Debug.build.flags.optimize=-Og
solderparty_rp2040_stamppicoprobe.menu.rtti.Disabled=Disabled
solderparty_rp2040_stamppicoprobe.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
solderparty_rp2040_stamppicoprobe.menu.rtti.Enabled=Enabled
solderparty_rp2040_stamppicoprobe.menu.rtti.Enabled.build.flags.rtti=
solderparty_rp2040_stamppicoprobe.menu.dbgport.Disabled=Disabled
solderparty_rp2040_stamppicoprobe.menu.dbgport.Disabled.build.debug_port=
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial=Serial
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial1=Serial1
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial2=Serial2
solderparty_rp2040_stamppicoprobe.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
solderparty_rp2040_stamppicoprobe.menu.dbglvl.None=None
solderparty_rp2040_stamppicoprobe.menu.dbglvl.None.build.debug_level=
solderparty_rp2040_stamppicoprobe.menu.dbglvl.Core=Core
solderparty_rp2040_stamppicoprobe.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
solderparty_rp2040_stamppicoprobe.menu.dbglvl.SPI=SPI
solderparty_rp2040_stamppicoprobe.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
solderparty_rp2040_stamppicoprobe.menu.dbglvl.Wire=Wire
solderparty_rp2040_stamppicoprobe.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
solderparty_rp2040_stamppicoprobe.menu.dbglvl.All=All
solderparty_rp2040_stamppicoprobe.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
solderparty_rp2040_stamppicoprobe.menu.dbglvl.NDEBUG=NDEBUG
solderparty_rp2040_stamppicoprobe.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
solderparty_rp2040_stamppicoprobe.menu.usbstack.picosdk=Pico SDK
solderparty_rp2040_stamppicoprobe.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico"
solderparty_rp2040_stamppicoprobe.menu.usbstack.tinyusb=Adafruit TinyUSB
solderparty_rp2040_stamppicoprobe.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
# -----------------------------------
# Solder Party RP2040 Stamp (pico-debug)
# -----------------------------------
solderparty_rp2040_stamppicodebug.name=Solder Party RP2040 Stamp (pico-debug)
solderparty_rp2040_stamppicodebug.vid.0=0x1209
solderparty_rp2040_stamppicodebug.pid.0=0x2488
solderparty_rp2040_stamppicodebug.build.usbpid=-DSERIALUSB_PID=0xa182
solderparty_rp2040_stamppicodebug.build.usbpwr=-DUSBD_MAX_POWER_MA=500
solderparty_rp2040_stamppicodebug.build.board=SOLDERPARTY_RP2040_STAMP
solderparty_rp2040_stamppicodebug.build.mcu=cortex-m0plus
solderparty_rp2040_stamppicodebug.build.variant=solderparty_rp2040_stamp
solderparty_rp2040_stamppicodebug.upload.tool=picodebug
solderparty_rp2040_stamppicodebug.upload.maximum_size=8388608
solderparty_rp2040_stamppicodebug.upload.maximum_data_size=245760
solderparty_rp2040_stamppicodebug.upload.wait_for_upload_port=true
solderparty_rp2040_stamppicodebug.upload.erase_cmd=
solderparty_rp2040_stamppicodebug.serial.disableDTR=false
solderparty_rp2040_stamppicodebug.serial.disableRTS=false
solderparty_rp2040_stamppicodebug.build.f_cpu=125000000
solderparty_rp2040_stamppicodebug.build.led=
solderparty_rp2040_stamppicodebug.build.core=rp2040
solderparty_rp2040_stamppicodebug.build.ldscript=memmap_default.ld
solderparty_rp2040_stamppicodebug.build.ram_length=240k
solderparty_rp2040_stamppicodebug.build.boot2=boot2_generic_03h_4_padded_checksum
solderparty_rp2040_stamppicodebug.build.vid=0x1209
solderparty_rp2040_stamppicodebug.build.pid=0xa182
solderparty_rp2040_stamppicodebug.build.usb_manufacturer="Solder Party"
solderparty_rp2040_stamppicodebug.build.usb_product="RP2040 Stamp (pico-debug)"
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0=8MB (no FS)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0.upload.maximum_size=8384512
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0.build.flash_length=8384512
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0.build.fs_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_0.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536=8MB (Sketch: 8128KB, FS: 64KB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536.upload.maximum_size=8318976
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536.build.flash_length=8318976
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536.build.fs_start=276754432
solderparty_rp2040_stamppicodebug.menu.flash.8388608_65536.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072=8MB (Sketch: 8064KB, FS: 128KB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072.upload.maximum_size=8253440
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072.build.flash_length=8253440
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072.build.fs_start=276688896
solderparty_rp2040_stamppicodebug.menu.flash.8388608_131072.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144=8MB (Sketch: 7936KB, FS: 256KB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144.upload.maximum_size=8122368
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144.build.flash_length=8122368
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144.build.fs_start=276557824
solderparty_rp2040_stamppicodebug.menu.flash.8388608_262144.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288=8MB (Sketch: 7680KB, FS: 512KB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288.upload.maximum_size=7860224
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288.build.flash_length=7860224
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288.build.fs_start=276295680
solderparty_rp2040_stamppicodebug.menu.flash.8388608_524288.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576=8MB (Sketch: 7MB, FS: 1MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576.upload.maximum_size=7335936
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576.build.flash_length=7335936
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576.build.fs_start=275771392
solderparty_rp2040_stamppicodebug.menu.flash.8388608_1048576.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152=8MB (Sketch: 6MB, FS: 2MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152.upload.maximum_size=6287360
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152.build.flash_length=6287360
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152.build.fs_start=274722816
solderparty_rp2040_stamppicodebug.menu.flash.8388608_2097152.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728=8MB (Sketch: 5MB, FS: 3MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728.upload.maximum_size=5238784
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728.build.flash_length=5238784
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728.build.fs_start=273674240
solderparty_rp2040_stamppicodebug.menu.flash.8388608_3145728.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304=8MB (Sketch: 4MB, FS: 4MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304.upload.maximum_size=4190208
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304.build.flash_length=4190208
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304.build.fs_start=272625664
solderparty_rp2040_stamppicodebug.menu.flash.8388608_4194304.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880=8MB (Sketch: 3MB, FS: 5MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880.upload.maximum_size=3141632
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880.build.flash_length=3141632
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880.build.fs_start=271577088
solderparty_rp2040_stamppicodebug.menu.flash.8388608_5242880.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456=8MB (Sketch: 2MB, FS: 6MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456.upload.maximum_size=2093056
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456.build.flash_length=2093056
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456.build.fs_start=270528512
solderparty_rp2040_stamppicodebug.menu.flash.8388608_6291456.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032=8MB (Sketch: 1MB, FS: 7MB)
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032.upload.maximum_size=1044480
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032.build.flash_length=1044480
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032.build.eeprom_start=276819968
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032.build.fs_start=269479936
solderparty_rp2040_stamppicodebug.menu.flash.8388608_7340032.build.fs_end=276819968
solderparty_rp2040_stamppicodebug.menu.freq.125=125 MHz
solderparty_rp2040_stamppicodebug.menu.freq.125.build.f_cpu=125000000L
solderparty_rp2040_stamppicodebug.menu.freq.50=50 MHz
solderparty_rp2040_stamppicodebug.menu.freq.50.build.f_cpu=50000000L
solderparty_rp2040_stamppicodebug.menu.freq.100=100 MHz
solderparty_rp2040_stamppicodebug.menu.freq.100.build.f_cpu=100000000L
solderparty_rp2040_stamppicodebug.menu.freq.133=133 MHz
solderparty_rp2040_stamppicodebug.menu.freq.133.build.f_cpu=133000000L
solderparty_rp2040_stamppicodebug.menu.freq.150=150 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.150.build.f_cpu=150000000L
solderparty_rp2040_stamppicodebug.menu.freq.175=175 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.175.build.f_cpu=175000000L
solderparty_rp2040_stamppicodebug.menu.freq.200=200 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.200.build.f_cpu=200000000L
solderparty_rp2040_stamppicodebug.menu.freq.225=225 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.225.build.f_cpu=225000000L
solderparty_rp2040_stamppicodebug.menu.freq.250=250 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.250.build.f_cpu=250000000L
solderparty_rp2040_stamppicodebug.menu.freq.275=275 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.275.build.f_cpu=275000000L
solderparty_rp2040_stamppicodebug.menu.freq.300=300 MHz (Overclock)
solderparty_rp2040_stamppicodebug.menu.freq.300.build.f_cpu=300000000L
solderparty_rp2040_stamppicodebug.menu.opt.Small=Small (-Os) (standard)
solderparty_rp2040_stamppicodebug.menu.opt.Small.build.flags.optimize=-Os
solderparty_rp2040_stamppicodebug.menu.opt.Optimize=Optimize (-O)
solderparty_rp2040_stamppicodebug.menu.opt.Optimize.build.flags.optimize=-O
solderparty_rp2040_stamppicodebug.menu.opt.Optimize2=Optimize More (-O2)
solderparty_rp2040_stamppicodebug.menu.opt.Optimize2.build.flags.optimize=-O2
solderparty_rp2040_stamppicodebug.menu.opt.Optimize3=Optimize Even More (-O3)
solderparty_rp2040_stamppicodebug.menu.opt.Optimize3.build.flags.optimize=-O3
solderparty_rp2040_stamppicodebug.menu.opt.Fast=Fast (-Ofast) (maybe slower)
solderparty_rp2040_stamppicodebug.menu.opt.Fast.build.flags.optimize=-Ofast
solderparty_rp2040_stamppicodebug.menu.opt.Debug=Debug (-Og)
solderparty_rp2040_stamppicodebug.menu.opt.Debug.build.flags.optimize=-Og
solderparty_rp2040_stamppicodebug.menu.rtti.Disabled=Disabled
solderparty_rp2040_stamppicodebug.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
solderparty_rp2040_stamppicodebug.menu.rtti.Enabled=Enabled
solderparty_rp2040_stamppicodebug.menu.rtti.Enabled.build.flags.rtti=
solderparty_rp2040_stamppicodebug.menu.dbgport.Disabled=Disabled
solderparty_rp2040_stamppicodebug.menu.dbgport.Disabled.build.debug_port=
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial=Serial
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial1=Serial1
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial2=Serial2
solderparty_rp2040_stamppicodebug.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
solderparty_rp2040_stamppicodebug.menu.dbglvl.None=None
solderparty_rp2040_stamppicodebug.menu.dbglvl.None.build.debug_level=
solderparty_rp2040_stamppicodebug.menu.dbglvl.Core=Core
solderparty_rp2040_stamppicodebug.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
solderparty_rp2040_stamppicodebug.menu.dbglvl.SPI=SPI
solderparty_rp2040_stamppicodebug.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
solderparty_rp2040_stamppicodebug.menu.dbglvl.Wire=Wire
solderparty_rp2040_stamppicodebug.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
solderparty_rp2040_stamppicodebug.menu.dbglvl.All=All
solderparty_rp2040_stamppicodebug.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
solderparty_rp2040_stamppicodebug.menu.dbglvl.NDEBUG=NDEBUG
solderparty_rp2040_stamppicodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
solderparty_rp2040_stamppicodebug.menu.usbstack.nousb=No USB
solderparty_rp2040_stamppicodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
# -----------------------------------
# uPesy RP2040 DevKit
# -----------------------------------
@@ -9619,3 +10106,418 @@ wiznet_5100s_evb_picopicodebug.menu.dbglvl.NDEBUG=NDEBUG
wiznet_5100s_evb_picopicodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
wiznet_5100s_evb_picopicodebug.menu.usbstack.nousb=No USB
wiznet_5100s_evb_picopicodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
# -----------------------------------
# DeRuiLab FlyBoard2040Core
# -----------------------------------
flyboard2040_core.name=DeRuiLab FlyBoard2040Core
flyboard2040_core.vid.0=0x2e8a
flyboard2040_core.pid.0=0x008a
flyboard2040_core.build.usbpid=-DSERIALUSB_PID=0x008a
flyboard2040_core.build.usbpwr=-DUSBD_MAX_POWER_MA=500
flyboard2040_core.build.board=FLYBOARD2040_CORE
flyboard2040_core.build.mcu=cortex-m0plus
flyboard2040_core.build.variant=flyboard2040_core
flyboard2040_core.upload.tool=uf2conv
flyboard2040_core.upload.maximum_size=4194304
flyboard2040_core.upload.maximum_data_size=262144
flyboard2040_core.upload.wait_for_upload_port=true
flyboard2040_core.upload.erase_cmd=
flyboard2040_core.serial.disableDTR=false
flyboard2040_core.serial.disableRTS=false
flyboard2040_core.build.f_cpu=125000000
flyboard2040_core.build.led=
flyboard2040_core.build.core=rp2040
flyboard2040_core.build.ldscript=memmap_default.ld
flyboard2040_core.build.ram_length=256k
flyboard2040_core.build.boot2=boot2_generic_03h_4_padded_checksum
flyboard2040_core.build.vid=0x2e8a
flyboard2040_core.build.pid=0x008a
flyboard2040_core.build.usb_manufacturer="DeRuiLab"
flyboard2040_core.build.usb_product="FlyBoard2040Core"
flyboard2040_core.menu.flash.4194304_0=4MB (no FS)
flyboard2040_core.menu.flash.4194304_0.upload.maximum_size=4190208
flyboard2040_core.menu.flash.4194304_0.build.flash_length=4190208
flyboard2040_core.menu.flash.4194304_0.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_0.build.fs_start=272625664
flyboard2040_core.menu.flash.4194304_0.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_65536=4MB (Sketch: 4032KB, FS: 64KB)
flyboard2040_core.menu.flash.4194304_65536.upload.maximum_size=4124672
flyboard2040_core.menu.flash.4194304_65536.build.flash_length=4124672
flyboard2040_core.menu.flash.4194304_65536.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_65536.build.fs_start=272560128
flyboard2040_core.menu.flash.4194304_65536.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_131072=4MB (Sketch: 3968KB, FS: 128KB)
flyboard2040_core.menu.flash.4194304_131072.upload.maximum_size=4059136
flyboard2040_core.menu.flash.4194304_131072.build.flash_length=4059136
flyboard2040_core.menu.flash.4194304_131072.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_131072.build.fs_start=272494592
flyboard2040_core.menu.flash.4194304_131072.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_262144=4MB (Sketch: 3840KB, FS: 256KB)
flyboard2040_core.menu.flash.4194304_262144.upload.maximum_size=3928064
flyboard2040_core.menu.flash.4194304_262144.build.flash_length=3928064
flyboard2040_core.menu.flash.4194304_262144.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_262144.build.fs_start=272363520
flyboard2040_core.menu.flash.4194304_262144.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_524288=4MB (Sketch: 3584KB, FS: 512KB)
flyboard2040_core.menu.flash.4194304_524288.upload.maximum_size=3665920
flyboard2040_core.menu.flash.4194304_524288.build.flash_length=3665920
flyboard2040_core.menu.flash.4194304_524288.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_524288.build.fs_start=272101376
flyboard2040_core.menu.flash.4194304_524288.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_1048576=4MB (Sketch: 3MB, FS: 1MB)
flyboard2040_core.menu.flash.4194304_1048576.upload.maximum_size=3141632
flyboard2040_core.menu.flash.4194304_1048576.build.flash_length=3141632
flyboard2040_core.menu.flash.4194304_1048576.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_1048576.build.fs_start=271577088
flyboard2040_core.menu.flash.4194304_1048576.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_2097152=4MB (Sketch: 2MB, FS: 2MB)
flyboard2040_core.menu.flash.4194304_2097152.upload.maximum_size=2093056
flyboard2040_core.menu.flash.4194304_2097152.build.flash_length=2093056
flyboard2040_core.menu.flash.4194304_2097152.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_2097152.build.fs_start=270528512
flyboard2040_core.menu.flash.4194304_2097152.build.fs_end=272625664
flyboard2040_core.menu.flash.4194304_3145728=4MB (Sketch: 1MB, FS: 3MB)
flyboard2040_core.menu.flash.4194304_3145728.upload.maximum_size=1044480
flyboard2040_core.menu.flash.4194304_3145728.build.flash_length=1044480
flyboard2040_core.menu.flash.4194304_3145728.build.eeprom_start=272625664
flyboard2040_core.menu.flash.4194304_3145728.build.fs_start=269479936
flyboard2040_core.menu.flash.4194304_3145728.build.fs_end=272625664
flyboard2040_core.menu.freq.125=125 MHz
flyboard2040_core.menu.freq.125.build.f_cpu=125000000L
flyboard2040_core.menu.freq.50=50 MHz
flyboard2040_core.menu.freq.50.build.f_cpu=50000000L
flyboard2040_core.menu.freq.100=100 MHz
flyboard2040_core.menu.freq.100.build.f_cpu=100000000L
flyboard2040_core.menu.freq.133=133 MHz
flyboard2040_core.menu.freq.133.build.f_cpu=133000000L
flyboard2040_core.menu.freq.150=150 MHz (Overclock)
flyboard2040_core.menu.freq.150.build.f_cpu=150000000L
flyboard2040_core.menu.freq.175=175 MHz (Overclock)
flyboard2040_core.menu.freq.175.build.f_cpu=175000000L
flyboard2040_core.menu.freq.200=200 MHz (Overclock)
flyboard2040_core.menu.freq.200.build.f_cpu=200000000L
flyboard2040_core.menu.freq.225=225 MHz (Overclock)
flyboard2040_core.menu.freq.225.build.f_cpu=225000000L
flyboard2040_core.menu.freq.250=250 MHz (Overclock)
flyboard2040_core.menu.freq.250.build.f_cpu=250000000L
flyboard2040_core.menu.freq.275=275 MHz (Overclock)
flyboard2040_core.menu.freq.275.build.f_cpu=275000000L
flyboard2040_core.menu.freq.300=300 MHz (Overclock)
flyboard2040_core.menu.freq.300.build.f_cpu=300000000L
flyboard2040_core.menu.opt.Small=Small (-Os) (standard)
flyboard2040_core.menu.opt.Small.build.flags.optimize=-Os
flyboard2040_core.menu.opt.Optimize=Optimize (-O)
flyboard2040_core.menu.opt.Optimize.build.flags.optimize=-O
flyboard2040_core.menu.opt.Optimize2=Optimize More (-O2)
flyboard2040_core.menu.opt.Optimize2.build.flags.optimize=-O2
flyboard2040_core.menu.opt.Optimize3=Optimize Even More (-O3)
flyboard2040_core.menu.opt.Optimize3.build.flags.optimize=-O3
flyboard2040_core.menu.opt.Fast=Fast (-Ofast) (maybe slower)
flyboard2040_core.menu.opt.Fast.build.flags.optimize=-Ofast
flyboard2040_core.menu.opt.Debug=Debug (-Og)
flyboard2040_core.menu.opt.Debug.build.flags.optimize=-Og
flyboard2040_core.menu.rtti.Disabled=Disabled
flyboard2040_core.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
flyboard2040_core.menu.rtti.Enabled=Enabled
flyboard2040_core.menu.rtti.Enabled.build.flags.rtti=
flyboard2040_core.menu.dbgport.Disabled=Disabled
flyboard2040_core.menu.dbgport.Disabled.build.debug_port=
flyboard2040_core.menu.dbgport.Serial=Serial
flyboard2040_core.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
flyboard2040_core.menu.dbgport.Serial1=Serial1
flyboard2040_core.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
flyboard2040_core.menu.dbgport.Serial2=Serial2
flyboard2040_core.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
flyboard2040_core.menu.dbglvl.None=None
flyboard2040_core.menu.dbglvl.None.build.debug_level=
flyboard2040_core.menu.dbglvl.Core=Core
flyboard2040_core.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
flyboard2040_core.menu.dbglvl.SPI=SPI
flyboard2040_core.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
flyboard2040_core.menu.dbglvl.Wire=Wire
flyboard2040_core.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
flyboard2040_core.menu.dbglvl.All=All
flyboard2040_core.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
flyboard2040_core.menu.dbglvl.NDEBUG=NDEBUG
flyboard2040_core.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
flyboard2040_core.menu.usbstack.picosdk=Pico SDK
flyboard2040_core.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico"
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"
# -----------------------------------
# DeRuiLab FlyBoard2040Core (Picoprobe)
# -----------------------------------
flyboard2040_corepicoprobe.name=DeRuiLab FlyBoard2040Core (Picoprobe)
flyboard2040_corepicoprobe.vid.0=0x2e8a
flyboard2040_corepicoprobe.pid.0=0x0004
flyboard2040_corepicoprobe.build.usbpid=-DSERIALUSB_PID=0x008a
flyboard2040_corepicoprobe.build.usbpwr=-DUSBD_MAX_POWER_MA=500
flyboard2040_corepicoprobe.build.board=FLYBOARD2040_CORE
flyboard2040_corepicoprobe.build.mcu=cortex-m0plus
flyboard2040_corepicoprobe.build.variant=flyboard2040_core
flyboard2040_corepicoprobe.upload.tool=picoprobe
flyboard2040_corepicoprobe.upload.maximum_size=4194304
flyboard2040_corepicoprobe.upload.maximum_data_size=262144
flyboard2040_corepicoprobe.upload.wait_for_upload_port=true
flyboard2040_corepicoprobe.upload.erase_cmd=
flyboard2040_corepicoprobe.serial.disableDTR=false
flyboard2040_corepicoprobe.serial.disableRTS=false
flyboard2040_corepicoprobe.build.f_cpu=125000000
flyboard2040_corepicoprobe.build.led=
flyboard2040_corepicoprobe.build.core=rp2040
flyboard2040_corepicoprobe.build.ldscript=memmap_default.ld
flyboard2040_corepicoprobe.build.ram_length=256k
flyboard2040_corepicoprobe.build.boot2=boot2_generic_03h_4_padded_checksum
flyboard2040_corepicoprobe.build.vid=0x2e8a
flyboard2040_corepicoprobe.build.pid=0x008a
flyboard2040_corepicoprobe.build.usb_manufacturer="DeRuiLab"
flyboard2040_corepicoprobe.build.usb_product="FlyBoard2040Core (Picoprobe)"
flyboard2040_corepicoprobe.menu.flash.4194304_0=4MB (no FS)
flyboard2040_corepicoprobe.menu.flash.4194304_0.upload.maximum_size=4190208
flyboard2040_corepicoprobe.menu.flash.4194304_0.build.flash_length=4190208
flyboard2040_corepicoprobe.menu.flash.4194304_0.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_0.build.fs_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_0.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_65536=4MB (Sketch: 4032KB, FS: 64KB)
flyboard2040_corepicoprobe.menu.flash.4194304_65536.upload.maximum_size=4124672
flyboard2040_corepicoprobe.menu.flash.4194304_65536.build.flash_length=4124672
flyboard2040_corepicoprobe.menu.flash.4194304_65536.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_65536.build.fs_start=272560128
flyboard2040_corepicoprobe.menu.flash.4194304_65536.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_131072=4MB (Sketch: 3968KB, FS: 128KB)
flyboard2040_corepicoprobe.menu.flash.4194304_131072.upload.maximum_size=4059136
flyboard2040_corepicoprobe.menu.flash.4194304_131072.build.flash_length=4059136
flyboard2040_corepicoprobe.menu.flash.4194304_131072.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_131072.build.fs_start=272494592
flyboard2040_corepicoprobe.menu.flash.4194304_131072.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_262144=4MB (Sketch: 3840KB, FS: 256KB)
flyboard2040_corepicoprobe.menu.flash.4194304_262144.upload.maximum_size=3928064
flyboard2040_corepicoprobe.menu.flash.4194304_262144.build.flash_length=3928064
flyboard2040_corepicoprobe.menu.flash.4194304_262144.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_262144.build.fs_start=272363520
flyboard2040_corepicoprobe.menu.flash.4194304_262144.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_524288=4MB (Sketch: 3584KB, FS: 512KB)
flyboard2040_corepicoprobe.menu.flash.4194304_524288.upload.maximum_size=3665920
flyboard2040_corepicoprobe.menu.flash.4194304_524288.build.flash_length=3665920
flyboard2040_corepicoprobe.menu.flash.4194304_524288.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_524288.build.fs_start=272101376
flyboard2040_corepicoprobe.menu.flash.4194304_524288.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_1048576=4MB (Sketch: 3MB, FS: 1MB)
flyboard2040_corepicoprobe.menu.flash.4194304_1048576.upload.maximum_size=3141632
flyboard2040_corepicoprobe.menu.flash.4194304_1048576.build.flash_length=3141632
flyboard2040_corepicoprobe.menu.flash.4194304_1048576.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_1048576.build.fs_start=271577088
flyboard2040_corepicoprobe.menu.flash.4194304_1048576.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_2097152=4MB (Sketch: 2MB, FS: 2MB)
flyboard2040_corepicoprobe.menu.flash.4194304_2097152.upload.maximum_size=2093056
flyboard2040_corepicoprobe.menu.flash.4194304_2097152.build.flash_length=2093056
flyboard2040_corepicoprobe.menu.flash.4194304_2097152.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_2097152.build.fs_start=270528512
flyboard2040_corepicoprobe.menu.flash.4194304_2097152.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_3145728=4MB (Sketch: 1MB, FS: 3MB)
flyboard2040_corepicoprobe.menu.flash.4194304_3145728.upload.maximum_size=1044480
flyboard2040_corepicoprobe.menu.flash.4194304_3145728.build.flash_length=1044480
flyboard2040_corepicoprobe.menu.flash.4194304_3145728.build.eeprom_start=272625664
flyboard2040_corepicoprobe.menu.flash.4194304_3145728.build.fs_start=269479936
flyboard2040_corepicoprobe.menu.flash.4194304_3145728.build.fs_end=272625664
flyboard2040_corepicoprobe.menu.freq.125=125 MHz
flyboard2040_corepicoprobe.menu.freq.125.build.f_cpu=125000000L
flyboard2040_corepicoprobe.menu.freq.50=50 MHz
flyboard2040_corepicoprobe.menu.freq.50.build.f_cpu=50000000L
flyboard2040_corepicoprobe.menu.freq.100=100 MHz
flyboard2040_corepicoprobe.menu.freq.100.build.f_cpu=100000000L
flyboard2040_corepicoprobe.menu.freq.133=133 MHz
flyboard2040_corepicoprobe.menu.freq.133.build.f_cpu=133000000L
flyboard2040_corepicoprobe.menu.freq.150=150 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.150.build.f_cpu=150000000L
flyboard2040_corepicoprobe.menu.freq.175=175 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.175.build.f_cpu=175000000L
flyboard2040_corepicoprobe.menu.freq.200=200 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.200.build.f_cpu=200000000L
flyboard2040_corepicoprobe.menu.freq.225=225 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.225.build.f_cpu=225000000L
flyboard2040_corepicoprobe.menu.freq.250=250 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.250.build.f_cpu=250000000L
flyboard2040_corepicoprobe.menu.freq.275=275 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.275.build.f_cpu=275000000L
flyboard2040_corepicoprobe.menu.freq.300=300 MHz (Overclock)
flyboard2040_corepicoprobe.menu.freq.300.build.f_cpu=300000000L
flyboard2040_corepicoprobe.menu.opt.Small=Small (-Os) (standard)
flyboard2040_corepicoprobe.menu.opt.Small.build.flags.optimize=-Os
flyboard2040_corepicoprobe.menu.opt.Optimize=Optimize (-O)
flyboard2040_corepicoprobe.menu.opt.Optimize.build.flags.optimize=-O
flyboard2040_corepicoprobe.menu.opt.Optimize2=Optimize More (-O2)
flyboard2040_corepicoprobe.menu.opt.Optimize2.build.flags.optimize=-O2
flyboard2040_corepicoprobe.menu.opt.Optimize3=Optimize Even More (-O3)
flyboard2040_corepicoprobe.menu.opt.Optimize3.build.flags.optimize=-O3
flyboard2040_corepicoprobe.menu.opt.Fast=Fast (-Ofast) (maybe slower)
flyboard2040_corepicoprobe.menu.opt.Fast.build.flags.optimize=-Ofast
flyboard2040_corepicoprobe.menu.opt.Debug=Debug (-Og)
flyboard2040_corepicoprobe.menu.opt.Debug.build.flags.optimize=-Og
flyboard2040_corepicoprobe.menu.rtti.Disabled=Disabled
flyboard2040_corepicoprobe.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
flyboard2040_corepicoprobe.menu.rtti.Enabled=Enabled
flyboard2040_corepicoprobe.menu.rtti.Enabled.build.flags.rtti=
flyboard2040_corepicoprobe.menu.dbgport.Disabled=Disabled
flyboard2040_corepicoprobe.menu.dbgport.Disabled.build.debug_port=
flyboard2040_corepicoprobe.menu.dbgport.Serial=Serial
flyboard2040_corepicoprobe.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
flyboard2040_corepicoprobe.menu.dbgport.Serial1=Serial1
flyboard2040_corepicoprobe.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
flyboard2040_corepicoprobe.menu.dbgport.Serial2=Serial2
flyboard2040_corepicoprobe.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
flyboard2040_corepicoprobe.menu.dbglvl.None=None
flyboard2040_corepicoprobe.menu.dbglvl.None.build.debug_level=
flyboard2040_corepicoprobe.menu.dbglvl.Core=Core
flyboard2040_corepicoprobe.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
flyboard2040_corepicoprobe.menu.dbglvl.SPI=SPI
flyboard2040_corepicoprobe.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
flyboard2040_corepicoprobe.menu.dbglvl.Wire=Wire
flyboard2040_corepicoprobe.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
flyboard2040_corepicoprobe.menu.dbglvl.All=All
flyboard2040_corepicoprobe.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
flyboard2040_corepicoprobe.menu.dbglvl.NDEBUG=NDEBUG
flyboard2040_corepicoprobe.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
flyboard2040_corepicoprobe.menu.usbstack.picosdk=Pico SDK
flyboard2040_corepicoprobe.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico"
flyboard2040_corepicoprobe.menu.usbstack.tinyusb=Adafruit TinyUSB
flyboard2040_corepicoprobe.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
# -----------------------------------
# DeRuiLab FlyBoard2040Core (pico-debug)
# -----------------------------------
flyboard2040_corepicodebug.name=DeRuiLab FlyBoard2040Core (pico-debug)
flyboard2040_corepicodebug.vid.0=0x1209
flyboard2040_corepicodebug.pid.0=0x2488
flyboard2040_corepicodebug.build.usbpid=-DSERIALUSB_PID=0x008a
flyboard2040_corepicodebug.build.usbpwr=-DUSBD_MAX_POWER_MA=500
flyboard2040_corepicodebug.build.board=FLYBOARD2040_CORE
flyboard2040_corepicodebug.build.mcu=cortex-m0plus
flyboard2040_corepicodebug.build.variant=flyboard2040_core
flyboard2040_corepicodebug.upload.tool=picodebug
flyboard2040_corepicodebug.upload.maximum_size=4194304
flyboard2040_corepicodebug.upload.maximum_data_size=245760
flyboard2040_corepicodebug.upload.wait_for_upload_port=true
flyboard2040_corepicodebug.upload.erase_cmd=
flyboard2040_corepicodebug.serial.disableDTR=false
flyboard2040_corepicodebug.serial.disableRTS=false
flyboard2040_corepicodebug.build.f_cpu=125000000
flyboard2040_corepicodebug.build.led=
flyboard2040_corepicodebug.build.core=rp2040
flyboard2040_corepicodebug.build.ldscript=memmap_default.ld
flyboard2040_corepicodebug.build.ram_length=240k
flyboard2040_corepicodebug.build.boot2=boot2_generic_03h_4_padded_checksum
flyboard2040_corepicodebug.build.vid=0x2e8a
flyboard2040_corepicodebug.build.pid=0x008a
flyboard2040_corepicodebug.build.usb_manufacturer="DeRuiLab"
flyboard2040_corepicodebug.build.usb_product="FlyBoard2040Core (pico-debug)"
flyboard2040_corepicodebug.menu.flash.4194304_0=4MB (no FS)
flyboard2040_corepicodebug.menu.flash.4194304_0.upload.maximum_size=4190208
flyboard2040_corepicodebug.menu.flash.4194304_0.build.flash_length=4190208
flyboard2040_corepicodebug.menu.flash.4194304_0.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_0.build.fs_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_0.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_65536=4MB (Sketch: 4032KB, FS: 64KB)
flyboard2040_corepicodebug.menu.flash.4194304_65536.upload.maximum_size=4124672
flyboard2040_corepicodebug.menu.flash.4194304_65536.build.flash_length=4124672
flyboard2040_corepicodebug.menu.flash.4194304_65536.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_65536.build.fs_start=272560128
flyboard2040_corepicodebug.menu.flash.4194304_65536.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_131072=4MB (Sketch: 3968KB, FS: 128KB)
flyboard2040_corepicodebug.menu.flash.4194304_131072.upload.maximum_size=4059136
flyboard2040_corepicodebug.menu.flash.4194304_131072.build.flash_length=4059136
flyboard2040_corepicodebug.menu.flash.4194304_131072.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_131072.build.fs_start=272494592
flyboard2040_corepicodebug.menu.flash.4194304_131072.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_262144=4MB (Sketch: 3840KB, FS: 256KB)
flyboard2040_corepicodebug.menu.flash.4194304_262144.upload.maximum_size=3928064
flyboard2040_corepicodebug.menu.flash.4194304_262144.build.flash_length=3928064
flyboard2040_corepicodebug.menu.flash.4194304_262144.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_262144.build.fs_start=272363520
flyboard2040_corepicodebug.menu.flash.4194304_262144.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_524288=4MB (Sketch: 3584KB, FS: 512KB)
flyboard2040_corepicodebug.menu.flash.4194304_524288.upload.maximum_size=3665920
flyboard2040_corepicodebug.menu.flash.4194304_524288.build.flash_length=3665920
flyboard2040_corepicodebug.menu.flash.4194304_524288.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_524288.build.fs_start=272101376
flyboard2040_corepicodebug.menu.flash.4194304_524288.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_1048576=4MB (Sketch: 3MB, FS: 1MB)
flyboard2040_corepicodebug.menu.flash.4194304_1048576.upload.maximum_size=3141632
flyboard2040_corepicodebug.menu.flash.4194304_1048576.build.flash_length=3141632
flyboard2040_corepicodebug.menu.flash.4194304_1048576.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_1048576.build.fs_start=271577088
flyboard2040_corepicodebug.menu.flash.4194304_1048576.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_2097152=4MB (Sketch: 2MB, FS: 2MB)
flyboard2040_corepicodebug.menu.flash.4194304_2097152.upload.maximum_size=2093056
flyboard2040_corepicodebug.menu.flash.4194304_2097152.build.flash_length=2093056
flyboard2040_corepicodebug.menu.flash.4194304_2097152.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_2097152.build.fs_start=270528512
flyboard2040_corepicodebug.menu.flash.4194304_2097152.build.fs_end=272625664
flyboard2040_corepicodebug.menu.flash.4194304_3145728=4MB (Sketch: 1MB, FS: 3MB)
flyboard2040_corepicodebug.menu.flash.4194304_3145728.upload.maximum_size=1044480
flyboard2040_corepicodebug.menu.flash.4194304_3145728.build.flash_length=1044480
flyboard2040_corepicodebug.menu.flash.4194304_3145728.build.eeprom_start=272625664
flyboard2040_corepicodebug.menu.flash.4194304_3145728.build.fs_start=269479936
flyboard2040_corepicodebug.menu.flash.4194304_3145728.build.fs_end=272625664
flyboard2040_corepicodebug.menu.freq.125=125 MHz
flyboard2040_corepicodebug.menu.freq.125.build.f_cpu=125000000L
flyboard2040_corepicodebug.menu.freq.50=50 MHz
flyboard2040_corepicodebug.menu.freq.50.build.f_cpu=50000000L
flyboard2040_corepicodebug.menu.freq.100=100 MHz
flyboard2040_corepicodebug.menu.freq.100.build.f_cpu=100000000L
flyboard2040_corepicodebug.menu.freq.133=133 MHz
flyboard2040_corepicodebug.menu.freq.133.build.f_cpu=133000000L
flyboard2040_corepicodebug.menu.freq.150=150 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.150.build.f_cpu=150000000L
flyboard2040_corepicodebug.menu.freq.175=175 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.175.build.f_cpu=175000000L
flyboard2040_corepicodebug.menu.freq.200=200 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.200.build.f_cpu=200000000L
flyboard2040_corepicodebug.menu.freq.225=225 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.225.build.f_cpu=225000000L
flyboard2040_corepicodebug.menu.freq.250=250 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.250.build.f_cpu=250000000L
flyboard2040_corepicodebug.menu.freq.275=275 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.275.build.f_cpu=275000000L
flyboard2040_corepicodebug.menu.freq.300=300 MHz (Overclock)
flyboard2040_corepicodebug.menu.freq.300.build.f_cpu=300000000L
flyboard2040_corepicodebug.menu.opt.Small=Small (-Os) (standard)
flyboard2040_corepicodebug.menu.opt.Small.build.flags.optimize=-Os
flyboard2040_corepicodebug.menu.opt.Optimize=Optimize (-O)
flyboard2040_corepicodebug.menu.opt.Optimize.build.flags.optimize=-O
flyboard2040_corepicodebug.menu.opt.Optimize2=Optimize More (-O2)
flyboard2040_corepicodebug.menu.opt.Optimize2.build.flags.optimize=-O2
flyboard2040_corepicodebug.menu.opt.Optimize3=Optimize Even More (-O3)
flyboard2040_corepicodebug.menu.opt.Optimize3.build.flags.optimize=-O3
flyboard2040_corepicodebug.menu.opt.Fast=Fast (-Ofast) (maybe slower)
flyboard2040_corepicodebug.menu.opt.Fast.build.flags.optimize=-Ofast
flyboard2040_corepicodebug.menu.opt.Debug=Debug (-Og)
flyboard2040_corepicodebug.menu.opt.Debug.build.flags.optimize=-Og
flyboard2040_corepicodebug.menu.rtti.Disabled=Disabled
flyboard2040_corepicodebug.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
flyboard2040_corepicodebug.menu.rtti.Enabled=Enabled
flyboard2040_corepicodebug.menu.rtti.Enabled.build.flags.rtti=
flyboard2040_corepicodebug.menu.dbgport.Disabled=Disabled
flyboard2040_corepicodebug.menu.dbgport.Disabled.build.debug_port=
flyboard2040_corepicodebug.menu.dbgport.Serial=Serial
flyboard2040_corepicodebug.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
flyboard2040_corepicodebug.menu.dbgport.Serial1=Serial1
flyboard2040_corepicodebug.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
flyboard2040_corepicodebug.menu.dbgport.Serial2=Serial2
flyboard2040_corepicodebug.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
flyboard2040_corepicodebug.menu.dbglvl.None=None
flyboard2040_corepicodebug.menu.dbglvl.None.build.debug_level=
flyboard2040_corepicodebug.menu.dbglvl.Core=Core
flyboard2040_corepicodebug.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
flyboard2040_corepicodebug.menu.dbglvl.SPI=SPI
flyboard2040_corepicodebug.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
flyboard2040_corepicodebug.menu.dbglvl.Wire=Wire
flyboard2040_corepicodebug.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
flyboard2040_corepicodebug.menu.dbglvl.All=All
flyboard2040_corepicodebug.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
flyboard2040_corepicodebug.menu.dbglvl.NDEBUG=NDEBUG
flyboard2040_corepicodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
flyboard2040_corepicodebug.menu.usbstack.nousb=No USB
flyboard2040_corepicodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
+1
View File
@@ -70,6 +70,7 @@ void noInterrupts();
#define portModeRegister(port) ((volatile uint32_t*) sio_hw->gpio_oe)
// ADC RP2040-specific calls
void analogReadResolution(int bits);
float analogReadTemp(); // Returns core temp in Centigrade
// PWM RP2040-specific calls
+36 -27
View File
@@ -91,7 +91,7 @@ void __not_in_flash_func(SerialPIO::_handleIRQ)() {
if (_rx == NOPIN) {
return;
}
while ((!pio_sm_is_rx_fifo_empty(_rxPIO, _rxSM)) && ((_writer + 1) % sizeof(_queue) != _reader)) {
while (!pio_sm_is_rx_fifo_empty(_rxPIO, _rxSM)) {
uint32_t decode = _rxPIO->rxf[_rxSM];
decode >>= 32 - _rxBits;
uint32_t val = 0;
@@ -114,18 +114,33 @@ void __not_in_flash_func(SerialPIO::_handleIRQ)() {
}
}
_queue[_writer] = val & ((1 << _bits) - 1);
asm volatile("" ::: "memory"); // Ensure the queue is written before the written count advances
_writer = (_writer + 1) % sizeof(_queue);
auto next_writer = _writer + 1;
if (next_writer == _fifoSize) {
next_writer = 0;
}
if (next_writer != _reader) {
_queue[_writer] = val & ((1 << _bits) - 1);
asm volatile("" ::: "memory"); // Ensure the queue is written before the written count advances
_writer = next_writer;
} else {
// TODO: Overflow
}
}
}
SerialPIO::SerialPIO(pin_size_t tx, pin_size_t rx) {
SerialPIO::SerialPIO(pin_size_t tx, pin_size_t rx, size_t fifoSize) {
_tx = tx;
_rx = rx;
_fifoSize = fifoSize + 1; // Always one unused entry
_queue = new uint8_t[_fifoSize];
mutex_init(&_mutex);
}
SerialPIO::~SerialPIO() {
end();
delete[] _queue;
}
void SerialPIO::begin(unsigned long baud, uint16_t config) {
_baud = baud;
switch (config & SERIAL_PARITY_MASK) {
@@ -195,7 +210,7 @@ void SerialPIO::begin(unsigned long baud, uint16_t config) {
_writer = 0;
_reader = 0;
_rxBits = 2 * (_bits + _stop + (_parity != UART_PARITY_NONE ? 1 : 0) + 1);
_rxBits = 2 * (_bits + _stop + (_parity != UART_PARITY_NONE ? 1 : 0) + 1) - 1;
_rxPgm = _getRxProgram(_rxBits);
int off;
if (!_rxPgm->prepare(&_rxPIO, &_rxSM, &off)) {
@@ -213,6 +228,9 @@ void SerialPIO::begin(unsigned long baud, uint16_t config) {
pio_sm_put_blocking(_rxPIO, _rxSM, clock_get_hz(clk_sys) / (_baud * 2) - 2);
pio_sm_exec(_rxPIO, _rxSM, pio_encode_pull(false, false));
// Join the TX FIFO to the RX one now that we don't need it
_rxPIO->sm[_rxSM].shiftctrl |= 0x80000000;
// Enable interrupts on rxfifo
switch (_rxSM) {
case 0: pio_set_irq0_source_enabled(_rxPIO, pis_sm0_rx_fifo_not_empty, true); break;
@@ -244,16 +262,10 @@ int SerialPIO::peek() {
return -1;
}
// If there's something in the FIFO now, just peek at it
uint32_t start = millis();
uint32_t now = millis();
while ((now - start) < _timeout) {
if (_writer != _reader) {
return _queue[_reader];
}
delay(1);
now = millis();
if (_writer != _reader) {
return _queue[_reader];
}
return -1; // Nothing available before timeout
return -1;
}
int SerialPIO::read() {
@@ -261,18 +273,15 @@ int SerialPIO::read() {
if (!_running || !m || (_rx == NOPIN)) {
return -1;
}
uint32_t start = millis();
uint32_t now = millis();
while ((now - start) < _timeout) {
if (_writer != _reader) {
auto ret = _queue[_reader];
_reader = (_reader + 1) % sizeof(_queue);
return ret;
}
delay(1);
now = millis();
if (_writer != _reader) {
auto ret = _queue[_reader];
asm volatile("" ::: "memory"); // Ensure the value is read before advancing
auto next_reader = (_reader + 1) % _fifoSize;
asm volatile("" ::: "memory"); // Ensure the reader value is only written once, correctly
_reader = next_reader;
return ret;
}
return -1; // Timeout
return -1;
}
int SerialPIO::available() {
@@ -280,7 +289,7 @@ int SerialPIO::available() {
if (!_running || !m || (_rx == NOPIN)) {
return 0;
}
return (_writer - _reader) % sizeof(_queue);
return (_writer - _reader) % _fifoSize;
}
int SerialPIO::availableForWrite() {
+4 -2
View File
@@ -32,7 +32,8 @@ extern "C" typedef struct uart_inst uart_inst_t;
class SerialPIO : public HardwareSerial {
public:
static const pin_size_t NOPIN = 0xff; // Use in constructor to disable RX or TX unit
SerialPIO(pin_size_t tx, pin_size_t rx);
SerialPIO(pin_size_t tx, pin_size_t rx, size_t fifoSize = 32);
~SerialPIO();
void begin(unsigned long baud = 115200) override {
begin(baud, SERIAL_8N1);
@@ -72,7 +73,8 @@ private:
int _rxBits;
// Lockless, IRQ-handled circular queue
size_t _fifoSize;
uint32_t _writer;
uint32_t _reader;
uint8_t _queue[32];
uint8_t *_queue;
};
+85 -37
View File
@@ -65,6 +65,22 @@ bool SerialUART::setTX(pin_size_t pin) {
return false;
}
bool SerialUART::setPollingMode(bool mode) {
if (_running) {
return false;
}
_polling = mode;
return true;
}
bool SerialUART::setFIFOSize(size_t size) {
if (!size || _running) {
return false;
}
_fifoSize = size + 1; // Always 1 unused entry
return true;
}
SerialUART::SerialUART(uart_inst_t *uart, pin_size_t tx, pin_size_t rx) {
_uart = uart;
_tx = tx;
@@ -76,6 +92,7 @@ static void _uart0IRQ();
static void _uart1IRQ();
void SerialUART::begin(unsigned long baud, uint16_t config) {
_queue = new uint8_t[_fifoSize];
_baud = baud;
uart_init(_uart, baud);
int bits, stop;
@@ -119,14 +136,19 @@ void SerialUART::begin(unsigned long baud, uint16_t config) {
_writer = 0;
_reader = 0;
if (_uart == uart0) {
irq_set_exclusive_handler(UART0_IRQ, _uart0IRQ);
irq_set_enabled(UART0_IRQ, true);
if (!_polling) {
if (_uart == uart0) {
irq_set_exclusive_handler(UART0_IRQ, _uart0IRQ);
irq_set_enabled(UART0_IRQ, true);
} else {
irq_set_exclusive_handler(UART1_IRQ, _uart1IRQ);
irq_set_enabled(UART1_IRQ, true);
}
// Set the IRQ enables and FIFO level to minimum
uart_set_irq_enables(_uart, true, false);
} else {
irq_set_exclusive_handler(UART1_IRQ, _uart1IRQ);
irq_set_enabled(UART1_IRQ, true);
// Polling mode has no IRQs used
}
uart_get_hw(_uart)->imsc |= UART_UARTIMSC_RXIM_BITS | UART_UARTIMSC_RTIM_BITS;
_running = true;
}
@@ -134,12 +156,15 @@ void SerialUART::end() {
if (!_running) {
return;
}
if (_uart == uart0) {
irq_set_enabled(UART0_IRQ, false);
} else {
irq_set_enabled(UART1_IRQ, false);
if (!_polling) {
if (_uart == uart0) {
irq_set_enabled(UART0_IRQ, false);
} else {
irq_set_enabled(UART1_IRQ, false);
}
}
uart_deinit(_uart);
delete[] _queue;
_running = false;
}
@@ -148,16 +173,13 @@ int SerialUART::peek() {
if (!_running || !m) {
return -1;
}
uint32_t start = millis();
uint32_t now = millis();
while ((now - start) < _timeout) {
if (_writer != _reader) {
return _queue[_reader];
}
delay(1);
now = millis();
if (_polling) {
_handleIRQ();
}
return -1; // Nothing available before timeout
if (_writer != _reader) {
return _queue[_reader];
}
return -1;
}
int SerialUART::read() {
@@ -165,18 +187,18 @@ int SerialUART::read() {
if (!_running || !m) {
return -1;
}
uint32_t start = millis();
uint32_t now = millis();
while ((now - start) < _timeout) {
if (_writer != _reader) {
auto ret = _queue[_reader];
_reader = (_reader + 1) % sizeof(_queue);
return ret;
}
delay(1);
now = millis();
if (_polling) {
_handleIRQ();
}
return -1; // Timeout
if (_writer != _reader) {
auto ret = _queue[_reader];
asm volatile("" ::: "memory"); // Ensure the value is read before advancing
auto next_reader = (_reader + 1) % _fifoSize;
asm volatile("" ::: "memory"); // Ensure the reader value is only written once, correctly
_reader = next_reader;
return ret;
}
return -1;
}
int SerialUART::available() {
@@ -184,7 +206,10 @@ int SerialUART::available() {
if (!_running || !m) {
return 0;
}
return (_writer - _reader) % sizeof(_queue);
if (_polling) {
_handleIRQ();
}
return (_writer - _reader) % _fifoSize;
}
int SerialUART::availableForWrite() {
@@ -192,6 +217,9 @@ int SerialUART::availableForWrite() {
if (!_running || !m) {
return 0;
}
if (_polling) {
_handleIRQ();
}
return (uart_is_writable(_uart)) ? 1 : 0;
}
@@ -200,6 +228,9 @@ void SerialUART::flush() {
if (!_running || !m) {
return;
}
if (_polling) {
_handleIRQ();
}
uart_tx_wait_blocking(_uart);
}
@@ -208,6 +239,9 @@ size_t SerialUART::write(uint8_t c) {
if (!_running || !m) {
return 0;
}
if (_polling) {
_handleIRQ();
}
uart_putc_raw(_uart, c);
return 1;
}
@@ -217,6 +251,9 @@ size_t SerialUART::write(const uint8_t *p, size_t len) {
if (!_running || !m) {
return 0;
}
if (_polling) {
_handleIRQ();
}
size_t cnt = len;
while (cnt) {
uart_putc_raw(_uart, *p);
@@ -245,13 +282,24 @@ void arduino::serialEvent2Run(void) {
}
}
// IRQ handler, called when FIFO > 1/4 full or when it had held unread data for >32 bit times
// IRQ handler, called when FIFO > 1/8 full or when it had held unread data for >32 bit times
void __not_in_flash_func(SerialUART::_handleIRQ)() {
uart_get_hw(_uart)->icr |= UART_UARTICR_RTIC_BITS | UART_UARTICR_RXIC_BITS;
while ((uart_is_readable(_uart)) && ((_writer + 1) % sizeof(_queue) != _reader)) {
_queue[_writer] = uart_getc(_uart);
asm volatile("" ::: "memory"); // Ensure the queue is written before the written count advances
_writer = (_writer + 1) % sizeof(_queue);
// ICR is write-to-clear
uart_get_hw(_uart)->icr = UART_UARTICR_RTIC_BITS | UART_UARTICR_RXIC_BITS;
while (uart_is_readable(_uart)) {
auto val = uart_getc(_uart);
auto next_writer = _writer + 1;
if (next_writer == _fifoSize) {
next_writer = 0;
}
if (next_writer != _reader) {
_queue[_writer] = val;
asm volatile("" ::: "memory"); // Ensure the queue is written before the written count advances
// Avoid using division or mod because the HW divider could be in use
_writer = next_writer;
} else {
// TODO: Overflow
}
}
}
+5 -1
View File
@@ -40,6 +40,8 @@ public:
ret &= setTX(tx);
return ret;
}
bool setFIFOSize(size_t size);
bool setPollingMode(bool mode = true);
void begin(unsigned long baud = 115200) override {
begin(baud, SERIAL_8N1);
@@ -66,11 +68,13 @@ private:
pin_size_t _tx, _rx;
int _baud;
mutex_t _mutex;
bool _polling = false;
// Lockless, IRQ-handled circular queue
uint32_t _writer;
uint32_t _reader;
uint8_t _queue[32];
size_t _fifoSize = 32;
uint8_t *_queue;
};
extern SerialUART Serial1; // HW UART 0
@@ -110,11 +110,23 @@ typedef const void* uint_farptr_t;
#define pgm_read_ptr(addr) (*(void *const *)(addr))
#else
// Supports misaligned addresses
#define pgm_read_byte(addr) (*(const unsigned char *)(addr))
#define pgm_read_word(addr) ((unsigned short)(pgm_read_byte((intptr_t)addr) | (pgm_read_byte((intptr_t)addr + 1) << 8)))
#define pgm_read_dword(addr) ((unsigned long)(pgm_read_byte((intptr_t)addr) | (pgm_read_byte((intptr_t)addr + 1) << 8)) | \
(pgm_read_byte((intptr_t)addr + 2) << 16) | (pgm_read_byte((intptr_t)addr + 3) << 24))
#define pgm_read_ptr(addr) ((void *)pgm_read_dword(addr))
#ifdef __cplusplus
extern "C"{
#endif
static inline unsigned char pgm_read_byte(const void *addr) {
return *(const unsigned char *)(addr);
}
static inline unsigned short pgm_read_word(const void *addr) {
const unsigned char *a = (const unsigned char *)addr;
return pgm_read_byte(a) | ( pgm_read_byte(a + 1) << 8 );
}
static inline unsigned long pgm_read_dword(const void *addr) {
const unsigned char *a = (const unsigned char *)addr;
return pgm_read_byte(a) | ( pgm_read_byte(a + 1) << 8 ) | ( pgm_read_byte(a + 2) << 16 ) | ( pgm_read_byte(a + 3) << 24 );
}
static inline void *pgm_read_ptr(const void *addr) {
return (void*) pgm_read_dword(addr);
}
static inline float pgm_read_float(const void *addr) {
union {
void *p;
@@ -123,6 +135,10 @@ static inline float pgm_read_float(const void *addr) {
x.p = pgm_read_ptr(addr);
return x.f;
}
#ifdef __cplusplus
}
#endif
#endif
#define pgm_read_byte_near(addr) pgm_read_byte(addr)
-29
View File
@@ -1,29 +0,0 @@
/*
Millis() for the Raspberry Pi Pico RP2040
Copyright (c) 2021 Earle F. Philhower, III <earlephilhower@yahoo.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <pico/time.h>
extern "C" unsigned long millis() {
return to_ms_since_boot(get_absolute_time());
}
extern "C" unsigned long micros() {
return time_us_32();
}
+9 -1
View File
@@ -117,6 +117,7 @@ extern "C" void analogWrite(pin_size_t pin, int val) {
}
auto_init_mutex(_adcMutex);
static int _readBits = 10;
extern "C" int analogRead(pin_size_t pin) {
CoreMutex m(&_adcMutex);
@@ -133,7 +134,7 @@ extern "C" int analogRead(pin_size_t pin) {
}
adc_gpio_init(pin);
adc_select_input(pin - minPin);
return adc_read();
return (_readBits < 12) ? adc_read() >> (12 - _readBits) : adc_read() << (_readBits - 12);
}
extern "C" float analogReadTemp() {
@@ -153,3 +154,10 @@ extern "C" float analogReadTemp() {
float t = 27.0f - ((v * 3.3f / 4096.0f) - 0.706f) / 0.001721f; // From the datasheet
return t;
}
extern "C" void analogReadResolution(int bits) {
CoreMutex m(&_adcMutex);
if (m && ((bits > 0) && (bits < 32))) {
_readBits = bits;
}
}
+3 -2
View File
@@ -6,9 +6,10 @@ one or two PIO state machines is included in the Arduino-Pico core. This
allows for up to 8 additional serial ports to be run from the RP2040 without
requiring additional CPU resources.
Instantiate a ``SerialPIO(txpin, rxpin)`` object in your sketch and then
Instantiate a ``SerialPIO(txpin, rxpin, fifosize)`` object in your sketch and then
use it the same as any other serial port. Even, odd, and no parity modes
are supported, as well as data sizes from 5- to 8-bits.
are supported, as well as data sizes from 5- to 8-bits. Fifosize, if not
specified, defaults to 32 bytes.
To instantiate only a serial transmit or receive unit, pass in
``SerialPIO::NOPIN`` as the ``txpin`` or ``rxpin``.
+18
View File
@@ -24,5 +24,23 @@ Configure their pins using the ``setXXX`` calls prior to calling ``begin()``
Serial1.setTX(pin);
Serial1.begin(baud);
The size of the receive FIFO may also be adjusted from the default 32 bytes by
using the ``setFIFOSize`` call prior to calling ``begin()``
.. code:: cpp
Serial1.setFIFOSize(128);
Serial1.begin(baud);
The FIFO is normally handled via an interrupt, which reduced CPU load and
makes it less likely to lose characters. However, the FIFO introduces up
to 32 bit-times of delay before serial data is available to the application.
For applications where this is an issue (i.e. very low baud), use
``setPollingMode(true)`` before calling ``begin()``
.. code:: cpp
Serial1.setPollingMode(true);
Serial1.begin(110)
For detailed information about the Serial ports, see the
Arduino `Serial Reference <https://www.arduino.cc/reference/en/language/functions/communication/serial/>`_ .
+2
View File
@@ -34,3 +34,5 @@ resumeOtherCore KEYWORD2
PIOProgram KEYWORD2
prepare KEYWORD2
SerialPIO KEYWORD2
setFIFOSize KEYWORD2
setPollingMode KEYWORD2
BIN
View File
Binary file not shown.
+1
View File
@@ -28,6 +28,7 @@
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_flash/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_gpio/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_i2c/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_interp/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_irq/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_rtc/include
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_pio/include
@@ -13,6 +13,25 @@
// How large of a file to test
#define TESTSIZEKB 256
// Format speed in bytes/second. Static buffer so not re-entrant safe
const char *rate(unsigned long start, unsigned long stop, unsigned long bytes) {
static char buff[64];
if (stop == start) {
strcpy_P(buff, PSTR("Inf b/s"));
} else {
unsigned long delta = stop - start;
float r = 1000.0 * (float)bytes / (float)delta;
if (r >= 1000000.0) {
sprintf_P(buff, PSTR("%0.2f MB/s"), r / 1000000.0);
} else if (r >= 1000.0) {
sprintf_P(buff, PSTR("%0.2f KB/s"), r / 1000.0);
} else {
sprintf_P(buff, PSTR("%d bytes/s"), (int)r);
}
}
return buff;
}
void DoTest(FS *fs) {
if (!fs->format()) {
Serial.printf("Unable to format(), aborting\n");
@@ -29,7 +48,7 @@ void DoTest(FS *fs) {
}
Serial.printf("Creating %dKB file, may take a while...\n", TESTSIZEKB);
long start = millis();
unsigned long start = millis();
File f = fs->open("/testwrite.bin", "w");
if (!f) {
Serial.printf("Unable to open file for writing, aborting\n");
@@ -41,11 +60,11 @@ void DoTest(FS *fs) {
}
}
f.close();
long stop = millis();
Serial.printf("==> Time to write %dKB in 256b chunks = %ld milliseconds\n", TESTSIZEKB, stop - start);
unsigned long stop = millis();
Serial.printf("==> Time to write %dKB in 256b chunks = %lu milliseconds\n", TESTSIZEKB, stop - start);
f = fs->open("/testwrite.bin", "r");
Serial.printf("==> Created file size = %d\n", f.size());
Serial.printf("==> Created file size = %zu\n", f.size());
f.close();
Serial.printf("Reading %dKB file sequentially in 256b chunks\n", TESTSIZEKB);
@@ -58,7 +77,7 @@ void DoTest(FS *fs) {
}
f.close();
stop = millis();
Serial.printf("==> Time to read %dKB sequentially in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);
Serial.printf("==> Time to read %dKB sequentially in 256b chunks = %lu milliseconds = %s\n", TESTSIZEKB, stop - start, rate(start, stop, TESTSIZEKB * 1024));
Serial.printf("Reading %dKB file MISALIGNED in flash and RAM sequentially in 256b chunks\n", TESTSIZEKB);
start = millis();
@@ -71,8 +90,7 @@ void DoTest(FS *fs) {
}
f.close();
stop = millis();
Serial.printf("==> Time to read %dKB sequentially MISALIGNED in flash and RAM in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);
Serial.printf("==> Time to read %dKB sequentially MISALIGNED in flash and RAM in 256b chunks = %lu milliseconds = %s\n", TESTSIZEKB, stop - start, rate(start, stop, TESTSIZEKB * 1024));
Serial.printf("Reading %dKB file in reverse by 256b chunks\n", TESTSIZEKB);
start = millis();
@@ -91,8 +109,7 @@ void DoTest(FS *fs) {
}
f.close();
stop = millis();
Serial.printf("==> Time to read %dKB in reverse in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);
Serial.printf("==> Time to read %dKB in reverse in 256b chunks = %lu milliseconds = %s\n", TESTSIZEKB, stop - start, rate(start, stop, TESTSIZEKB * 1024));
Serial.printf("Writing 64K file in 1-byte chunks\n");
start = millis();
@@ -102,7 +119,7 @@ void DoTest(FS *fs) {
}
f.close();
stop = millis();
Serial.printf("==> Time to write 64KB in 1b chunks = %ld milliseconds = %ld bytes/s\n", stop - start, 65536 / (stop - start) * 1000);
Serial.printf("==> Time to write 64KB in 1b chunks = %lu milliseconds = %s\n", stop - start, rate(start, stop, 65536));
Serial.printf("Reading 64K file in 1-byte chunks\n");
start = millis();
@@ -113,9 +130,7 @@ void DoTest(FS *fs) {
}
f.close();
stop = millis();
Serial.printf("==> Time to read 64KB in 1b chunks = %ld milliseconds = %ld bytes/s\n", stop - start, 65536 / (stop - start) * 1000);
Serial.printf("==> Time to read 64KB in 1b chunks = %lu milliseconds = %s\n", stop - start, rate(start, stop, 65536));
}
void setup() {
@@ -124,6 +139,7 @@ void setup() {
Serial.printf("Beginning test\n");
Serial.flush();
DoTest(&TESTFS);
Serial.println("done");
}
void loop() {
Submodule libraries/SdFat deleted from 3a6b688b1b
+4 -1
View File
@@ -83,6 +83,9 @@ bool TwoWire::setSCL(pin_size_t pin) {
void TwoWire::setClock(uint32_t hz) {
_clkHz = hz;
if (_running) {
i2c_set_baudrate(_i2c, hz);
}
}
// Master mode
@@ -146,7 +149,7 @@ void TwoWire::onIRQ() {
_i2c->hw->clr_start_det;
}
if (_i2c->hw->intr_stat & (1 << 9)) {
if (_onReceiveCallback) {
if (_onReceiveCallback && _buffLen) {
_onReceiveCallback(_buffLen);
}
_buffLen = 0;
+1 -1
View File
@@ -31,7 +31,7 @@
#define WIRE_HAS_END 1
#ifndef WIRE_BUFFER_SIZE
#define WIRE_BUFFER_SIZE 128
#define WIRE_BUFFER_SIZE 256
#endif
class TwoWire : public HardwareI2C {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "framework-arduinopico",
"version": "1.10910.0",
"version": "1.11110.0",
"description": "Arduino Wiring-based Framework (RPi Pico RP2040)",
"keywords": [
"framework",
+174 -150
View File
@@ -26,6 +26,9 @@
{
"name": "Adafruit ItsyBitsy RP2040"
},
{
"name": "Adafruit KB2040"
},
{
"name": "Adafruit Macropad RP2040"
},
@@ -47,6 +50,24 @@
{
"name": "Cytron Maker Pi RP2040"
},
{
"name": "DeRuiLab FlyBoard2040 Core"
},
{
"name": "Invector Labs Challenger RP2040 WiFi"
},
{
"name": "Invector Labs Challenger NB RP2040 WiFi"
},
{
"name": "Invector Labs Challenger RP2040 LTE"
},
{
"name": "Invector Labs RPICO32"
},
{
"name": "Solder Party RP2040 Stamp"
},
{
"name": "SparkFun ProMicro RP2040"
},
@@ -56,6 +77,9 @@
{
"name": "uPesy RP2040 DevKit"
},
{
"name": "WIZnet W5100S-EVB-Pico"
},
{
"name": "Generic RP2040 Module"
}
@@ -63,22 +87,22 @@
"toolsDependencies": [
{
"packager": "rp2040",
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-gcc"
},
{
"packager": "rp2040",
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-mklittlefs"
},
{
"packager": "rp2040",
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-elf2uf2"
},
{
"packager": "rp2040",
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-pioasm"
},
{
@@ -88,7 +112,7 @@
},
{
"packager": "rp2040",
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-openocd"
}
],
@@ -99,57 +123,57 @@
],
"tools": [
{
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-openocd",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/aarch64-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"archiveFileName": "aarch64-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"checksum": "SHA-256:62662b74a7cbbb5db0998987585d74a3261c3e6f0c1440d7449505832020e095",
"size": "6224364"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/aarch64-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"archiveFileName": "aarch64-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"checksum": "SHA-256:d1d95978101c69c3bc777e61ba70077bf9dc4b3245aa7dd93171acaec4d29fb1",
"size": "5607214"
},
{
"host": "arm-linux-gnueabihf",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/arm-linux-gnueabihf.openocd-e3428fadb.210706.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.openocd-e3428fadb.210706.tar.gz",
"checksum": "SHA-256:15b188279382ee182253984ed45785f3a15387576583a1c6bff2c71d724ff76a",
"size": "5931976"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/arm-linux-gnueabihf.openocd-e3428fadb.220212.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.openocd-e3428fadb.220212.tar.gz",
"checksum": "SHA-256:81373c1e12a88e382a587688343c2e2f2f1f999d38334b7b6ded174929cc9b88",
"size": "5344032"
},
{
"host": "i686-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"archiveFileName": "i686-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"checksum": "SHA-256:40a7a417b46875b2ccff582309b0e8ffcfd5c038ad1dc1775d53c683708c363c",
"size": "5728004"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"archiveFileName": "i686-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"checksum": "SHA-256:6a4dd98422a187c7725fc349b045b55e4742166c65461847d1bd59537242b0be",
"size": "5168258"
},
{
"host": "i686-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-w64-mingw32.openocd-e3428fadb.210706.zip",
"archiveFileName": "i686-w64-mingw32.openocd-e3428fadb.210706.zip",
"checksum": "SHA-256:945cf4b0de879b935e05af2f438a6964949fbbf6d163e96e507939c55cafbff0",
"size": "8539935"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-w64-mingw32.openocd-e3428fadb.220212.zip",
"archiveFileName": "i686-w64-mingw32.openocd-e3428fadb.220212.zip",
"checksum": "SHA-256:aa6e242e6a2855ed7550ce2025dddd4c13683f2c5f68efb935c9157b3054c881",
"size": "2276391"
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-apple-darwin14.openocd-e3428fadb.210706.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.openocd-e3428fadb.210706.tar.gz",
"checksum": "SHA-256:b28b54580b16e6d7f0229a653acf68aeab8cc3270d8b9dcaf178b8b8c0aafcb7",
"size": "2006182"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-apple-darwin14.openocd-e3428fadb.220212.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.openocd-e3428fadb.220212.tar.gz",
"checksum": "SHA-256:913b65baeeef1b60caf202e69cde4cd5a3ba0ed2f75f2600adfb3dcf4b3899ef",
"size": "2002482"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"archiveFileName": "x86_64-linux-gnu.openocd-e3428fadb.210706.tar.gz",
"checksum": "SHA-256:90aec3a7818697e04e798a0470133caf62e7583a48f7ae3848b9b536c3180b0b",
"size": "6154827"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"archiveFileName": "x86_64-linux-gnu.openocd-e3428fadb.220212.tar.gz",
"checksum": "SHA-256:63b2be48c1438d2a09f4ed65d89e555176f18753886555cf48f861e9288d7dc1",
"size": "5540524"
},
{
"host": "x86_64-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-w64-mingw32.openocd-e3428fadb.210706.zip",
"archiveFileName": "x86_64-w64-mingw32.openocd-e3428fadb.210706.zip",
"checksum": "SHA-256:86e0341d50723d5e0c2969a903e911273e3b70ed5b794284b7d7ec7a1f09ee2f",
"size": "8929726"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-w64-mingw32.openocd-e3428fadb.220212.zip",
"archiveFileName": "x86_64-w64-mingw32.openocd-e3428fadb.220212.zip",
"checksum": "SHA-256:0643903fcd887a8423cb4ba5329565b499c206921f77ad2e59ae32c472a26dd7",
"size": "2156820"
}
]
},
@@ -216,222 +240,222 @@
]
},
{
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-gcc",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/aarch64-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"checksum": "SHA-256:32f2a28e0f12bd1c8aaefa10bc2646f0f058b77d0030bec3e1e0ec89409d2380",
"size": "103186082"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/aarch64-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"checksum": "SHA-256:7773b43b9c0bf5b7cdb2299e9d1b151df97e0a2ded4428809ec68264ac9818a9",
"size": "102741416"
},
{
"host": "arm-linux-gnueabihf",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/arm-linux-gnueabihf.arm-none-eabi-7855b0c.210706.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-7855b0c.210706.tar.gz",
"checksum": "SHA-256:0cca5b4c429acf26eeb093bf21b16c2265fd6c04aafe91ceb304dfee35a662d7",
"size": "95859088"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/arm-linux-gnueabihf.arm-none-eabi-ed6d983.220212.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-ed6d983.220212.tar.gz",
"checksum": "SHA-256:c422910ef0e29528939e037ea3c518a532726111604b85b27f3f245820680ccb",
"size": "95383443"
},
{
"host": "i686-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"archiveFileName": "i686-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"checksum": "SHA-256:9a1ba7cdcb11d817ddbcb60d53f5b804b787a7a3c2e0bc5a33e86b8bbf653391",
"size": "105956199"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"archiveFileName": "i686-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"checksum": "SHA-256:6306791b43de955c4a4d0a1b8972e0f696206591a810eefc16b906b157322bd3",
"size": "105350371"
},
{
"host": "i686-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-w64-mingw32.arm-none-eabi-7855b0c.210706.zip",
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-7855b0c.210706.zip",
"checksum": "SHA-256:5b06d0dcfcf78c83b85aadbcbd8b6e3301b60acd14d6319e066e125586331aac",
"size": "105493451"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-w64-mingw32.arm-none-eabi-ed6d983.220212.zip",
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-ed6d983.220212.zip",
"checksum": "SHA-256:b00aa3594d1911bea07c1dbf31b9a63430f4dcb91c7b3b1341f8551d361d405f",
"size": "105568357"
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-apple-darwin14.arm-none-eabi-7855b0c.210706.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.arm-none-eabi-7855b0c.210706.tar.gz",
"checksum": "SHA-256:6d4dfd0e032df43687683504b747a0010cea53b2d86f4662f72997fd0cbd8b1a",
"size": "107371801"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-apple-darwin14.arm-none-eabi-ed6d983.220212.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.arm-none-eabi-ed6d983.220212.tar.gz",
"checksum": "SHA-256:e93b967d1fb6ed0fc7cf6a5161e22a597dd05080c1353ac74e2a42ddf8dfe98d",
"size": "107429038"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-7855b0c.210706.tar.gz",
"checksum": "SHA-256:791b6386a6b6742d627af3277f401db7bb2b407852c8b3f49eaee30fcc5ceb8a",
"size": "107845636"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-ed6d983.220212.tar.gz",
"checksum": "SHA-256:047c4d482cf77e09bd8069fc9d5b28b1e0c76440ad81583a0fc3a8e809959bb8",
"size": "106740897"
},
{
"host": "x86_64-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-w64-mingw32.arm-none-eabi-7855b0c.210706.zip",
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-7855b0c.210706.zip",
"checksum": "SHA-256:7f8b591902e9f164904974bb8224808371b025affaf7cbffdeb3f3ff259b9464",
"size": "110342777"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-w64-mingw32.arm-none-eabi-ed6d983.220212.zip",
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-ed6d983.220212.zip",
"checksum": "SHA-256:5c15725628a3dbd47a8fa8f9a9aab7a2221815ec9bf85dc2080ce19166316ae6",
"size": "110420777"
}
]
},
{
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-elf2uf2",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/aarch64-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"archiveFileName": "aarch64-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"checksum": "SHA-256:3c67eb63da563c505dd046cd069aee1754ff735e9d0d7dacfd8b003a85a078ca",
"size": "79842"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/aarch64-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"archiveFileName": "aarch64-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"checksum": "SHA-256:8cb7ce703b0fa6f2fce6b124ae6f34ad0b866aa4a58096f22b66b1251c1b11c0",
"size": "79853"
},
{
"host": "arm-linux-gnueabihf",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/arm-linux-gnueabihf.elf2uf2-fc10a97.210706.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.elf2uf2-fc10a97.210706.tar.gz",
"checksum": "SHA-256:62457fc90b0993d720a3523537e8d55e9378769db1595709ff01357ebc13a3dd",
"size": "54219"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/arm-linux-gnueabihf.elf2uf2-2062372.220212.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.elf2uf2-2062372.220212.tar.gz",
"checksum": "SHA-256:790d46b411c16a4a210a91436eb4bdc81fb34f0119148a8f9c4b09489489a54d",
"size": "54244"
},
{
"host": "i686-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"archiveFileName": "i686-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"checksum": "SHA-256:59e83f09322a2a292c20a4852512aa8c086b5b0d02842e11dfb9cb122485fb84",
"size": "87881"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"archiveFileName": "i686-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"checksum": "SHA-256:7c05c70f761bb6caa986d24ac1065367fe906ff7f0434cf4b0112ace331f74bc",
"size": "87891"
},
{
"host": "i686-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-w64-mingw32.elf2uf2-fc10a97.210706.zip",
"archiveFileName": "i686-w64-mingw32.elf2uf2-fc10a97.210706.zip",
"checksum": "SHA-256:2b7c676fa0ff8a7fb6638dfe770787e6bdd9c6cd2f5a0d86f8c64c267a9bc328",
"size": "70429"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-w64-mingw32.elf2uf2-2062372.220212.zip",
"archiveFileName": "i686-w64-mingw32.elf2uf2-2062372.220212.zip",
"checksum": "SHA-256:e6f0578ea781b160390994d3e95bedfec01e212d47243b1adb84f910a06bcba4",
"size": "70405"
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-apple-darwin14.elf2uf2-fc10a97.210706.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.elf2uf2-fc10a97.210706.tar.gz",
"checksum": "SHA-256:1154dd7bb3186bb66b8b53699d29083a688564ace502f28cf53cf9f15214d816",
"size": "81919"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-apple-darwin14.elf2uf2-2062372.220212.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.elf2uf2-2062372.220212.tar.gz",
"checksum": "SHA-256:d65de7218eaf01c9bf58fa22bd9e1e7c10c054213948b4b62f648a058d09b4de",
"size": "81981"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"archiveFileName": "x86_64-linux-gnu.elf2uf2-fc10a97.210706.tar.gz",
"checksum": "SHA-256:0ed4a2a3973ee2e7a5edc4932bd2485ac0825750b72fabdb8a96e8d274dc30a4",
"size": "79516"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"archiveFileName": "x86_64-linux-gnu.elf2uf2-2062372.220212.tar.gz",
"checksum": "SHA-256:ba7795ed49c54f3f52caee675b0fd078f6fb8498a47bf7e5d7457065271df338",
"size": "79585"
},
{
"host": "x86_64-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-w64-mingw32.elf2uf2-fc10a97.210706.zip",
"archiveFileName": "x86_64-w64-mingw32.elf2uf2-fc10a97.210706.zip",
"checksum": "SHA-256:81c3c458fda68840439afc7b16133febb21e023a910924761abaee9c011a44db",
"size": "78298"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-w64-mingw32.elf2uf2-2062372.220212.zip",
"archiveFileName": "x86_64-w64-mingw32.elf2uf2-2062372.220212.zip",
"checksum": "SHA-256:02c7684ed1aea4e18216ec6bbbcedeb482c5f23ad7d5eb9dcb942b8ae6cad5ae",
"size": "78279"
}
]
},
{
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-pioasm",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/aarch64-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"archiveFileName": "aarch64-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"checksum": "SHA-256:bbc6735939ffab312e700b687c29ecf7873564cec9028588c39b7be5a5b18ba3",
"size": "453297"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/aarch64-linux-gnu.pioasm-2062372.220212.tar.gz",
"archiveFileName": "aarch64-linux-gnu.pioasm-2062372.220212.tar.gz",
"checksum": "SHA-256:9ea17ecf0e492bc6a971f6a78780c3b3c6ee644d52e056cba08a708ac225add2",
"size": "453558"
},
{
"host": "arm-linux-gnueabihf",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/arm-linux-gnueabihf.pioasm-fc10a97.210706.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.pioasm-fc10a97.210706.tar.gz",
"checksum": "SHA-256:9390b87fa87fa03d1033cf75624c0dd3d2acd7b2d794f5ab91a800ffb7546a17",
"size": "360370"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/arm-linux-gnueabihf.pioasm-2062372.220212.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.pioasm-2062372.220212.tar.gz",
"checksum": "SHA-256:c7af69227a3b3c54ccf87122b18842460a263bd711abf93336794ce5f905c284",
"size": "360559"
},
{
"host": "i686-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"archiveFileName": "i686-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"checksum": "SHA-256:a84e7389c5e959a409b6ce8b1150fad7641fad4ac55c129888439f33c5bfb7cc",
"size": "511409"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-linux-gnu.pioasm-2062372.220212.tar.gz",
"archiveFileName": "i686-linux-gnu.pioasm-2062372.220212.tar.gz",
"checksum": "SHA-256:f66b9bde3d6859d43049b019fb639dd0bfafcd43f1389ffc499d18949bcf1808",
"size": "511397"
},
{
"host": "i686-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-w64-mingw32.pioasm-fc10a97.210706.zip",
"archiveFileName": "i686-w64-mingw32.pioasm-fc10a97.210706.zip",
"checksum": "SHA-256:d1f1e34bd6e4b32301f3e7b147a9eb6710c2b52f816288a11e9aeb619f242355",
"size": "385662"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-w64-mingw32.pioasm-2062372.220212.zip",
"archiveFileName": "i686-w64-mingw32.pioasm-2062372.220212.zip",
"checksum": "SHA-256:89cfa44101dade30000cfaa5985de7f0e7aba93d03dc45ba962f97226ae4e41f",
"size": "385748"
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-apple-darwin14.pioasm-fc10a97.210706.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.pioasm-fc10a97.210706.tar.gz",
"checksum": "SHA-256:f9cb3bf99c84221b8c63d95dd22bbd1cc1ba40bd847530819392ee047962571e",
"size": "480405"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-apple-darwin14.pioasm-2062372.220212.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.pioasm-2062372.220212.tar.gz",
"checksum": "SHA-256:d531c911e6eba0333379af04dd807917659bd4d34be9f4bd6792aeff55ab15a9",
"size": "480495"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"archiveFileName": "x86_64-linux-gnu.pioasm-fc10a97.210706.tar.gz",
"checksum": "SHA-256:96721566a97f07cbe4af3a1d80d63336a75b129a7cb821a407260d250666a30f",
"size": "458641"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-linux-gnu.pioasm-2062372.220212.tar.gz",
"archiveFileName": "x86_64-linux-gnu.pioasm-2062372.220212.tar.gz",
"checksum": "SHA-256:2cd4aa8af98558461cb7b85b21830ea854a430a3e57668d618c5f1cd5e389809",
"size": "458730"
},
{
"host": "x86_64-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-w64-mingw32.pioasm-fc10a97.210706.zip",
"archiveFileName": "x86_64-w64-mingw32.pioasm-fc10a97.210706.zip",
"checksum": "SHA-256:15fe69c11ad86ddf78c1ee26610b8b0f9d4a2323af13854e8e6b5e20d5a6fff5",
"size": "408341"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-w64-mingw32.pioasm-2062372.220212.zip",
"archiveFileName": "x86_64-w64-mingw32.pioasm-2062372.220212.zip",
"checksum": "SHA-256:ba586e67f4b309690a51fca70fdd26f38b68951b0fee4dc8333183ef6429833a",
"size": "408649"
}
]
},
{
"version": "1.3.1-a-7855b0c",
"version": "1.3.3-a-ed6d983",
"name": "pqt-mklittlefs",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/aarch64-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"archiveFileName": "aarch64-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"checksum": "SHA-256:3b318dbefd8ac36b3f1531d14d018d7aaad26b4f7f259a3a0c116939e74c76f6",
"size": "44788"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/aarch64-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"archiveFileName": "aarch64-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"checksum": "SHA-256:2455f5ca6cb1f7b73ed1cb55d4d2261d249c1b24915bd4e66e28f037a0a13116",
"size": "47271"
},
{
"host": "arm-linux-gnueabihf",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/arm-linux-gnueabihf.mklittlefs-6b5c62d.210706.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-6b5c62d.210706.tar.gz",
"checksum": "SHA-256:2b67c6ab2d6fd7239944963beeca0664f85fbffb7b68bcf9eaa7c64e81cad7a5",
"size": "38247"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/arm-linux-gnueabihf.mklittlefs-affa497.220212.tar.gz",
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-affa497.220212.tar.gz",
"checksum": "SHA-256:f4b71138f1469e4b9ce82b3b21252aca265a88d56a5d48513dbb5c6d58b19841",
"size": "40807"
},
{
"host": "i686-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"archiveFileName": "i686-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"checksum": "SHA-256:791f12a6969e3b78d13e4355b7977a49e5b567261499451a10ce0781a7d08d70",
"size": "48237"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"archiveFileName": "i686-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"checksum": "SHA-256:ed1011230c75447dad3d912b7b5607ddcc59e093ee7ebd653fb05274bc876f4c",
"size": "50909"
},
{
"host": "i686-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/i686-w64-mingw32.mklittlefs-6b5c62d.210706.zip",
"archiveFileName": "i686-w64-mingw32.mklittlefs-6b5c62d.210706.zip",
"checksum": "SHA-256:a5bf0308b8f279f5e06c2b5f24f6843d934046ceba84fd7ed5c44ba682b770c4",
"size": "332804"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/i686-w64-mingw32.mklittlefs-affa497.220212.zip",
"archiveFileName": "i686-w64-mingw32.mklittlefs-affa497.220212.zip",
"checksum": "SHA-256:1289f51c674ebdc568843b82c88db21eb4c295f3b15c26398d31266b9da63b4c",
"size": "334050"
},
{
"host": "x86_64-apple-darwin",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-apple-darwin14.mklittlefs-6b5c62d.210706.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.mklittlefs-6b5c62d.210706.tar.gz",
"checksum": "SHA-256:e5dd89a7a4ffe494440975ec511cdf24d5978da07a9bff96429a48ad0a7054e7",
"size": "362810"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-apple-darwin14.mklittlefs-affa497.220212.tar.gz",
"archiveFileName": "x86_64-apple-darwin14.mklittlefs-affa497.220212.tar.gz",
"checksum": "SHA-256:0c0d7d8c80739ed79bc5a41e831d0229b6378e87f4c58f148d884814f1ad46d2",
"size": "365757"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"archiveFileName": "x86_64-linux-gnu.mklittlefs-6b5c62d.210706.tar.gz",
"checksum": "SHA-256:f1e3b374c66811bfe07997b12b6cb318c58ac84973c46e6887553aea13276884",
"size": "46915"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"archiveFileName": "x86_64-linux-gnu.mklittlefs-affa497.220212.tar.gz",
"checksum": "SHA-256:c504429c24cfea9bf841cbf0caa29bbe0115e72c94c18f949451ffa540d6cacc",
"size": "49766"
},
{
"host": "x86_64-mingw32",
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.1-a/x86_64-w64-mingw32.mklittlefs-6b5c62d.210706.zip",
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-6b5c62d.210706.zip",
"checksum": "SHA-256:f5d69785c0bb5397eb49cccaa23dd131d32ab013e1124e38c15f758ded799fdb",
"size": "345250"
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.3.3-a/x86_64-w64-mingw32.mklittlefs-affa497.220212.zip",
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-affa497.220212.zip",
"checksum": "SHA-256:4ada867888513596fa51bf78c98d9e970de9b8f1eec4f88d85e6e7621704fb91",
"size": "347602"
}
]
}
+2 -1
View File
@@ -20,7 +20,8 @@
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
name=Raspberry Pi RP2040 Boards
version=0.9.9
version=1.11.0
runtime.tools.pqt-gcc.path={runtime.platform.path}/system/arm-none-eabi
runtime.tools.pqt-python3.path={runtime.platform.path}/system/python3
runtime.tools.pqt-mklittlefs.path={runtime.platform.path}/system/mklittlefs
+2 -1
View File
@@ -19,8 +19,9 @@ function skip_ino()
/hid_keyboard/
/msc_external_flash/
/msc_external_flash_sdcard/
/msc_sdfat/
/msc_internal_flash_samd/
/msc_sd/
/msc_sdfat/
/midi_pizza_box_dj/
EOL
echo $ino | grep -q -F "$skiplist"
+1 -1
View File
@@ -2,7 +2,7 @@
for dir in ./cores/rp2040 ./libraries/EEPROM ./libraries/I2S \
./libraries/LittleFS/src ./libraries/LittleFS/examples \
./libraries/rp2040 ./libraries/SD ./libraries/SdFat \
./libraries/rp2040 ./libraries/SD ./libraries/ESP8266SdFat \
./libraries/Servo ./libraries/SPI ./libraries/Wire; do
find $dir -type f \( -name "*.c" -o -name "*.h" -o -name "*.cpp" \) -a \! -path '*api*' -exec astyle --suffix=none --options=./tests/astyle_core.conf \{\} \;
find $dir -type f -name "*.ino" -exec astyle --suffix=none --options=./tests/astyle_examples.conf \{\} \;
+1 -1
View File
@@ -25,7 +25,7 @@ rely on existence of `sed` command.
## makeboards.py
Generates `boards.txt` programmatically. Never edit the `boards.txt` file
manually, use `python3 tools/makeboards.py > boards.py`. Change the script
manually, use `python3 tools/makeboards.py`. Change the script
as necessary to add any add'l fields or menus required. Used because the
`boards.txt` file is very repetitive and it's safer to generate with code
than by hand.
+1
View File
@@ -0,0 +1 @@
This directory contains JSON board definitions for use with Platform.IO
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_feather",
"boot2_source": "boot2_w25x10cl_4_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x80f1",
"usb_manufacturer": "Adafruit",
"usb_product": "Feather RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Feather RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_ITSYBITSY_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_itsybitsy",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x80fd",
"usb_manufacturer": "Adafruit",
"usb_product": "ItsyBitsy RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "ItsyBitsy RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_KB2040_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_kb2040",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x8105",
"usb_manufacturer": "Adafruit",
"usb_product": "KB2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "KB2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_MACROPAD_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_macropad2040",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x8107",
"usb_manufacturer": "Adafruit",
"usb_product": "MacroPad RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "MacroPad RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_QTPY_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_qtpy",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x80f7",
"usb_manufacturer": "Adafruit",
"usb_product": "QT Py RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "QT Py RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_STEMMAFRIEND_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_stemmafriend",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x80e3",
"usb_manufacturer": "Adafruit",
"usb_product": "STEMMA Friend RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "STEMMA Friend RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ADAFRUIT_TRINKEYQT_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "adafruit_trinkeyrp2040qt",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x239a",
"usb_pid": "0x8109",
"usb_manufacturer": "Adafruit",
"usb_product": "Trinkey RP2040 QT"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Trinkey RP2040 QT",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Adafruit"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_NANO_RP2040_CONNECT -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "arduino_nano_connect",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2341",
"usb_pid": "0x0058",
"usb_manufacturer": "Arduino",
"usb_product": "Nano RP2040 Connect"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Nano RP2040 Connect",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 16777216,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Arduino"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CHALLENGER_2040_LTE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "challenger_2040_lte",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x100b",
"usb_manufacturer": "iLabs",
"usb_product": "Challenger 2040 LTE"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Challenger 2040 LTE",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "iLabs"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "challenger_2040_wifi",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1006",
"usb_manufacturer": "iLabs",
"usb_product": "Challenger 2040 WiFi"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Challenger 2040 WiFi",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "iLabs"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CHALLENGER_NB_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "challenger_nb_2040_wifi",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x100b",
"usb_manufacturer": "iLabs",
"usb_product": "Challenger NB 2040 WiFi"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Challenger NB 2040 WiFi",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "iLabs"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CYTRON_MAKER_NANO_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "cytron_maker_nano_rp2040",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x100f",
"usb_manufacturer": "Cytron",
"usb_product": "Maker Nano RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Maker Nano 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": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Cytron"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_CYTRON_MAKER_PI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "cytron_maker_pi_rp2040",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1000",
"usb_manufacturer": "Cytron",
"usb_product": "Maker Pi RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Maker Pi 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": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Cytron"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_GENERIC_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "generic",
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0xf00a",
"usb_manufacturer": "Generic",
"usb_product": "RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 16777216,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Generic"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_ILABS_2040_RPICO32_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "ilabs_rpico32",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1010",
"usb_manufacturer": "iLabs",
"usb_product": "RPICO32"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "RPICO32",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "iLabs"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_MELOPERO_SHAKE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "melopero_shake_rp2040",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1005",
"usb_manufacturer": "Melopero",
"usb_product": "Shake RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Shake RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 16777216,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Melopero"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_RASPBERRY_PI_PICO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "rpipico",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x000a",
"usb_manufacturer": "Raspberry Pi",
"usb_product": "Pico"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "Pico",
"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": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Raspberry Pi"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_SOLDERPARTY_RP2040_STAMP -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "solderparty_rp2040_stamp",
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
"usb_vid": "0x1209",
"usb_pid": "0xa182",
"usb_manufacturer": "Solder Party",
"usb_product": "RP2040 Stamp"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "RP2040 Stamp",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 8388608,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Solder Party"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_SPARKFUN_PROMICRO_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "sparkfun_promicrorp2040",
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
"usb_vid": "0x1b4f",
"usb_pid": "0x0026",
"usb_manufacturer": "SparkFun",
"usb_product": "ProMicro RP2040"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "ProMicro RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 16777216,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "SparkFun"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_UPESY_RP2040_DEVKIT -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "upesy_rp2040_devkit",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1007",
"usb_manufacturer": "uPesy",
"usb_product": "RP2040 DevKit"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "RP2040 DevKit",
"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": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "uPesy"
}
+52
View File
@@ -0,0 +1,52 @@
{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_WIZNET_5100S_EVB_PICO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "wiznet_5100s_evb_pico",
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2e8a",
"usb_pid": "0x1008",
"usb_manufacturer": "WIZnet",
"usb_product": "W5100S-EVB-Pico"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "W5100S-EVB-Pico",
"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": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "WIZnet"
}
+66 -1
View File
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
import os
import sys
def BuildFlashMenu(name, flashsize, fssizelist):
for fssize in fssizelist:
@@ -152,7 +154,67 @@ def MakeBoard(name, vendor_name, product_name, vid, pid, pwr, boarddefine, flash
BuildUSBStack(n)
if name == "generic":
BuildBoot(n)
MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, flashsizemb, boot2)
def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, flashsizemb, boot2):
json = """{
"build": {
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_BOARDDEFINE -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=USBPWR",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
]
],
"mcu": "rp2040",
"arduino": {
"earlephilhower": {
"variant": "VARIANTNAME",
"boot2_source": "BOOT2.S",
"usb_vid": "VID",
"usb_pid": "PID",
"usb_manufacturer": "VENDORNAME",
"usb_product": "PRODUCTNAME"
}
}
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "PRODUCTNAME",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": FLASHSIZE,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "VENDORNAME"
}""".replace('VARIANTNAME', name).replace('BOARDDEFINE', boarddefine).replace('BOOT2', boot2).replace('VID', vid).replace('PID', pid).replace('VENDORNAME', vendor_name).replace('PRODUCTNAME', product_name).replace('FLASHSIZE', str(1024*1024*flashsizemb)).replace('USBPWR', str(pwr))
jsondir = os.path.abspath(os.path.dirname(__file__)) + "/json"
f = open(jsondir + "/" + name + ".json", "w")
f.write(json)
f.close()
sys.stdout = open(os.path.abspath(os.path.dirname(__file__)) + "/../boards.txt", "w")
WriteWarning()
BuildGlobalMenuList()
MakeBoard("rpipico", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY_PI_PICO", 2, "boot2_w25q080_2_padded_checksum")
@@ -163,7 +225,7 @@ MakeBoard("adafruit_stemmafriend", "Adafruit", "STEMMA Friend RP2040", "0x239a",
MakeBoard("adafruit_trinkeyrp2040qt", "Adafruit", "Trinkey RP2040 QT", "0x239a", "0x8109", 250, "ADAFRUIT_TRINKEYQT_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("adafruit_macropad2040", "Adafruit", "MacroPad RP2040", "0x239a", "0x8107", 250, "ADAFRUIT_MACROPAD_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("adafruit_kb2040", "Adafruit", "KB2040", "0x239a", "0x8105", 250, "ADAFRUIT_KB2040_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("arduino_nano_connect", "Arduino", "Nano RP2040 Connect", "0x2341", "0x0058", 250, "ARDUINO_NANO_RP2040_CONNECT", 16, "boot2_w25q080_2_padded_checksum")
MakeBoard("arduino_nano_connect", "Arduino", "Nano RP2040 Connect", "0x2341", "0x0058", 250, "NANO_RP2040_CONNECT", 16, "boot2_w25q080_2_padded_checksum")
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("sparkfun_promicrorp2040", "SparkFun", "ProMicro RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
@@ -173,5 +235,8 @@ MakeBoard("challenger_2040_lte", "iLabs", "Challenger 2040 LTE", "0x2e8a", "0x10
MakeBoard("challenger_nb_2040_wifi", "iLabs", "Challenger NB 2040 WiFi", "0x2e8a", "0x100b", 500, "CHALLENGER_NB_2040_WIFI_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("ilabs_rpico32", "iLabs", "RPICO32", "0x2e8a", "0x1010", 250, "ILABS_2040_RPICO32_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("melopero_shake_rp2040", "Melopero", "Shake RP2040", "0x2e8a", "0x1005", 250, "MELOPERO_SHAKE_RP2040", 16, "boot2_w25q080_2_padded_checksum")
MakeBoard("solderparty_rp2040_stamp", "Solder Party", "RP2040 Stamp", "0x1209", "0xa182", 500, "SOLDERPARTY_RP2040_STAMP", 8, "boot2_generic_03h_4_padded_checksum")
MakeBoard("upesy_rp2040_devkit", "uPesy", "RP2040 DevKit", "0x2e8a", "0x1007", 250, "UPESY_RP2040_DEVKIT", 2, "boot2_w25q080_2_padded_checksum")
MakeBoard("wiznet_5100s_evb_pico", "WIZnet", "W5100S-EVB-Pico", "0x2e8a", "0x1008", 250, "WIZNET_5100S_EVB_PICO", 2, "boot2_w25q080_2_padded_checksum")
MakeBoard("flyboard2040_core", "DeRuiLab", "FlyBoard2040Core", "0x2e8a", "0x008a", 500, "FLYBOARD2040_CORE", 4, "boot2_generic_03h_4_padded_checksum")
sys.stdout.close()
Regular → Executable
+18 -8
View File
@@ -19,7 +19,9 @@ env = DefaultEnvironment()
platform = env.PioPlatform()
board = env.BoardConfig()
upload_protocol = env.subst("$UPLOAD_PROTOCOL") or "picotool"
ram_size = board.get("upload.maximum_ram_size")
#ram_size = board.get("upload.maximum_ram_size") # PlatformIO gives 264K here
# override to correct 256K for RAM section in linkerscript
ram_size = 256 * 1024 # not the 264K, which is 256K SRAM + 2*4K SCRATCH(X/Y).
FRAMEWORK_DIR = platform.get_package_dir("framework-arduinopico")
assert os.path.isdir(FRAMEWORK_DIR)
@@ -84,12 +86,16 @@ env.Append(
LIBSOURCE_DIRS=[os.path.join(FRAMEWORK_DIR, "libraries")],
LIBPATH=[
os.path.join(FRAMEWORK_DIR, "lib")
],
# do **NOT** Add lib to LIBPATH, otherwise
# erroneous libstdc++.a will be found that crashes!
#LIBPATH=[
# os.path.join(FRAMEWORK_DIR, "lib")
#],
# link lib/libpico.a
LIBS=["pico", "m", "c", "stdc++", "c"]
# link lib/libpico.a by full path, ignore libstdc++
LIBS=[
File(os.path.join(FRAMEWORK_DIR, "lib", "libpico.a")),
"m", "c", "stdc++", "c"]
)
@@ -145,6 +151,10 @@ def configure_usb_flags(cpp_defines):
("SERIALUSB_PID", usb_pid)
])
if "USBD_MAX_POWER_MA" not in env.Flatten(env.get("CPPDEFINES", [])):
env.Append(CPPDEFINES=[("USBD_MAX_POWER_MA", 500)])
print("Warning: Undefined USBD_MAX_OWER_MA, assuming 500mA")
# use vidtouse and pidtouse
# for USB PID/VID autodetection
hw_ids = board.get("build.hwids", [["0x2E8A", "0x00C0"]])
@@ -188,9 +198,9 @@ if not board.get("build.ldscript", ""):
libs = []
variant = board.get("build.arduino.earlephilhower.variant", board.get("build.variant", None))
variant = board.get("build.arduino.earlephilhower.variant", board.get("build.variant", ""))
if variant is not None:
if variant != "":
env.Append(CPPPATH=[
os.path.join(FRAMEWORK_DIR, "variants", variant)
])
+44 -14
View File
@@ -228,17 +228,29 @@ def to_str(b):
def get_drives():
drives = []
if sys.platform == "win32":
r = subprocess.check_output(["wmic", "PATH", "Win32_LogicalDisk",
"get", "DeviceID,", "VolumeName,",
"FileSystem,", "DriveType"])
try:
r = subprocess.check_output(["wmic", "PATH", "Win32_LogicalDisk",
"get", "DeviceID,", "VolumeName,",
"FileSystem,", "DriveType"])
except:
try:
nul = open("nul:", "r")
r = subprocess.check_output(["powershell", "-NonInteractive", "-Command",
"Get-WmiObject -class Win32_LogicalDisk | "
"Format-Table -Property DeviceID, DriveType, Filesystem, VolumeName"],
stdin = nul)
nul.close()
except:
print("Unable to build drive list");
sys.exit(1)
for line in to_str(r).split('\n'):
words = re.split('\s+', line)
if len(words) >= 3 and words[1] == "2" and words[2] == "FAT":
drives.append(words[0])
else:
rootpath = "/media"
rootpath = "/run/media"
if not os.path.isdir(rootpath):
rootpath = "/run/media"
rootpath = "/media"
if not os.path.isdir(rootpath):
rootpath = "/opt/media"
if sys.platform == "darwin":
@@ -318,17 +330,16 @@ def main():
if args.serial:
if str(args.serial).startswith("/dev/tty") or str(args.serial).startswith("COM") or str(args.serial).startswith("/dev/cu"):
try:
print("Resetting "+str(args.serial))
print("Resetting " + str(args.serial))
try:
ser = serial.Serial(args.serial, 1200)
ser.dtr = False
except:
pass
print("Caught exception during reset!")
# Probably should be smart and check for device appearance or something
time.sleep(10)
except:
pass
if args.list:
list_drives()
else:
@@ -359,12 +370,31 @@ def main():
else:
drives = get_drives()
if (len(drives) == 0) and (sys.platform == "linux"):
rpidisk = glob.glob("/dev/disk/by-id/usb-RPI_RP2*-part1")
try:
subprocess.run(["udisksctl", "mount", "--block-device", os.path.realpath(rpidisk[0])])
drives = get_drives()
except:
pass # If it fails, no problem since it was a heroic attempt
globexpr = "/dev/disk/by-id/usb-RPI_RP2*-part1"
rpidisk = glob.glob(globexpr)
if len(rpidisk) == 0:
print("Unable to find disk by ID using expression: {}".format(globexpr))
else:
try:
cmd = ["udisksctl", "mount", "--block-device", os.path.realpath(rpidisk[0])]
proc_out = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if proc_out.returncode == 0:
stdoutput = proc_out.stdout.decode("UTF-8")
match = re.search(r'Mounted\s+.*\s+at\s+([^\.]*)', stdoutput)
if match is None:
print("Warn: {} did not print mount point. Attempting to locate mounted drive in file system. StdOut={}".format(cmd[0], stdoutput))
drives = get_drives()
else:
drives = [match.group(1)]
else:
print("Error executing command {}. Return Code: {} Std Output: {} StdError: {}".format(" ".join(cmd),
proc_out.returncode,
proc_out.stdout.decode("UTF-8"),
proc_out.stderr.decode("UTF-8")))
except Exception as ex:
print("Exception executing udisksctl. Exception: {}".format(ex))
# If it fails, no problem since it was a heroic attempt
if args.output:
write_file(args.output, outbuf)
+3
View File
@@ -6,6 +6,9 @@
// LEDs
#define PIN_LED (13u)
// NeoPixel
#define PIN_NEOPIXEL (16u)
// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
@@ -6,6 +6,10 @@
// LEDs
#define PIN_LED (11u)
// NeoPixel
#define PIN_NEOPIXEL (17u)
#define NEOPIXEL_POWER (16u)
// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
+10
View File
@@ -6,6 +6,10 @@
// LEDs not pinned out
#define PIN_LED (31u)
// NeoPixel
#define PIN_NEOPIXEL (12u)
#define NEOPIXEL_POWER (11u)
// Serial
#define PIN_SERIAL1_TX (20u)
#define PIN_SERIAL1_RX (5u)
@@ -38,4 +42,10 @@
#define SPI_HOWMANY (1u)
#define WIRE_HOWMANY (2u)
// Pin overrides specific to the QT Py RP2040
#define __PIN_A0 (29u)
#define __PIN_A1 (28u)
#define __PIN_A2 (27u)
#define __PIN_A3 (26u)
#include "../generic/common.h"
@@ -0,0 +1,9 @@
#include "nina_pins.h"
NinaPin LEDR(27);
NinaPin LEDG(25);
NinaPin LEDB(26);
NinaPin A4(34);
NinaPin A5(39);
NinaPin A6(36);
NinaPin A7(35);
+33 -25
View File
@@ -8,41 +8,49 @@
******************************************************************************/
#include "Arduino.h"
//#include "WiFiNINA.h"
/******************************************************************************
* PREPROCESSOR-MAGIC
******************************************************************************/
#if __has_include("WiFiNINA.h")
# define NINA_ATTRIBUTE
#else
# define NINA_ATTRIBUTE __attribute__ ((error("Please include WiFiNINA.h to use this pin")))
#endif
/******************************************************************************
* TYPEDEF
******************************************************************************/
enum NinaPin {
LEDR = 27,
LEDG = 25,
LEDB = 26//,
//A4 = 34,
//A5 = 39,
//A6 = 36,
//A7 = 35
int getAnalogReadResolution();
class NinaPin {
public:
NinaPin(int _pin) : pin(_pin) {};
int get() {
return pin;
};
int analogReadResolution() {
return getAnalogReadResolution();
};
bool operator== (NinaPin const & other) const {
return pin == other.pin;
}
//operator int() = delete;
__attribute__ ((error("Change me to a #define"))) operator int();
private:
int pin;
};
extern NinaPin LEDR;
extern NinaPin LEDG;
extern NinaPin LEDB;
extern NinaPin A4;
extern NinaPin A5;
extern NinaPin A6;
extern NinaPin A7;
#define NINA_PINS_AS_CLASS
/******************************************************************************
* FUNCTION DECLARATION
******************************************************************************/
void NINA_ATTRIBUTE pinMode (NinaPin pin, PinMode mode);
PinStatus NINA_ATTRIBUTE digitalRead (NinaPin pin);
void NINA_ATTRIBUTE digitalWrite(NinaPin pin, PinStatus value);
int NINA_ATTRIBUTE analogRead (NinaPin pin);
void NINA_ATTRIBUTE analogWrite (NinaPin pin, int value);
#undef NINA_ATTRIBUTE
void pinMode (NinaPin pin, PinMode mode);
PinStatus digitalRead (NinaPin pin);
void digitalWrite(NinaPin pin, PinStatus value);
int analogRead (NinaPin pin);
void analogWrite (NinaPin pin, int value);
#endif /* _NINA_PINS_ */
+5 -7
View File
@@ -39,8 +39,6 @@ static const uint8_t A0 = (26u);
static const uint8_t A1 = (27u);
static const uint8_t A2 = (28u);
static const uint8_t A3 = (29u);
static const uint8_t A4 = (12u);
static const uint8_t A5 = (13u);
// LEDs
#define PIN_LED (D13)
@@ -56,19 +54,19 @@ static const uint8_t A5 = (13u);
#define PIN_SPI0_MISO (D12)
#define PIN_SPI0_MOSI (D11)
#define PIN_SPI0_SCK (D13)
#define PIN_SPI0_SS (13u)//(D10)
#define PIN_SPI0_SS (D10)
#define PIN_SPI1_MISO (D25)
#define PIN_SPI1_MOSI (D28)
#define PIN_SPI1_SCK (D29)
#define PIN_SPI1_SS (13u)
#define PIN_SPI1_SS (D10)
// Wire
#define PIN_WIRE0_SDA (D18)
#define PIN_WIRE0_SCL (D19)
#define PIN_WIRE1_SDA (26u) //Non c'è
#define PIN_WIRE1_SCL (27u) //Non c'è
#define PIN_WIRE1_SDA (D14)
#define PIN_WIRE1_SCL (D15)
#define SERIAL_HOWMANY (3u)
#define SPI_HOWMANY (2u)
@@ -95,7 +93,7 @@ static const uint8_t SCK = PIN_SPI0_SCK;
#define SerialHCI Serial2
//#define NINA_GPIOIRQ (21u) // LEDG pin (GPIO26 on NINA)
#define NINA_GPIO0 (20u) // real GPIO0 on NINA
#define NINA_GPIO0 (D20) // (2u), real GPIO0 on NINA
#define SPIWIFI_SS (D26)
#define SPIWIFI_ACK (D27)
+40
View File
@@ -0,0 +1,40 @@
#pragma once
// Pin definitions taken from:
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
#define FLYBOARD2040
// LEDs
#define PIN_LED (25u)
// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
#define PIN_SERIAL2_TX (8u)
#define PIN_SERIAL2_RX (9u)
// SPI
#define PIN_SPI0_MISO (4u)
#define PIN_SPI0_MOSI (3u)
#define PIN_SPI0_SCK (2u)
#define PIN_SPI0_SS (5u)
#define PIN_SPI1_MISO (12u)
#define PIN_SPI1_MOSI (11u)
#define PIN_SPI1_SCK (10u)
#define PIN_SPI1_SS (13u)
// Wire
#define PIN_WIRE0_SDA (6u)
#define PIN_WIRE0_SCL (7u)
#define PIN_WIRE1_SDA (14u)
#define PIN_WIRE1_SCL (15u)
#define SERIAL_HOWMANY (3u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (2u)
#include "../generic/common.h"
+26 -4
View File
@@ -39,12 +39,34 @@ static const uint8_t D27 = (27u);
static const uint8_t D28 = (28u);
static const uint8_t D29 = (29u);
static const uint8_t A0 = (26u);
static const uint8_t A1 = (27u);
static const uint8_t A2 = (28u);
static const uint8_t A3 = (29u);
#ifdef __PIN_A0
static const uint8_t A0 = __PIN_A0;
#else
static const uint8_t A0 = (26u);
#endif
#ifdef __PIN_A1
static const uint8_t A1 = __PIN_A1;
#else
static const uint8_t A1 = (27u);
#endif
#ifdef __PIN_A2
static const uint8_t A2 = __PIN_A2;
#else
static const uint8_t A2 = (28u);
#endif
#ifdef __PIN_A3
static const uint8_t A3 = __PIN_A3;
#else
static const uint8_t A3 = (29u);
#endif
static const uint8_t SS = PIN_SPI0_SS;
static const uint8_t MOSI = PIN_SPI0_MOSI;
static const uint8_t MISO = PIN_SPI0_MISO;
static const uint8_t SCK = PIN_SPI0_SCK;
static const uint8_t SDA = PIN_WIRE0_SDA;
static const uint8_t SCL = PIN_WIRE0_SCL;
@@ -0,0 +1,40 @@
#pragma once
// Pin definitions taken from:
// https://rp2040-stamp.solder.party/carrier
// LEDs
#define PIN_LED (20u)
// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
#define PIN_SERIAL2_TX (24u)
#define PIN_SERIAL2_RX (25u)
// SPI
#define PIN_SPI0_MISO (16u)
#define PIN_SPI0_MOSI (19u)
#define PIN_SPI0_SCK (18u)
#define PIN_SPI0_SS (17u)
#define PIN_SPI1_MISO (8u)
#define PIN_SPI1_MOSI (11u)
#define PIN_SPI1_SCK (10u)
#define PIN_SPI1_SS (9u)
// Wire
#define PIN_WIRE0_SDA (4u)
#define PIN_WIRE0_SCL (5u)
#define PIN_WIRE1_SDA (2u)
#define PIN_WIRE1_SCL (3u)
#define SERIAL_HOWMANY (2u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (2u)
#define PIN_NEOPIXEL (21u)
#include "../generic/common.h"