Compare commits

..
2 Commits
Author SHA1 Message Date
Earle F. Philhower, III 6afcf5881d Initial Arduino Nano RP2040 Connect support (#212)
Thanks to @Claupio for the bringup!
Reference #208
2021-06-14 08:59:52 -07:00
Earle F. Philhower, III 30704a7c5e Obey timeout value on SerialUART.read/.peek (#211)
Fixes a hang when reading from the Serial UART ports because before the
core would pause indefinitely for the next character.

Now, wait up to Serial.setTimeout() milliseconds and if it times out
return -1 to the app.

Fixes #210
2021-06-13 14:11:23 -07:00
8 changed files with 619 additions and 2 deletions
+1
View File
@@ -17,6 +17,7 @@ See https://arduino-pico.readthedocs.io/en/latest/ along with the examples for m
* Adafruit QTPy RP2040
* Adafruit STEMMA Friend RP2040
* Adafruit Trinkey RP2040 QT
* Arduino Nano RP2040 Connect (preliminary)
* SparkFun ProMicro RP2040
* Generic (configurable flash, I/O pins)
+388
View File
@@ -1978,6 +1978,394 @@ adafruit_macropad2040picoprobe.menu.usbstack.picosdk.build.usbstack_flags=
adafruit_macropad2040picoprobe.menu.usbstack.tinyusb=Adafruit TinyUSB
adafruit_macropad2040picoprobe.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{build.core.path}/TinyUSB" "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
# -----------------------------------
# Arduino Nano RP2040 Connect
# -----------------------------------
arduino_nano_connect.name=Arduino Nano RP2040 Connect
arduino_nano_connect.vid.0=0x2341
arduino_nano_connect.pid.0=0x0058
arduino_nano_connect.build.usbpid=-DSERIALUSB_PID=0x0058
arduino_nano_connect.build.board=ARDUINO_NANO_RP2040_CONNECT
arduino_nano_connect.build.mcu=cortex-m0plus
arduino_nano_connect.build.variant=arduino_nano_connect
arduino_nano_connect.upload.tool=uf2conv
arduino_nano_connect.upload.maximum_size=16777216
arduino_nano_connect.upload.maximum_data_size=262144
arduino_nano_connect.upload.wait_for_upload_port=true
arduino_nano_connect.upload.erase_cmd=
arduino_nano_connect.serial.disableDTR=false
arduino_nano_connect.serial.disableRTS=false
arduino_nano_connect.build.f_cpu=125000000
arduino_nano_connect.build.led=
arduino_nano_connect.build.core=rp2040
arduino_nano_connect.build.mcu=rp2040
arduino_nano_connect.build.ldscript=memmap_default.ld
arduino_nano_connect.build.boot2=boot2_w25q080_2_padded_checksum
arduino_nano_connect.build.vid=0x2341
arduino_nano_connect.build.pid=0x0058
arduino_nano_connect.build.usb_manufacturer="Arduino"
arduino_nano_connect.build.usb_product="Nano RP2040 Connect"
arduino_nano_connect.menu.flash.16777216_0=16MB (no FS)
arduino_nano_connect.menu.flash.16777216_0.upload.maximum_size=16773120
arduino_nano_connect.menu.flash.16777216_0.build.flash_length=16773120
arduino_nano_connect.menu.flash.16777216_0.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_0.build.fs_start=285208576
arduino_nano_connect.menu.flash.16777216_0.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_65536=16MB (Sketch: 16320KB, FS: 64KB)
arduino_nano_connect.menu.flash.16777216_65536.upload.maximum_size=16707584
arduino_nano_connect.menu.flash.16777216_65536.build.flash_length=16707584
arduino_nano_connect.menu.flash.16777216_65536.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_65536.build.fs_start=285143040
arduino_nano_connect.menu.flash.16777216_65536.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_131072=16MB (Sketch: 16256KB, FS: 128KB)
arduino_nano_connect.menu.flash.16777216_131072.upload.maximum_size=16642048
arduino_nano_connect.menu.flash.16777216_131072.build.flash_length=16642048
arduino_nano_connect.menu.flash.16777216_131072.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_131072.build.fs_start=285077504
arduino_nano_connect.menu.flash.16777216_131072.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_262144=16MB (Sketch: 16128KB, FS: 256KB)
arduino_nano_connect.menu.flash.16777216_262144.upload.maximum_size=16510976
arduino_nano_connect.menu.flash.16777216_262144.build.flash_length=16510976
arduino_nano_connect.menu.flash.16777216_262144.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_262144.build.fs_start=284946432
arduino_nano_connect.menu.flash.16777216_262144.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_524288=16MB (Sketch: 15872KB, FS: 512KB)
arduino_nano_connect.menu.flash.16777216_524288.upload.maximum_size=16248832
arduino_nano_connect.menu.flash.16777216_524288.build.flash_length=16248832
arduino_nano_connect.menu.flash.16777216_524288.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_524288.build.fs_start=284684288
arduino_nano_connect.menu.flash.16777216_524288.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_1048576=16MB (Sketch: 15MB, FS: 1MB)
arduino_nano_connect.menu.flash.16777216_1048576.upload.maximum_size=15724544
arduino_nano_connect.menu.flash.16777216_1048576.build.flash_length=15724544
arduino_nano_connect.menu.flash.16777216_1048576.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_1048576.build.fs_start=284160000
arduino_nano_connect.menu.flash.16777216_1048576.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_2097152=16MB (Sketch: 14MB, FS: 2MB)
arduino_nano_connect.menu.flash.16777216_2097152.upload.maximum_size=14675968
arduino_nano_connect.menu.flash.16777216_2097152.build.flash_length=14675968
arduino_nano_connect.menu.flash.16777216_2097152.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_2097152.build.fs_start=283111424
arduino_nano_connect.menu.flash.16777216_2097152.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_3145728=16MB (Sketch: 13MB, FS: 3MB)
arduino_nano_connect.menu.flash.16777216_3145728.upload.maximum_size=13627392
arduino_nano_connect.menu.flash.16777216_3145728.build.flash_length=13627392
arduino_nano_connect.menu.flash.16777216_3145728.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_3145728.build.fs_start=282062848
arduino_nano_connect.menu.flash.16777216_3145728.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_4194304=16MB (Sketch: 12MB, FS: 4MB)
arduino_nano_connect.menu.flash.16777216_4194304.upload.maximum_size=12578816
arduino_nano_connect.menu.flash.16777216_4194304.build.flash_length=12578816
arduino_nano_connect.menu.flash.16777216_4194304.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_4194304.build.fs_start=281014272
arduino_nano_connect.menu.flash.16777216_4194304.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_5242880=16MB (Sketch: 11MB, FS: 5MB)
arduino_nano_connect.menu.flash.16777216_5242880.upload.maximum_size=11530240
arduino_nano_connect.menu.flash.16777216_5242880.build.flash_length=11530240
arduino_nano_connect.menu.flash.16777216_5242880.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_5242880.build.fs_start=279965696
arduino_nano_connect.menu.flash.16777216_5242880.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_6291456=16MB (Sketch: 10MB, FS: 6MB)
arduino_nano_connect.menu.flash.16777216_6291456.upload.maximum_size=10481664
arduino_nano_connect.menu.flash.16777216_6291456.build.flash_length=10481664
arduino_nano_connect.menu.flash.16777216_6291456.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_6291456.build.fs_start=278917120
arduino_nano_connect.menu.flash.16777216_6291456.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_7340032=16MB (Sketch: 9MB, FS: 7MB)
arduino_nano_connect.menu.flash.16777216_7340032.upload.maximum_size=9433088
arduino_nano_connect.menu.flash.16777216_7340032.build.flash_length=9433088
arduino_nano_connect.menu.flash.16777216_7340032.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_7340032.build.fs_start=277868544
arduino_nano_connect.menu.flash.16777216_7340032.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_8388608=16MB (Sketch: 8MB, FS: 8MB)
arduino_nano_connect.menu.flash.16777216_8388608.upload.maximum_size=8384512
arduino_nano_connect.menu.flash.16777216_8388608.build.flash_length=8384512
arduino_nano_connect.menu.flash.16777216_8388608.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_8388608.build.fs_start=276819968
arduino_nano_connect.menu.flash.16777216_8388608.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_9437184=16MB (Sketch: 7MB, FS: 9MB)
arduino_nano_connect.menu.flash.16777216_9437184.upload.maximum_size=7335936
arduino_nano_connect.menu.flash.16777216_9437184.build.flash_length=7335936
arduino_nano_connect.menu.flash.16777216_9437184.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_9437184.build.fs_start=275771392
arduino_nano_connect.menu.flash.16777216_9437184.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_10485760=16MB (Sketch: 6MB, FS: 10MB)
arduino_nano_connect.menu.flash.16777216_10485760.upload.maximum_size=6287360
arduino_nano_connect.menu.flash.16777216_10485760.build.flash_length=6287360
arduino_nano_connect.menu.flash.16777216_10485760.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_10485760.build.fs_start=274722816
arduino_nano_connect.menu.flash.16777216_10485760.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_11534336=16MB (Sketch: 5MB, FS: 11MB)
arduino_nano_connect.menu.flash.16777216_11534336.upload.maximum_size=5238784
arduino_nano_connect.menu.flash.16777216_11534336.build.flash_length=5238784
arduino_nano_connect.menu.flash.16777216_11534336.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_11534336.build.fs_start=273674240
arduino_nano_connect.menu.flash.16777216_11534336.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_12582912=16MB (Sketch: 4MB, FS: 12MB)
arduino_nano_connect.menu.flash.16777216_12582912.upload.maximum_size=4190208
arduino_nano_connect.menu.flash.16777216_12582912.build.flash_length=4190208
arduino_nano_connect.menu.flash.16777216_12582912.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_12582912.build.fs_start=272625664
arduino_nano_connect.menu.flash.16777216_12582912.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_13631488=16MB (Sketch: 3MB, FS: 13MB)
arduino_nano_connect.menu.flash.16777216_13631488.upload.maximum_size=3141632
arduino_nano_connect.menu.flash.16777216_13631488.build.flash_length=3141632
arduino_nano_connect.menu.flash.16777216_13631488.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_13631488.build.fs_start=271577088
arduino_nano_connect.menu.flash.16777216_13631488.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_14680064=16MB (Sketch: 2MB, FS: 14MB)
arduino_nano_connect.menu.flash.16777216_14680064.upload.maximum_size=2093056
arduino_nano_connect.menu.flash.16777216_14680064.build.flash_length=2093056
arduino_nano_connect.menu.flash.16777216_14680064.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_14680064.build.fs_start=270528512
arduino_nano_connect.menu.flash.16777216_14680064.build.fs_end=285208576
arduino_nano_connect.menu.flash.16777216_15728640=16MB (Sketch: 1MB, FS: 15MB)
arduino_nano_connect.menu.flash.16777216_15728640.upload.maximum_size=1044480
arduino_nano_connect.menu.flash.16777216_15728640.build.flash_length=1044480
arduino_nano_connect.menu.flash.16777216_15728640.build.eeprom_start=285208576
arduino_nano_connect.menu.flash.16777216_15728640.build.fs_start=269479936
arduino_nano_connect.menu.flash.16777216_15728640.build.fs_end=285208576
arduino_nano_connect.menu.freq.125=125 MHz
arduino_nano_connect.menu.freq.125.build.f_cpu=125000000L
arduino_nano_connect.menu.freq.50=50 MHz
arduino_nano_connect.menu.freq.50.build.f_cpu=50000000L
arduino_nano_connect.menu.freq.100=100 MHz
arduino_nano_connect.menu.freq.100.build.f_cpu=100000000L
arduino_nano_connect.menu.freq.133=133 MHz
arduino_nano_connect.menu.freq.133.build.f_cpu=133000000L
arduino_nano_connect.menu.freq.150=150 MHz (Overclock)
arduino_nano_connect.menu.freq.150.build.f_cpu=150000000L
arduino_nano_connect.menu.freq.175=175 MHz (Overclock)
arduino_nano_connect.menu.freq.175.build.f_cpu=175000000L
arduino_nano_connect.menu.freq.200=200 MHz (Overclock)
arduino_nano_connect.menu.freq.200.build.f_cpu=200000000L
arduino_nano_connect.menu.freq.225=225 MHz (Overclock)
arduino_nano_connect.menu.freq.225.build.f_cpu=225000000L
arduino_nano_connect.menu.freq.250=250 MHz (Overclock)
arduino_nano_connect.menu.freq.250.build.f_cpu=250000000L
arduino_nano_connect.menu.freq.275=275 MHz (Overclock)
arduino_nano_connect.menu.freq.275.build.f_cpu=275000000L
arduino_nano_connect.menu.freq.300=300 MHz (Overclock)
arduino_nano_connect.menu.freq.300.build.f_cpu=300000000L
arduino_nano_connect.menu.dbgport.Disabled=Disabled
arduino_nano_connect.menu.dbgport.Disabled.build.debug_port=
arduino_nano_connect.menu.dbgport.Serial=Serial
arduino_nano_connect.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
arduino_nano_connect.menu.dbgport.Serial1=Serial1
arduino_nano_connect.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
arduino_nano_connect.menu.dbgport.Serial2=Serial2
arduino_nano_connect.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
arduino_nano_connect.menu.dbglvl.None=None
arduino_nano_connect.menu.dbglvl.None.build.debug_level=
arduino_nano_connect.menu.dbglvl.Core=Core
arduino_nano_connect.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
arduino_nano_connect.menu.dbglvl.SPI=SPI
arduino_nano_connect.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
arduino_nano_connect.menu.dbglvl.Wire=Wire
arduino_nano_connect.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
arduino_nano_connect.menu.dbglvl.All=All
arduino_nano_connect.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
arduino_nano_connect.menu.dbglvl.NDEBUG=NDEBUG
arduino_nano_connect.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
arduino_nano_connect.menu.usbstack.picosdk=Pico SDK
arduino_nano_connect.menu.usbstack.picosdk.build.usbstack_flags=
arduino_nano_connect.menu.usbstack.tinyusb=Adafruit TinyUSB
arduino_nano_connect.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{build.core.path}/TinyUSB" "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
# -----------------------------------
# Arduino Nano RP2040 Connect (Picoprobe)
# -----------------------------------
arduino_nano_connectpicoprobe.name=Arduino Nano RP2040 Connect (Picoprobe)
arduino_nano_connectpicoprobe.vid.0=0x2341
arduino_nano_connectpicoprobe.pid.0=0x0004
arduino_nano_connectpicoprobe.build.usbpid=-DSERIALUSB_PID=0x0058
arduino_nano_connectpicoprobe.build.board=ARDUINO_NANO_RP2040_CONNECT
arduino_nano_connectpicoprobe.build.mcu=cortex-m0plus
arduino_nano_connectpicoprobe.build.variant=arduino_nano_connect
arduino_nano_connectpicoprobe.upload.tool=picoprobe
arduino_nano_connectpicoprobe.upload.maximum_size=16777216
arduino_nano_connectpicoprobe.upload.maximum_data_size=262144
arduino_nano_connectpicoprobe.upload.wait_for_upload_port=true
arduino_nano_connectpicoprobe.upload.erase_cmd=
arduino_nano_connectpicoprobe.serial.disableDTR=false
arduino_nano_connectpicoprobe.serial.disableRTS=false
arduino_nano_connectpicoprobe.build.f_cpu=125000000
arduino_nano_connectpicoprobe.build.led=
arduino_nano_connectpicoprobe.build.core=rp2040
arduino_nano_connectpicoprobe.build.mcu=rp2040
arduino_nano_connectpicoprobe.build.ldscript=memmap_default.ld
arduino_nano_connectpicoprobe.build.boot2=boot2_w25q080_2_padded_checksum
arduino_nano_connectpicoprobe.build.vid=0x2341
arduino_nano_connectpicoprobe.build.pid=0x0058
arduino_nano_connectpicoprobe.build.usb_manufacturer="Arduino"
arduino_nano_connectpicoprobe.build.usb_product="Nano RP2040 Connect (Picoprobe)"
arduino_nano_connectpicoprobe.menu.flash.16777216_0=16MB (no FS)
arduino_nano_connectpicoprobe.menu.flash.16777216_0.upload.maximum_size=16773120
arduino_nano_connectpicoprobe.menu.flash.16777216_0.build.flash_length=16773120
arduino_nano_connectpicoprobe.menu.flash.16777216_0.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_0.build.fs_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_0.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_65536=16MB (Sketch: 16320KB, FS: 64KB)
arduino_nano_connectpicoprobe.menu.flash.16777216_65536.upload.maximum_size=16707584
arduino_nano_connectpicoprobe.menu.flash.16777216_65536.build.flash_length=16707584
arduino_nano_connectpicoprobe.menu.flash.16777216_65536.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_65536.build.fs_start=285143040
arduino_nano_connectpicoprobe.menu.flash.16777216_65536.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_131072=16MB (Sketch: 16256KB, FS: 128KB)
arduino_nano_connectpicoprobe.menu.flash.16777216_131072.upload.maximum_size=16642048
arduino_nano_connectpicoprobe.menu.flash.16777216_131072.build.flash_length=16642048
arduino_nano_connectpicoprobe.menu.flash.16777216_131072.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_131072.build.fs_start=285077504
arduino_nano_connectpicoprobe.menu.flash.16777216_131072.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_262144=16MB (Sketch: 16128KB, FS: 256KB)
arduino_nano_connectpicoprobe.menu.flash.16777216_262144.upload.maximum_size=16510976
arduino_nano_connectpicoprobe.menu.flash.16777216_262144.build.flash_length=16510976
arduino_nano_connectpicoprobe.menu.flash.16777216_262144.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_262144.build.fs_start=284946432
arduino_nano_connectpicoprobe.menu.flash.16777216_262144.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_524288=16MB (Sketch: 15872KB, FS: 512KB)
arduino_nano_connectpicoprobe.menu.flash.16777216_524288.upload.maximum_size=16248832
arduino_nano_connectpicoprobe.menu.flash.16777216_524288.build.flash_length=16248832
arduino_nano_connectpicoprobe.menu.flash.16777216_524288.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_524288.build.fs_start=284684288
arduino_nano_connectpicoprobe.menu.flash.16777216_524288.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576=16MB (Sketch: 15MB, FS: 1MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576.upload.maximum_size=15724544
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576.build.flash_length=15724544
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576.build.fs_start=284160000
arduino_nano_connectpicoprobe.menu.flash.16777216_1048576.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152=16MB (Sketch: 14MB, FS: 2MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152.upload.maximum_size=14675968
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152.build.flash_length=14675968
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152.build.fs_start=283111424
arduino_nano_connectpicoprobe.menu.flash.16777216_2097152.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728=16MB (Sketch: 13MB, FS: 3MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728.upload.maximum_size=13627392
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728.build.flash_length=13627392
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728.build.fs_start=282062848
arduino_nano_connectpicoprobe.menu.flash.16777216_3145728.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304=16MB (Sketch: 12MB, FS: 4MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304.upload.maximum_size=12578816
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304.build.flash_length=12578816
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304.build.fs_start=281014272
arduino_nano_connectpicoprobe.menu.flash.16777216_4194304.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880=16MB (Sketch: 11MB, FS: 5MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880.upload.maximum_size=11530240
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880.build.flash_length=11530240
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880.build.fs_start=279965696
arduino_nano_connectpicoprobe.menu.flash.16777216_5242880.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456=16MB (Sketch: 10MB, FS: 6MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456.upload.maximum_size=10481664
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456.build.flash_length=10481664
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456.build.fs_start=278917120
arduino_nano_connectpicoprobe.menu.flash.16777216_6291456.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032=16MB (Sketch: 9MB, FS: 7MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032.upload.maximum_size=9433088
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032.build.flash_length=9433088
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032.build.fs_start=277868544
arduino_nano_connectpicoprobe.menu.flash.16777216_7340032.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608=16MB (Sketch: 8MB, FS: 8MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608.upload.maximum_size=8384512
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608.build.flash_length=8384512
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608.build.fs_start=276819968
arduino_nano_connectpicoprobe.menu.flash.16777216_8388608.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184=16MB (Sketch: 7MB, FS: 9MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184.upload.maximum_size=7335936
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184.build.flash_length=7335936
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184.build.fs_start=275771392
arduino_nano_connectpicoprobe.menu.flash.16777216_9437184.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760=16MB (Sketch: 6MB, FS: 10MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760.upload.maximum_size=6287360
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760.build.flash_length=6287360
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760.build.fs_start=274722816
arduino_nano_connectpicoprobe.menu.flash.16777216_10485760.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336=16MB (Sketch: 5MB, FS: 11MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336.upload.maximum_size=5238784
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336.build.flash_length=5238784
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336.build.fs_start=273674240
arduino_nano_connectpicoprobe.menu.flash.16777216_11534336.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912=16MB (Sketch: 4MB, FS: 12MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912.upload.maximum_size=4190208
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912.build.flash_length=4190208
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912.build.fs_start=272625664
arduino_nano_connectpicoprobe.menu.flash.16777216_12582912.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488=16MB (Sketch: 3MB, FS: 13MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488.upload.maximum_size=3141632
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488.build.flash_length=3141632
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488.build.fs_start=271577088
arduino_nano_connectpicoprobe.menu.flash.16777216_13631488.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064=16MB (Sketch: 2MB, FS: 14MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064.upload.maximum_size=2093056
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064.build.flash_length=2093056
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064.build.fs_start=270528512
arduino_nano_connectpicoprobe.menu.flash.16777216_14680064.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640=16MB (Sketch: 1MB, FS: 15MB)
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640.upload.maximum_size=1044480
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640.build.flash_length=1044480
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640.build.eeprom_start=285208576
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640.build.fs_start=269479936
arduino_nano_connectpicoprobe.menu.flash.16777216_15728640.build.fs_end=285208576
arduino_nano_connectpicoprobe.menu.freq.125=125 MHz
arduino_nano_connectpicoprobe.menu.freq.125.build.f_cpu=125000000L
arduino_nano_connectpicoprobe.menu.freq.50=50 MHz
arduino_nano_connectpicoprobe.menu.freq.50.build.f_cpu=50000000L
arduino_nano_connectpicoprobe.menu.freq.100=100 MHz
arduino_nano_connectpicoprobe.menu.freq.100.build.f_cpu=100000000L
arduino_nano_connectpicoprobe.menu.freq.133=133 MHz
arduino_nano_connectpicoprobe.menu.freq.133.build.f_cpu=133000000L
arduino_nano_connectpicoprobe.menu.freq.150=150 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.150.build.f_cpu=150000000L
arduino_nano_connectpicoprobe.menu.freq.175=175 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.175.build.f_cpu=175000000L
arduino_nano_connectpicoprobe.menu.freq.200=200 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.200.build.f_cpu=200000000L
arduino_nano_connectpicoprobe.menu.freq.225=225 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.225.build.f_cpu=225000000L
arduino_nano_connectpicoprobe.menu.freq.250=250 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.250.build.f_cpu=250000000L
arduino_nano_connectpicoprobe.menu.freq.275=275 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.275.build.f_cpu=275000000L
arduino_nano_connectpicoprobe.menu.freq.300=300 MHz (Overclock)
arduino_nano_connectpicoprobe.menu.freq.300.build.f_cpu=300000000L
arduino_nano_connectpicoprobe.menu.dbgport.Disabled=Disabled
arduino_nano_connectpicoprobe.menu.dbgport.Disabled.build.debug_port=
arduino_nano_connectpicoprobe.menu.dbgport.Serial=Serial
arduino_nano_connectpicoprobe.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
arduino_nano_connectpicoprobe.menu.dbgport.Serial1=Serial1
arduino_nano_connectpicoprobe.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
arduino_nano_connectpicoprobe.menu.dbgport.Serial2=Serial2
arduino_nano_connectpicoprobe.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
arduino_nano_connectpicoprobe.menu.dbglvl.None=None
arduino_nano_connectpicoprobe.menu.dbglvl.None.build.debug_level=
arduino_nano_connectpicoprobe.menu.dbglvl.Core=Core
arduino_nano_connectpicoprobe.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
arduino_nano_connectpicoprobe.menu.dbglvl.SPI=SPI
arduino_nano_connectpicoprobe.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
arduino_nano_connectpicoprobe.menu.dbglvl.Wire=Wire
arduino_nano_connectpicoprobe.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
arduino_nano_connectpicoprobe.menu.dbglvl.All=All
arduino_nano_connectpicoprobe.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
arduino_nano_connectpicoprobe.menu.dbglvl.NDEBUG=NDEBUG
arduino_nano_connectpicoprobe.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
arduino_nano_connectpicoprobe.menu.usbstack.picosdk=Pico SDK
arduino_nano_connectpicoprobe.menu.usbstack.picosdk.build.usbstack_flags=
arduino_nano_connectpicoprobe.menu.usbstack.tinyusb=Adafruit TinyUSB
arduino_nano_connectpicoprobe.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{build.core.path}/TinyUSB" "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
# -----------------------------------
# SparkFun ProMicro RP2040
# -----------------------------------
+10 -2
View File
@@ -115,7 +115,11 @@ int SerialUART::peek() {
if (_peek >= 0) {
return _peek;
}
_peek = uart_getc(_uart);
if (uart_is_readable_within_us(_uart, _timeout * 1000)) {
_peek = uart_getc(_uart);
} else {
_peek = -1; // Timeout
}
return _peek;
}
@@ -129,7 +133,11 @@ int SerialUART::read() {
_peek = -1;
return ret;
}
return uart_getc(_uart);
if (uart_is_readable_within_us(_uart, _timeout * 1000)) {
return uart_getc(_uart);
} else {
return -1; // Timeout
}
}
int SerialUART::available() {
+3
View File
@@ -38,6 +38,9 @@
{
"name": "Adafruit Trinkey RP2040 QT"
},
{
"name": "Arduino Nano RP2040 Connect"
},
{
"name": "SparkFun ProMicro RP2040"
},
+1
View File
@@ -126,6 +126,7 @@ MakeBoard("adafruit_qtpy", "Adafruit", "QT Py RP2040", "0x239a", "0x80f7", "ADAF
MakeBoard("adafruit_stemmafriend", "Adafruit", "STEMMA Friend RP2040", "0x239a", "0x80e3", "ADAFRUIT_STEMMAFRIEND_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("adafruit_trinkeyrp2040qt", "Adafruit", "Trinkey RP2040 QT", "0x239a", "0x8109", "ADAFRUIT_TRINKEYQT_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("adafruit_macropad2040", "Adafruit", "MacroPad RP2040", "0x239a", "0x8107", "ADAFRUIT_MACROPAD_RP2040", 8, "boot2_w25q080_2_padded_checksum")
MakeBoard("arduino_nano_connect", "Arduino", "Nano RP2040 Connect", "0x2341", "0x0058", "ARDUINO_NANO_RP2040_CONNECT", 16, "boot2_w25q080_2_padded_checksum")
MakeBoard("sparkfun_promicrorp2040", "SparkFun", "ProMicro RP2040", "0x1b4f", "0x0026", "SPARKFUN_PROMICRO_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
MakeBoard("generic", "Generic", "RP2040", "0x2e8a", "0xf00a", "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
@@ -0,0 +1,53 @@
/* Taken from https://github.com/arduino/ArduinoCore-mbed/tree/master/variants/NANO_RP2040_CONNECT */
AnalogPinDescription g_AAnalogPinDescription[] = {
{ p26, NULL }, // A0
{ p27, NULL }, // A1
{ p28, NULL }, // A2
{ p29, NULL }, // A3
};
PinDescription g_APinDescription[] = {
// D0 - D7
{ p1, NULL, NULL, NULL }, // D0
{ p0, NULL, NULL, NULL }, // D1
{ p25, NULL, NULL, NULL }, // D2
{ p15, NULL, NULL, NULL }, // D3
{ p16, NULL, NULL, NULL }, // D4
{ p17, NULL, NULL, NULL }, // D5
{ p18, NULL, NULL, NULL }, // D6
{ p19, NULL, NULL, NULL }, // D7
// D8 - D13
{ p20, NULL, NULL, NULL }, // D8
{ p21, NULL, NULL, NULL }, // D9
{ p5, NULL, NULL, NULL }, // D10
{ p7, NULL, NULL, NULL }, // D11 / SPITX
{ p4, NULL, NULL, NULL }, // D12 / SPIRX
{ p6, NULL, NULL, NULL }, // D13 / SPICLK / LEDB
// Analog as digital
// A4 to A7 are controlled by Nina module and exposed via different APIs
{ p26, NULL, NULL, NULL }, // A0 -> D14
{ p27, NULL, NULL, NULL }, // A1 -> D15
{ p28, NULL, NULL, NULL }, // A2 -> D16
{ p29, NULL, NULL, NULL }, // A3 -> D17
// I2C
{ p12, NULL, NULL, NULL }, // A4 / SDA -> D18
{ p13, NULL, NULL, NULL }, // A5 / SCL -> D19
// Internal pins - D20 - D23
{ p2, NULL, NULL, NULL }, // GPIO0
{ p24, NULL, NULL, NULL }, // IMU IRQ
{ p22, NULL, NULL, NULL }, // PDM DATA IN
{ p23, NULL, NULL, NULL }, // PDM CLOCK
// Internal pins Nina - D24 - D29
{ p3, NULL, NULL, NULL }, // RESET_NINA
{ p8, NULL, NULL, NULL }, // SPI1_CIPO / UART1_TX
{ p9, NULL, NULL, NULL }, // SPI1_CS / UART1_RX
{ p10, NULL, NULL, NULL }, // SPI1_ACK / UART1_CTS
{ p11, NULL, NULL, NULL }, // SPI1_COPI / UART1_RTS
{ p14, NULL, NULL, NULL }, // SPI1_SCK
};
+48
View File
@@ -0,0 +1,48 @@
/* Taken from https://github.com/arduino/ArduinoCore-mbed/tree/master/variants/NANO_RP2040_CONNECT */
#ifndef _NINA_PINS_
#define _NINA_PINS_
/******************************************************************************
* INCLUDE
******************************************************************************/
#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
};
/******************************************************************************
* 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
#endif /* _NINA_PINS_ */
@@ -0,0 +1,115 @@
/* Taken from https://github.com/arduino/ArduinoCore-mbed/tree/master/variants/NANO_RP2040_CONNECT */
#pragma once
// Pin definitions taken from:
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
static const uint8_t D0 = (1u);
static const uint8_t D1 = (0u);
static const uint8_t D2 = (25u);
static const uint8_t D3 = (15u);
static const uint8_t D4 = (16u);
static const uint8_t D5 = (17u);
static const uint8_t D6 = (18u);
static const uint8_t D7 = (19u);
static const uint8_t D8 = (20u);
static const uint8_t D9 = (21u);
static const uint8_t D10 = (5u);
static const uint8_t D11 = (7u);
static const uint8_t D12 = (4u);
static const uint8_t D13 = (6u);
static const uint8_t D14 = (26u);
static const uint8_t D15 = (27u);
static const uint8_t D16 = (28u);
static const uint8_t D17 = (29u);
static const uint8_t D18 = (12u);
static const uint8_t D19 = (13u);
static const uint8_t D20 = (2u);
static const uint8_t D21 = (24u);
static const uint8_t D22 = (22u);
static const uint8_t D23 = (23u);
static const uint8_t D24 = (3u);
static const uint8_t D25 = (8u);
static const uint8_t D26 = (9u);
static const uint8_t D27 = (10u);
static const uint8_t D28 = (11u);
static const uint8_t D29 = (14u);
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)
// Serial
#define PIN_SERIAL1_TX (D1)
#define PIN_SERIAL1_RX (D0)
#define PIN_SERIAL2_TX (D25)
#define PIN_SERIAL2_RX (D26)
// SPI
#define PIN_SPI0_MISO (D12)
#define PIN_SPI0_MOSI (D11)
#define PIN_SPI0_SCK (D13)
#define PIN_SPI0_SS (13u)//(D10)
#define PIN_SPI1_MISO (D25)
#define PIN_SPI1_MOSI (D28)
#define PIN_SPI1_SCK (D29)
#define PIN_SPI1_SS (13u)
// 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 SERIAL_HOWMANY (3u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (1u)
#define PINS_COUNT (30u)
#define NUM_DIGITAL_PINS (30u)
#define NUM_ANALOG_INPUTS (4u)
#define NUM_ANALOG_OUTPUTS (0u)
#define ADC_RESOLUTION (12u)
#define LED_BUILTIN PIN_LED
#define DigitalPinToPinName(p) (p)
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;
//Nina support
#define NINA_RESETN (D24)
#define SerialNina Serial3
#define SerialHCI Serial2
//#define NINA_GPIOIRQ (21u) // LEDG pin (GPIO26 on NINA)
#define NINA_GPIO0 (20u) // real GPIO0 on NINA
#define SPIWIFI_SS (D26)
#define SPIWIFI_ACK (D27)
#define SPIWIFI_RESET (NINA_RESETN)
#define SPIWIFI (SPI1)
//Cose copiate a caso
#define SERIAL_PORT_USBVIRTUAL SerialUSB
#define SERIAL_PORT_MONITOR SerialUSB
#define SERIAL_PORT_HARDWARE Serial1
#define SERIAL_PORT_HARDWARE_OPEN Serial2
#define CRYPTO_WIRE Wire
#define USB_MAX_POWER (500)
#include "nina_pins.h"