Compare commits
@@ -191,6 +191,9 @@ Here are some links to coverage and additional tutorials for using `arduino-pico
|
||||
* Adafruit Feather RP2040 running LCD + TMP117 - https://www.youtube.com/watch?v=fKDeqZiIwHg
|
||||
* Demonstration of Servos and I2C in Korean - https://cafe.naver.com/arduinoshield/1201
|
||||
* Home Assistant Pico W integration starter project using Arduino - https://github.com/daniloc/PicoW_HomeAssistant_Starter
|
||||
* Tutorials for the Raspberry Pi Pico / uPesy RP2040 DevKit board
|
||||
- English version: https://www.upesy.com/blogs/tutorials/best-tutorials-for-rpi-pi-pico-with-arduino-code
|
||||
- French version: https://www.upesy.fr/blogs/tutorials/best-tutorials-for-rpi-pi-pico-with-arduino-code
|
||||
|
||||
# Contributing
|
||||
If you want to contribute or have bugfixes, drop me a note at <earlephilhower@yahoo.com> or open an issue/PR here.
|
||||
|
||||
+103
-151
@@ -37,7 +37,8 @@ rpipico.vid.6=0x2e8a
|
||||
rpipico.pid.6=0xc00a
|
||||
rpipico.vid.7=0x2e8a
|
||||
rpipico.pid.7=0xc10a
|
||||
rpipico.build.usbpid=-DSERIALUSB_PID=0x000a
|
||||
rpipico.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
rpipico.build.usbpid=-DUSBD_PID=0x000a
|
||||
rpipico.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
rpipico.build.board=RASPBERRY_PI_PICO
|
||||
rpipico.build.mcu=cortex-m0plus
|
||||
@@ -52,8 +53,6 @@ rpipico.build.led=
|
||||
rpipico.build.core=rp2040
|
||||
rpipico.build.ldscript=memmap_default.ld
|
||||
rpipico.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
rpipico.build.vid=0x2e8a
|
||||
rpipico.build.pid=0x000a
|
||||
rpipico.build.usb_manufacturer="Raspberry Pi"
|
||||
rpipico.build.usb_product="Pico"
|
||||
rpipico.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -224,7 +223,8 @@ rpipicow.vid.6=0x2e8a
|
||||
rpipicow.pid.6=0xf00a
|
||||
rpipicow.vid.7=0x2e8a
|
||||
rpipicow.pid.7=0xf10a
|
||||
rpipicow.build.usbpid=-DSERIALUSB_PID=0xf00a
|
||||
rpipicow.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
rpipicow.build.usbpid=-DUSBD_PID=0xf00a
|
||||
rpipicow.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
rpipicow.build.board=RASPBERRY_PI_PICO_W
|
||||
rpipicow.build.mcu=cortex-m0plus
|
||||
@@ -239,8 +239,6 @@ rpipicow.build.led=
|
||||
rpipicow.build.core=rp2040
|
||||
rpipicow.build.ldscript=memmap_default.ld
|
||||
rpipicow.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
rpipicow.build.vid=0x2e8a
|
||||
rpipicow.build.pid=0xf00a
|
||||
rpipicow.build.usb_manufacturer="Raspberry Pi"
|
||||
rpipicow.build.usb_product="Pico W"
|
||||
rpipicow.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -515,7 +513,8 @@ rpipicow.menu.uploadmethod.picodebug.upload.tool.default=picodebug
|
||||
0xcb_helios.pid.6=0xcb74
|
||||
0xcb_helios.vid.7=0x1209
|
||||
0xcb_helios.pid.7=0xcb74
|
||||
0xcb_helios.build.usbpid=-DSERIALUSB_PID=0xCB74
|
||||
0xcb_helios.build.usbvid=-DUSBD_VID=0x1209
|
||||
0xcb_helios.build.usbpid=-DUSBD_PID=0xCB74
|
||||
0xcb_helios.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
0xcb_helios.build.board=0XCB_HELIOS
|
||||
0xcb_helios.build.mcu=cortex-m0plus
|
||||
@@ -529,9 +528,7 @@ rpipicow.menu.uploadmethod.picodebug.upload.tool.default=picodebug
|
||||
0xcb_helios.build.led=
|
||||
0xcb_helios.build.core=rp2040
|
||||
0xcb_helios.build.ldscript=memmap_default.ld
|
||||
0xcb_helios.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
0xcb_helios.build.vid=0x1209
|
||||
0xcb_helios.build.pid=0xCB74
|
||||
0xcb_helios.build.boot2=boot2_w25q128jvxq_4_padded_checksum
|
||||
0xcb_helios.build.usb_manufacturer="0xCB"
|
||||
0xcb_helios.build.usb_product="Helios"
|
||||
0xcb_helios.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -786,7 +783,8 @@ adafruit_feather.vid.6=0x239a
|
||||
adafruit_feather.pid.6=0xc0f1
|
||||
adafruit_feather.vid.7=0x239a
|
||||
adafruit_feather.pid.7=0xc1f1
|
||||
adafruit_feather.build.usbpid=-DSERIALUSB_PID=0x80f1
|
||||
adafruit_feather.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_feather.build.usbpid=-DUSBD_PID=0x80f1
|
||||
adafruit_feather.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_feather.build.board=ADAFRUIT_FEATHER_RP2040
|
||||
adafruit_feather.build.mcu=cortex-m0plus
|
||||
@@ -801,8 +799,6 @@ adafruit_feather.build.led=
|
||||
adafruit_feather.build.core=rp2040
|
||||
adafruit_feather.build.ldscript=memmap_default.ld
|
||||
adafruit_feather.build.boot2=boot2_w25x10cl_4_padded_checksum
|
||||
adafruit_feather.build.vid=0x239a
|
||||
adafruit_feather.build.pid=0x80f1
|
||||
adafruit_feather.build.usb_manufacturer="Adafruit"
|
||||
adafruit_feather.build.usb_product="Feather RP2040"
|
||||
adafruit_feather.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -1009,7 +1005,8 @@ adafruit_feather_scorpio.vid.6=0x239a
|
||||
adafruit_feather_scorpio.pid.6=0xc121
|
||||
adafruit_feather_scorpio.vid.7=0x239a
|
||||
adafruit_feather_scorpio.pid.7=0xc121
|
||||
adafruit_feather_scorpio.build.usbpid=-DSERIALUSB_PID=0x8121
|
||||
adafruit_feather_scorpio.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_feather_scorpio.build.usbpid=-DUSBD_PID=0x8121
|
||||
adafruit_feather_scorpio.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_feather_scorpio.build.board=ADAFRUIT_FEATHER_RP2040_SCORPIO
|
||||
adafruit_feather_scorpio.build.mcu=cortex-m0plus
|
||||
@@ -1024,8 +1021,6 @@ adafruit_feather_scorpio.build.led=
|
||||
adafruit_feather_scorpio.build.core=rp2040
|
||||
adafruit_feather_scorpio.build.ldscript=memmap_default.ld
|
||||
adafruit_feather_scorpio.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_feather_scorpio.build.vid=0x239a
|
||||
adafruit_feather_scorpio.build.pid=0x8121
|
||||
adafruit_feather_scorpio.build.usb_manufacturer="Adafruit"
|
||||
adafruit_feather_scorpio.build.usb_product="Feather RP2040 SCORPIO"
|
||||
adafruit_feather_scorpio.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -1232,7 +1227,8 @@ adafruit_itsybitsy.vid.6=0x239a
|
||||
adafruit_itsybitsy.pid.6=0xc0fd
|
||||
adafruit_itsybitsy.vid.7=0x239a
|
||||
adafruit_itsybitsy.pid.7=0xc1fd
|
||||
adafruit_itsybitsy.build.usbpid=-DSERIALUSB_PID=0x80fd
|
||||
adafruit_itsybitsy.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_itsybitsy.build.usbpid=-DUSBD_PID=0x80fd
|
||||
adafruit_itsybitsy.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_itsybitsy.build.board=ADAFRUIT_ITSYBITSY_RP2040
|
||||
adafruit_itsybitsy.build.mcu=cortex-m0plus
|
||||
@@ -1247,8 +1243,6 @@ adafruit_itsybitsy.build.led=
|
||||
adafruit_itsybitsy.build.core=rp2040
|
||||
adafruit_itsybitsy.build.ldscript=memmap_default.ld
|
||||
adafruit_itsybitsy.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_itsybitsy.build.vid=0x239a
|
||||
adafruit_itsybitsy.build.pid=0x80fd
|
||||
adafruit_itsybitsy.build.usb_manufacturer="Adafruit"
|
||||
adafruit_itsybitsy.build.usb_product="ItsyBitsy RP2040"
|
||||
adafruit_itsybitsy.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -1455,7 +1449,8 @@ adafruit_qtpy.vid.6=0x239a
|
||||
adafruit_qtpy.pid.6=0xc0f7
|
||||
adafruit_qtpy.vid.7=0x239a
|
||||
adafruit_qtpy.pid.7=0xc1f7
|
||||
adafruit_qtpy.build.usbpid=-DSERIALUSB_PID=0x80f7
|
||||
adafruit_qtpy.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_qtpy.build.usbpid=-DUSBD_PID=0x80f7
|
||||
adafruit_qtpy.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_qtpy.build.board=ADAFRUIT_QTPY_RP2040
|
||||
adafruit_qtpy.build.mcu=cortex-m0plus
|
||||
@@ -1470,8 +1465,6 @@ adafruit_qtpy.build.led=
|
||||
adafruit_qtpy.build.core=rp2040
|
||||
adafruit_qtpy.build.ldscript=memmap_default.ld
|
||||
adafruit_qtpy.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_qtpy.build.vid=0x239a
|
||||
adafruit_qtpy.build.pid=0x80f7
|
||||
adafruit_qtpy.build.usb_manufacturer="Adafruit"
|
||||
adafruit_qtpy.build.usb_product="QT Py RP2040"
|
||||
adafruit_qtpy.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -1678,7 +1671,8 @@ adafruit_stemmafriend.vid.6=0x239a
|
||||
adafruit_stemmafriend.pid.6=0xc0e3
|
||||
adafruit_stemmafriend.vid.7=0x239a
|
||||
adafruit_stemmafriend.pid.7=0xc1e3
|
||||
adafruit_stemmafriend.build.usbpid=-DSERIALUSB_PID=0x80e3
|
||||
adafruit_stemmafriend.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_stemmafriend.build.usbpid=-DUSBD_PID=0x80e3
|
||||
adafruit_stemmafriend.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_stemmafriend.build.board=ADAFRUIT_STEMMAFRIEND_RP2040
|
||||
adafruit_stemmafriend.build.mcu=cortex-m0plus
|
||||
@@ -1693,8 +1687,6 @@ adafruit_stemmafriend.build.led=
|
||||
adafruit_stemmafriend.build.core=rp2040
|
||||
adafruit_stemmafriend.build.ldscript=memmap_default.ld
|
||||
adafruit_stemmafriend.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_stemmafriend.build.vid=0x239a
|
||||
adafruit_stemmafriend.build.pid=0x80e3
|
||||
adafruit_stemmafriend.build.usb_manufacturer="Adafruit"
|
||||
adafruit_stemmafriend.build.usb_product="STEMMA Friend RP2040"
|
||||
adafruit_stemmafriend.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -1901,7 +1893,8 @@ adafruit_trinkeyrp2040qt.vid.6=0x239a
|
||||
adafruit_trinkeyrp2040qt.pid.6=0xc109
|
||||
adafruit_trinkeyrp2040qt.vid.7=0x239a
|
||||
adafruit_trinkeyrp2040qt.pid.7=0xc109
|
||||
adafruit_trinkeyrp2040qt.build.usbpid=-DSERIALUSB_PID=0x8109
|
||||
adafruit_trinkeyrp2040qt.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_trinkeyrp2040qt.build.usbpid=-DUSBD_PID=0x8109
|
||||
adafruit_trinkeyrp2040qt.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_trinkeyrp2040qt.build.board=ADAFRUIT_TRINKEYQT_RP2040
|
||||
adafruit_trinkeyrp2040qt.build.mcu=cortex-m0plus
|
||||
@@ -1916,8 +1909,6 @@ adafruit_trinkeyrp2040qt.build.led=
|
||||
adafruit_trinkeyrp2040qt.build.core=rp2040
|
||||
adafruit_trinkeyrp2040qt.build.ldscript=memmap_default.ld
|
||||
adafruit_trinkeyrp2040qt.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_trinkeyrp2040qt.build.vid=0x239a
|
||||
adafruit_trinkeyrp2040qt.build.pid=0x8109
|
||||
adafruit_trinkeyrp2040qt.build.usb_manufacturer="Adafruit"
|
||||
adafruit_trinkeyrp2040qt.build.usb_product="Trinkey RP2040 QT"
|
||||
adafruit_trinkeyrp2040qt.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -2124,7 +2115,8 @@ adafruit_macropad2040.vid.6=0x239a
|
||||
adafruit_macropad2040.pid.6=0xc107
|
||||
adafruit_macropad2040.vid.7=0x239a
|
||||
adafruit_macropad2040.pid.7=0xc107
|
||||
adafruit_macropad2040.build.usbpid=-DSERIALUSB_PID=0x8107
|
||||
adafruit_macropad2040.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_macropad2040.build.usbpid=-DUSBD_PID=0x8107
|
||||
adafruit_macropad2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_macropad2040.build.board=ADAFRUIT_MACROPAD_RP2040
|
||||
adafruit_macropad2040.build.mcu=cortex-m0plus
|
||||
@@ -2139,8 +2131,6 @@ adafruit_macropad2040.build.led=
|
||||
adafruit_macropad2040.build.core=rp2040
|
||||
adafruit_macropad2040.build.ldscript=memmap_default.ld
|
||||
adafruit_macropad2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_macropad2040.build.vid=0x239a
|
||||
adafruit_macropad2040.build.pid=0x8107
|
||||
adafruit_macropad2040.build.usb_manufacturer="Adafruit"
|
||||
adafruit_macropad2040.build.usb_product="MacroPad RP2040"
|
||||
adafruit_macropad2040.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -2347,7 +2337,8 @@ adafruit_kb2040.vid.6=0x239a
|
||||
adafruit_kb2040.pid.6=0xc105
|
||||
adafruit_kb2040.vid.7=0x239a
|
||||
adafruit_kb2040.pid.7=0xc105
|
||||
adafruit_kb2040.build.usbpid=-DSERIALUSB_PID=0x8105
|
||||
adafruit_kb2040.build.usbvid=-DUSBD_VID=0x239a
|
||||
adafruit_kb2040.build.usbpid=-DUSBD_PID=0x8105
|
||||
adafruit_kb2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
adafruit_kb2040.build.board=ADAFRUIT_KB2040_RP2040
|
||||
adafruit_kb2040.build.mcu=cortex-m0plus
|
||||
@@ -2362,8 +2353,6 @@ adafruit_kb2040.build.led=
|
||||
adafruit_kb2040.build.core=rp2040
|
||||
adafruit_kb2040.build.ldscript=memmap_default.ld
|
||||
adafruit_kb2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
adafruit_kb2040.build.vid=0x239a
|
||||
adafruit_kb2040.build.pid=0x8105
|
||||
adafruit_kb2040.build.usb_manufacturer="Adafruit"
|
||||
adafruit_kb2040.build.usb_product="KB2040"
|
||||
adafruit_kb2040.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -2562,7 +2551,8 @@ arduino_nano_connect.vid.2=0x2341
|
||||
arduino_nano_connect.pid.2=0x015e
|
||||
arduino_nano_connect.vid.3=0x2341
|
||||
arduino_nano_connect.pid.3=0x025e
|
||||
arduino_nano_connect.build.usbpid=-DSERIALUSB_PID=0x005e
|
||||
arduino_nano_connect.build.usbvid=-DUSBD_VID=0x2341
|
||||
arduino_nano_connect.build.usbpid=-DUSBD_PID=0x005e
|
||||
arduino_nano_connect.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
arduino_nano_connect.build.board=NANO_RP2040_CONNECT
|
||||
arduino_nano_connect.build.mcu=cortex-m0plus
|
||||
@@ -2577,8 +2567,6 @@ arduino_nano_connect.build.led=
|
||||
arduino_nano_connect.build.core=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=0x005e
|
||||
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)
|
||||
@@ -2833,7 +2821,8 @@ bridgetek_idm2040-7a.vid.6=0x2e8a
|
||||
bridgetek_idm2040-7a.pid.6=0xd041
|
||||
bridgetek_idm2040-7a.vid.7=0x2e8a
|
||||
bridgetek_idm2040-7a.pid.7=0xd141
|
||||
bridgetek_idm2040-7a.build.usbpid=-DSERIALUSB_PID=0x1041
|
||||
bridgetek_idm2040-7a.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
bridgetek_idm2040-7a.build.usbpid=-DUSBD_PID=0x1041
|
||||
bridgetek_idm2040-7a.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
bridgetek_idm2040-7a.build.board=BRIDGETEK_IDM2040-7A
|
||||
bridgetek_idm2040-7a.build.mcu=cortex-m0plus
|
||||
@@ -2848,8 +2837,6 @@ bridgetek_idm2040-7a.build.led=
|
||||
bridgetek_idm2040-7a.build.core=rp2040
|
||||
bridgetek_idm2040-7a.build.ldscript=memmap_default.ld
|
||||
bridgetek_idm2040-7a.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
bridgetek_idm2040-7a.build.vid=0x2e8a
|
||||
bridgetek_idm2040-7a.build.pid=0x1041
|
||||
bridgetek_idm2040-7a.build.usb_manufacturer="BridgeTek"
|
||||
bridgetek_idm2040-7a.build.usb_product="IDM2040-7A"
|
||||
bridgetek_idm2040-7a.build.extra_flags=-DFT8XX_TYPE=BT817 -DDISPLAY_RES=WVGA -DPLATFORM_RP2040
|
||||
@@ -3057,7 +3044,8 @@ cytron_maker_nano_rp2040.vid.6=0x2e8a
|
||||
cytron_maker_nano_rp2040.pid.6=0xd00f
|
||||
cytron_maker_nano_rp2040.vid.7=0x2e8a
|
||||
cytron_maker_nano_rp2040.pid.7=0xd10f
|
||||
cytron_maker_nano_rp2040.build.usbpid=-DSERIALUSB_PID=0x100f
|
||||
cytron_maker_nano_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
cytron_maker_nano_rp2040.build.usbpid=-DUSBD_PID=0x100f
|
||||
cytron_maker_nano_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
cytron_maker_nano_rp2040.build.board=CYTRON_MAKER_NANO_RP2040
|
||||
cytron_maker_nano_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -3072,8 +3060,6 @@ cytron_maker_nano_rp2040.build.led=
|
||||
cytron_maker_nano_rp2040.build.core=rp2040
|
||||
cytron_maker_nano_rp2040.build.ldscript=memmap_default.ld
|
||||
cytron_maker_nano_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
cytron_maker_nano_rp2040.build.vid=0x2e8a
|
||||
cytron_maker_nano_rp2040.build.pid=0x100f
|
||||
cytron_maker_nano_rp2040.build.usb_manufacturer="Cytron"
|
||||
cytron_maker_nano_rp2040.build.usb_product="Maker Nano RP2040"
|
||||
cytron_maker_nano_rp2040.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -3244,7 +3230,8 @@ cytron_maker_pi_rp2040.vid.6=0x2e8a
|
||||
cytron_maker_pi_rp2040.pid.6=0xd000
|
||||
cytron_maker_pi_rp2040.vid.7=0x2e8a
|
||||
cytron_maker_pi_rp2040.pid.7=0xd100
|
||||
cytron_maker_pi_rp2040.build.usbpid=-DSERIALUSB_PID=0x1000
|
||||
cytron_maker_pi_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
cytron_maker_pi_rp2040.build.usbpid=-DUSBD_PID=0x1000
|
||||
cytron_maker_pi_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
cytron_maker_pi_rp2040.build.board=CYTRON_MAKER_PI_RP2040
|
||||
cytron_maker_pi_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -3259,8 +3246,6 @@ cytron_maker_pi_rp2040.build.led=
|
||||
cytron_maker_pi_rp2040.build.core=rp2040
|
||||
cytron_maker_pi_rp2040.build.ldscript=memmap_default.ld
|
||||
cytron_maker_pi_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
cytron_maker_pi_rp2040.build.vid=0x2e8a
|
||||
cytron_maker_pi_rp2040.build.pid=0x1000
|
||||
cytron_maker_pi_rp2040.build.usb_manufacturer="Cytron"
|
||||
cytron_maker_pi_rp2040.build.usb_product="Maker Pi RP2040"
|
||||
cytron_maker_pi_rp2040.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -3431,7 +3416,8 @@ datanoisetv_picoadk.vid.6=0x2e8a
|
||||
datanoisetv_picoadk.pid.6=0xc00a
|
||||
datanoisetv_picoadk.vid.7=0x2e8a
|
||||
datanoisetv_picoadk.pid.7=0xc10a
|
||||
datanoisetv_picoadk.build.usbpid=-DSERIALUSB_PID=0x000a
|
||||
datanoisetv_picoadk.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
datanoisetv_picoadk.build.usbpid=-DUSBD_PID=0x000a
|
||||
datanoisetv_picoadk.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
datanoisetv_picoadk.build.board=DATANOISETV_PICOADK
|
||||
datanoisetv_picoadk.build.mcu=cortex-m0plus
|
||||
@@ -3446,8 +3432,6 @@ datanoisetv_picoadk.build.led=
|
||||
datanoisetv_picoadk.build.core=rp2040
|
||||
datanoisetv_picoadk.build.ldscript=memmap_default.ld
|
||||
datanoisetv_picoadk.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
datanoisetv_picoadk.build.vid=0x2e8a
|
||||
datanoisetv_picoadk.build.pid=0x000a
|
||||
datanoisetv_picoadk.build.usb_manufacturer="DatanoiseTV"
|
||||
datanoisetv_picoadk.build.usb_product="PicoADK"
|
||||
datanoisetv_picoadk.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -3618,7 +3602,8 @@ flyboard2040_core.vid.6=0x2e8a
|
||||
flyboard2040_core.pid.6=0xc08a
|
||||
flyboard2040_core.vid.7=0x2e8a
|
||||
flyboard2040_core.pid.7=0xc18a
|
||||
flyboard2040_core.build.usbpid=-DSERIALUSB_PID=0x008a
|
||||
flyboard2040_core.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
flyboard2040_core.build.usbpid=-DUSBD_PID=0x008a
|
||||
flyboard2040_core.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
flyboard2040_core.build.board=FLYBOARD2040_CORE
|
||||
flyboard2040_core.build.mcu=cortex-m0plus
|
||||
@@ -3633,8 +3618,6 @@ flyboard2040_core.build.led=
|
||||
flyboard2040_core.build.core=rp2040
|
||||
flyboard2040_core.build.ldscript=memmap_default.ld
|
||||
flyboard2040_core.build.boot2=boot2_w25q080_2_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)
|
||||
@@ -3817,7 +3800,8 @@ dfrobot_beetle_rp2040.vid.6=0x3343
|
||||
dfrobot_beetle_rp2040.pid.6=0xc253
|
||||
dfrobot_beetle_rp2040.vid.7=0x3343
|
||||
dfrobot_beetle_rp2040.pid.7=0xc353
|
||||
dfrobot_beetle_rp2040.build.usbpid=-DSERIALUSB_PID=0x4253
|
||||
dfrobot_beetle_rp2040.build.usbvid=-DUSBD_VID=0x3343
|
||||
dfrobot_beetle_rp2040.build.usbpid=-DUSBD_PID=0x4253
|
||||
dfrobot_beetle_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
dfrobot_beetle_rp2040.build.board=DFROBOT_BEETLE_RP2040
|
||||
dfrobot_beetle_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -3832,8 +3816,6 @@ dfrobot_beetle_rp2040.build.led=
|
||||
dfrobot_beetle_rp2040.build.core=rp2040
|
||||
dfrobot_beetle_rp2040.build.ldscript=memmap_default.ld
|
||||
dfrobot_beetle_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
dfrobot_beetle_rp2040.build.vid=0x3343
|
||||
dfrobot_beetle_rp2040.build.pid=0x4253
|
||||
dfrobot_beetle_rp2040.build.usb_manufacturer="DFRobot"
|
||||
dfrobot_beetle_rp2040.build.usb_product="Beetle RP2040"
|
||||
dfrobot_beetle_rp2040.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -4004,7 +3986,8 @@ electroniccats_huntercat_nfc.vid.6=0x2E8A
|
||||
electroniccats_huntercat_nfc.pid.6=0xd037
|
||||
electroniccats_huntercat_nfc.vid.7=0x2E8A
|
||||
electroniccats_huntercat_nfc.pid.7=0xd137
|
||||
electroniccats_huntercat_nfc.build.usbpid=-DSERIALUSB_PID=0x1037
|
||||
electroniccats_huntercat_nfc.build.usbvid=-DUSBD_VID=0x2E8A
|
||||
electroniccats_huntercat_nfc.build.usbpid=-DUSBD_PID=0x1037
|
||||
electroniccats_huntercat_nfc.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
electroniccats_huntercat_nfc.build.board=ELECTRONICCATS_HUNTERCAT_NFC
|
||||
electroniccats_huntercat_nfc.build.mcu=cortex-m0plus
|
||||
@@ -4019,8 +4002,6 @@ electroniccats_huntercat_nfc.build.led=
|
||||
electroniccats_huntercat_nfc.build.core=rp2040
|
||||
electroniccats_huntercat_nfc.build.ldscript=memmap_default.ld
|
||||
electroniccats_huntercat_nfc.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
electroniccats_huntercat_nfc.build.vid=0x2E8A
|
||||
electroniccats_huntercat_nfc.build.pid=0x1037
|
||||
electroniccats_huntercat_nfc.build.usb_manufacturer="ElectronicCats"
|
||||
electroniccats_huntercat_nfc.build.usb_product="HunterCat NFC RP2040"
|
||||
electroniccats_huntercat_nfc.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -4191,7 +4172,8 @@ extelec_rc2040.vid.6=0x2e8a
|
||||
extelec_rc2040.pid.6=0xee20
|
||||
extelec_rc2040.vid.7=0x2e8a
|
||||
extelec_rc2040.pid.7=0xef20
|
||||
extelec_rc2040.build.usbpid=-DSERIALUSB_PID=0xee20
|
||||
extelec_rc2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
extelec_rc2040.build.usbpid=-DUSBD_PID=0xee20
|
||||
extelec_rc2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
extelec_rc2040.build.board=EXTREMEELEXTRONICS_RC2040
|
||||
extelec_rc2040.build.mcu=cortex-m0plus
|
||||
@@ -4206,8 +4188,6 @@ extelec_rc2040.build.led=
|
||||
extelec_rc2040.build.core=rp2040
|
||||
extelec_rc2040.build.ldscript=memmap_default.ld
|
||||
extelec_rc2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
extelec_rc2040.build.vid=0x2e8a
|
||||
extelec_rc2040.build.pid=0xee20
|
||||
extelec_rc2040.build.usb_manufacturer="ExtremeElectronics"
|
||||
extelec_rc2040.build.usb_product="RC2040"
|
||||
extelec_rc2040.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -4378,7 +4358,8 @@ challenger_2040_lte.vid.6=0x2e8a
|
||||
challenger_2040_lte.pid.6=0xd00b
|
||||
challenger_2040_lte.vid.7=0x2e8a
|
||||
challenger_2040_lte.pid.7=0xd10b
|
||||
challenger_2040_lte.build.usbpid=-DSERIALUSB_PID=0x100b
|
||||
challenger_2040_lte.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_lte.build.usbpid=-DUSBD_PID=0x100b
|
||||
challenger_2040_lte.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
challenger_2040_lte.build.board=CHALLENGER_2040_LTE_RP2040
|
||||
challenger_2040_lte.build.mcu=cortex-m0plus
|
||||
@@ -4393,8 +4374,6 @@ challenger_2040_lte.build.led=
|
||||
challenger_2040_lte.build.core=rp2040
|
||||
challenger_2040_lte.build.ldscript=memmap_default.ld
|
||||
challenger_2040_lte.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_lte.build.vid=0x2e8a
|
||||
challenger_2040_lte.build.pid=0x100b
|
||||
challenger_2040_lte.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_lte.build.usb_product="Challenger 2040 LTE"
|
||||
challenger_2040_lte.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -4601,7 +4580,8 @@ challenger_2040_lora.vid.6=0x2e8a
|
||||
challenger_2040_lora.pid.6=0xd023
|
||||
challenger_2040_lora.vid.7=0x2e8a
|
||||
challenger_2040_lora.pid.7=0xd123
|
||||
challenger_2040_lora.build.usbpid=-DSERIALUSB_PID=0x1023
|
||||
challenger_2040_lora.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_lora.build.usbpid=-DUSBD_PID=0x1023
|
||||
challenger_2040_lora.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
challenger_2040_lora.build.board=CHALLENGER_2040_LORA_RP2040
|
||||
challenger_2040_lora.build.mcu=cortex-m0plus
|
||||
@@ -4616,8 +4596,6 @@ challenger_2040_lora.build.led=
|
||||
challenger_2040_lora.build.core=rp2040
|
||||
challenger_2040_lora.build.ldscript=memmap_default.ld
|
||||
challenger_2040_lora.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_lora.build.vid=0x2e8a
|
||||
challenger_2040_lora.build.pid=0x1023
|
||||
challenger_2040_lora.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_lora.build.usb_product="Challenger 2040 LoRa"
|
||||
challenger_2040_lora.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -4824,7 +4802,8 @@ challenger_2040_subghz.vid.6=0x2e8a
|
||||
challenger_2040_subghz.pid.6=0xd032
|
||||
challenger_2040_subghz.vid.7=0x2e8a
|
||||
challenger_2040_subghz.pid.7=0xd132
|
||||
challenger_2040_subghz.build.usbpid=-DSERIALUSB_PID=0x1032
|
||||
challenger_2040_subghz.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_subghz.build.usbpid=-DUSBD_PID=0x1032
|
||||
challenger_2040_subghz.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
challenger_2040_subghz.build.board=CHALLENGER_2040_SUBGHZ_RP2040
|
||||
challenger_2040_subghz.build.mcu=cortex-m0plus
|
||||
@@ -4839,8 +4818,6 @@ challenger_2040_subghz.build.led=
|
||||
challenger_2040_subghz.build.core=rp2040
|
||||
challenger_2040_subghz.build.ldscript=memmap_default.ld
|
||||
challenger_2040_subghz.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_subghz.build.vid=0x2e8a
|
||||
challenger_2040_subghz.build.pid=0x1032
|
||||
challenger_2040_subghz.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_subghz.build.usb_product="Challenger 2040 SubGHz"
|
||||
challenger_2040_subghz.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -5047,7 +5024,8 @@ challenger_2040_wifi.vid.6=0x2e8a
|
||||
challenger_2040_wifi.pid.6=0xd006
|
||||
challenger_2040_wifi.vid.7=0x2e8a
|
||||
challenger_2040_wifi.pid.7=0xd106
|
||||
challenger_2040_wifi.build.usbpid=-DSERIALUSB_PID=0x1006
|
||||
challenger_2040_wifi.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_wifi.build.usbpid=-DUSBD_PID=0x1006
|
||||
challenger_2040_wifi.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
challenger_2040_wifi.build.board=CHALLENGER_2040_WIFI_RP2040
|
||||
challenger_2040_wifi.build.mcu=cortex-m0plus
|
||||
@@ -5062,8 +5040,6 @@ challenger_2040_wifi.build.led=
|
||||
challenger_2040_wifi.build.core=rp2040
|
||||
challenger_2040_wifi.build.ldscript=memmap_default.ld
|
||||
challenger_2040_wifi.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_wifi.build.vid=0x2e8a
|
||||
challenger_2040_wifi.build.pid=0x1006
|
||||
challenger_2040_wifi.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_wifi.build.usb_product="Challenger 2040 WiFi"
|
||||
challenger_2040_wifi.build.extra_flags=-DWIFIESPAT2
|
||||
@@ -5271,7 +5247,8 @@ challenger_2040_wifi_ble.vid.6=0x2e8a
|
||||
challenger_2040_wifi_ble.pid.6=0xd02c
|
||||
challenger_2040_wifi_ble.vid.7=0x2e8a
|
||||
challenger_2040_wifi_ble.pid.7=0xd12c
|
||||
challenger_2040_wifi_ble.build.usbpid=-DSERIALUSB_PID=0x102C
|
||||
challenger_2040_wifi_ble.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_wifi_ble.build.usbpid=-DUSBD_PID=0x102C
|
||||
challenger_2040_wifi_ble.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
challenger_2040_wifi_ble.build.board=CHALLENGER_2040_WIFI_BLE_RP2040
|
||||
challenger_2040_wifi_ble.build.mcu=cortex-m0plus
|
||||
@@ -5286,8 +5263,6 @@ challenger_2040_wifi_ble.build.led=
|
||||
challenger_2040_wifi_ble.build.core=rp2040
|
||||
challenger_2040_wifi_ble.build.ldscript=memmap_default.ld
|
||||
challenger_2040_wifi_ble.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_wifi_ble.build.vid=0x2e8a
|
||||
challenger_2040_wifi_ble.build.pid=0x102C
|
||||
challenger_2040_wifi_ble.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_wifi_ble.build.usb_product="Challenger 2040 WiFi/BLE"
|
||||
challenger_2040_wifi_ble.build.extra_flags=-DWIFIESPAT2
|
||||
@@ -5495,7 +5470,8 @@ challenger_nb_2040_wifi.vid.6=0x2e8a
|
||||
challenger_nb_2040_wifi.pid.6=0xd00d
|
||||
challenger_nb_2040_wifi.vid.7=0x2e8a
|
||||
challenger_nb_2040_wifi.pid.7=0xd10d
|
||||
challenger_nb_2040_wifi.build.usbpid=-DSERIALUSB_PID=0x100d
|
||||
challenger_nb_2040_wifi.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_nb_2040_wifi.build.usbpid=-DUSBD_PID=0x100d
|
||||
challenger_nb_2040_wifi.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
challenger_nb_2040_wifi.build.board=CHALLENGER_NB_2040_WIFI_RP2040
|
||||
challenger_nb_2040_wifi.build.mcu=cortex-m0plus
|
||||
@@ -5510,8 +5486,6 @@ challenger_nb_2040_wifi.build.led=
|
||||
challenger_nb_2040_wifi.build.core=rp2040
|
||||
challenger_nb_2040_wifi.build.ldscript=memmap_default.ld
|
||||
challenger_nb_2040_wifi.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_nb_2040_wifi.build.vid=0x2e8a
|
||||
challenger_nb_2040_wifi.build.pid=0x100d
|
||||
challenger_nb_2040_wifi.build.usb_manufacturer="iLabs"
|
||||
challenger_nb_2040_wifi.build.usb_product="Challenger NB 2040 WiFi"
|
||||
challenger_nb_2040_wifi.build.extra_flags=-DWIFIESPAT2
|
||||
@@ -5719,7 +5693,8 @@ challenger_2040_sdrtc.vid.6=0x2e8a
|
||||
challenger_2040_sdrtc.pid.6=0xd02d
|
||||
challenger_2040_sdrtc.vid.7=0x2e8a
|
||||
challenger_2040_sdrtc.pid.7=0xd12d
|
||||
challenger_2040_sdrtc.build.usbpid=-DSERIALUSB_PID=0x102d
|
||||
challenger_2040_sdrtc.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_sdrtc.build.usbpid=-DUSBD_PID=0x102d
|
||||
challenger_2040_sdrtc.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
challenger_2040_sdrtc.build.board=CHALLENGER_NB_2040_SDRTC_RP2040
|
||||
challenger_2040_sdrtc.build.mcu=cortex-m0plus
|
||||
@@ -5734,8 +5709,6 @@ challenger_2040_sdrtc.build.led=
|
||||
challenger_2040_sdrtc.build.core=rp2040
|
||||
challenger_2040_sdrtc.build.ldscript=memmap_default.ld
|
||||
challenger_2040_sdrtc.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_sdrtc.build.vid=0x2e8a
|
||||
challenger_2040_sdrtc.build.pid=0x102d
|
||||
challenger_2040_sdrtc.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_sdrtc.build.usb_product="Challenger 2040 SD/RTC"
|
||||
challenger_2040_sdrtc.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -5942,7 +5915,8 @@ challenger_2040_nfc.vid.6=0x2e8a
|
||||
challenger_2040_nfc.pid.6=0xd036
|
||||
challenger_2040_nfc.vid.7=0x2e8a
|
||||
challenger_2040_nfc.pid.7=0xd136
|
||||
challenger_2040_nfc.build.usbpid=-DSERIALUSB_PID=0x1036
|
||||
challenger_2040_nfc.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
challenger_2040_nfc.build.usbpid=-DUSBD_PID=0x1036
|
||||
challenger_2040_nfc.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
challenger_2040_nfc.build.board=CHALLENGER_NB_2040_NFC_RP2040
|
||||
challenger_2040_nfc.build.mcu=cortex-m0plus
|
||||
@@ -5957,8 +5931,6 @@ challenger_2040_nfc.build.led=
|
||||
challenger_2040_nfc.build.core=rp2040
|
||||
challenger_2040_nfc.build.ldscript=memmap_default.ld
|
||||
challenger_2040_nfc.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
challenger_2040_nfc.build.vid=0x2e8a
|
||||
challenger_2040_nfc.build.pid=0x1036
|
||||
challenger_2040_nfc.build.usb_manufacturer="iLabs"
|
||||
challenger_2040_nfc.build.usb_product="Challenger 2040 NFC"
|
||||
challenger_2040_nfc.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -6165,7 +6137,8 @@ ilabs_rpico32.vid.6=0x2e8a
|
||||
ilabs_rpico32.pid.6=0xd010
|
||||
ilabs_rpico32.vid.7=0x2e8a
|
||||
ilabs_rpico32.pid.7=0xd110
|
||||
ilabs_rpico32.build.usbpid=-DSERIALUSB_PID=0x1010
|
||||
ilabs_rpico32.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
ilabs_rpico32.build.usbpid=-DUSBD_PID=0x1010
|
||||
ilabs_rpico32.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
ilabs_rpico32.build.board=ILABS_2040_RPICO32_RP2040
|
||||
ilabs_rpico32.build.mcu=cortex-m0plus
|
||||
@@ -6180,8 +6153,6 @@ ilabs_rpico32.build.led=
|
||||
ilabs_rpico32.build.core=rp2040
|
||||
ilabs_rpico32.build.ldscript=memmap_default.ld
|
||||
ilabs_rpico32.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
ilabs_rpico32.build.vid=0x2e8a
|
||||
ilabs_rpico32.build.pid=0x1010
|
||||
ilabs_rpico32.build.usb_manufacturer="iLabs"
|
||||
ilabs_rpico32.build.usb_product="RPICO32"
|
||||
ilabs_rpico32.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -6388,7 +6359,8 @@ melopero_cookie_rp2040.vid.6=0x2e8a
|
||||
melopero_cookie_rp2040.pid.6=0xd011
|
||||
melopero_cookie_rp2040.vid.7=0x2e8a
|
||||
melopero_cookie_rp2040.pid.7=0xd111
|
||||
melopero_cookie_rp2040.build.usbpid=-DSERIALUSB_PID=0x1011
|
||||
melopero_cookie_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
melopero_cookie_rp2040.build.usbpid=-DUSBD_PID=0x1011
|
||||
melopero_cookie_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
melopero_cookie_rp2040.build.board=MELOPERO_COOKIE_RP2040
|
||||
melopero_cookie_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -6403,8 +6375,6 @@ melopero_cookie_rp2040.build.led=
|
||||
melopero_cookie_rp2040.build.core=rp2040
|
||||
melopero_cookie_rp2040.build.ldscript=memmap_default.ld
|
||||
melopero_cookie_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
melopero_cookie_rp2040.build.vid=0x2e8a
|
||||
melopero_cookie_rp2040.build.pid=0x1011
|
||||
melopero_cookie_rp2040.build.usb_manufacturer="Melopero"
|
||||
melopero_cookie_rp2040.build.usb_product="Cookie RP2040"
|
||||
melopero_cookie_rp2040.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -6611,7 +6581,8 @@ melopero_shake_rp2040.vid.6=0x2e8a
|
||||
melopero_shake_rp2040.pid.6=0xd005
|
||||
melopero_shake_rp2040.vid.7=0x2e8a
|
||||
melopero_shake_rp2040.pid.7=0xd105
|
||||
melopero_shake_rp2040.build.usbpid=-DSERIALUSB_PID=0x1005
|
||||
melopero_shake_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
melopero_shake_rp2040.build.usbpid=-DUSBD_PID=0x1005
|
||||
melopero_shake_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
melopero_shake_rp2040.build.board=MELOPERO_SHAKE_RP2040
|
||||
melopero_shake_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -6626,8 +6597,6 @@ melopero_shake_rp2040.build.led=
|
||||
melopero_shake_rp2040.build.core=rp2040
|
||||
melopero_shake_rp2040.build.ldscript=memmap_default.ld
|
||||
melopero_shake_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
melopero_shake_rp2040.build.vid=0x2e8a
|
||||
melopero_shake_rp2040.build.pid=0x1005
|
||||
melopero_shake_rp2040.build.usb_manufacturer="Melopero"
|
||||
melopero_shake_rp2040.build.usb_product="Shake RP2040"
|
||||
melopero_shake_rp2040.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -6882,7 +6851,8 @@ nullbits_bit_c_pro.vid.6=0x2e8a
|
||||
nullbits_bit_c_pro.pid.6=0xee61
|
||||
nullbits_bit_c_pro.vid.7=0x2e8a
|
||||
nullbits_bit_c_pro.pid.7=0xef61
|
||||
nullbits_bit_c_pro.build.usbpid=-DSERIALUSB_PID=0x6e61
|
||||
nullbits_bit_c_pro.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
nullbits_bit_c_pro.build.usbpid=-DUSBD_PID=0x6e61
|
||||
nullbits_bit_c_pro.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
nullbits_bit_c_pro.build.board=NULLBITS_BIT_C_PRO
|
||||
nullbits_bit_c_pro.build.mcu=cortex-m0plus
|
||||
@@ -6897,8 +6867,6 @@ nullbits_bit_c_pro.build.led=
|
||||
nullbits_bit_c_pro.build.core=rp2040
|
||||
nullbits_bit_c_pro.build.ldscript=memmap_default.ld
|
||||
nullbits_bit_c_pro.build.boot2=boot2_w25x10cl_4_padded_checksum
|
||||
nullbits_bit_c_pro.build.vid=0x2e8a
|
||||
nullbits_bit_c_pro.build.pid=0x6e61
|
||||
nullbits_bit_c_pro.build.usb_manufacturer="nullbits"
|
||||
nullbits_bit_c_pro.build.usb_product="Bit-C PRO"
|
||||
nullbits_bit_c_pro.menu.flash.4194304_0=4MB (no FS)
|
||||
@@ -7081,7 +7049,8 @@ pimoroni_pga2040.vid.6=0x2e8a
|
||||
pimoroni_pga2040.pid.6=0xd008
|
||||
pimoroni_pga2040.vid.7=0x2e8a
|
||||
pimoroni_pga2040.pid.7=0xd108
|
||||
pimoroni_pga2040.build.usbpid=-DSERIALUSB_PID=0x1008
|
||||
pimoroni_pga2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
pimoroni_pga2040.build.usbpid=-DUSBD_PID=0x1008
|
||||
pimoroni_pga2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
pimoroni_pga2040.build.board=PIMORONI_PGA2040
|
||||
pimoroni_pga2040.build.mcu=cortex-m0plus
|
||||
@@ -7096,8 +7065,6 @@ pimoroni_pga2040.build.led=
|
||||
pimoroni_pga2040.build.core=rp2040
|
||||
pimoroni_pga2040.build.ldscript=memmap_default.ld
|
||||
pimoroni_pga2040.build.boot2=boot2_w25q64jv_4_padded_checksum
|
||||
pimoroni_pga2040.build.vid=0x2e8a
|
||||
pimoroni_pga2040.build.pid=0x1008
|
||||
pimoroni_pga2040.build.usb_manufacturer="Pimoroni"
|
||||
pimoroni_pga2040.build.usb_product="PGA2040"
|
||||
pimoroni_pga2040.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -7304,7 +7271,8 @@ solderparty_rp2040_stamp.vid.6=0x1209
|
||||
solderparty_rp2040_stamp.pid.6=0xe182
|
||||
solderparty_rp2040_stamp.vid.7=0x1209
|
||||
solderparty_rp2040_stamp.pid.7=0xe182
|
||||
solderparty_rp2040_stamp.build.usbpid=-DSERIALUSB_PID=0xa182
|
||||
solderparty_rp2040_stamp.build.usbvid=-DUSBD_VID=0x1209
|
||||
solderparty_rp2040_stamp.build.usbpid=-DUSBD_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
|
||||
@@ -7319,8 +7287,6 @@ solderparty_rp2040_stamp.build.led=
|
||||
solderparty_rp2040_stamp.build.core=rp2040
|
||||
solderparty_rp2040_stamp.build.ldscript=memmap_default.ld
|
||||
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)
|
||||
@@ -7527,7 +7493,8 @@ sparkfun_promicrorp2040.vid.6=0x1b4f
|
||||
sparkfun_promicrorp2040.pid.6=0xc026
|
||||
sparkfun_promicrorp2040.vid.7=0x1b4f
|
||||
sparkfun_promicrorp2040.pid.7=0xc126
|
||||
sparkfun_promicrorp2040.build.usbpid=-DSERIALUSB_PID=0x0026
|
||||
sparkfun_promicrorp2040.build.usbvid=-DUSBD_VID=0x1b4f
|
||||
sparkfun_promicrorp2040.build.usbpid=-DUSBD_PID=0x0026
|
||||
sparkfun_promicrorp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
sparkfun_promicrorp2040.build.board=SPARKFUN_PROMICRO_RP2040
|
||||
sparkfun_promicrorp2040.build.mcu=cortex-m0plus
|
||||
@@ -7542,8 +7509,6 @@ sparkfun_promicrorp2040.build.led=
|
||||
sparkfun_promicrorp2040.build.core=rp2040
|
||||
sparkfun_promicrorp2040.build.ldscript=memmap_default.ld
|
||||
sparkfun_promicrorp2040.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
sparkfun_promicrorp2040.build.vid=0x1b4f
|
||||
sparkfun_promicrorp2040.build.pid=0x0026
|
||||
sparkfun_promicrorp2040.build.usb_manufacturer="SparkFun"
|
||||
sparkfun_promicrorp2040.build.usb_product="ProMicro RP2040"
|
||||
sparkfun_promicrorp2040.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -7798,7 +7763,8 @@ sparkfun_thingplusrp2040.vid.6=0x1b4f
|
||||
sparkfun_thingplusrp2040.pid.6=0xc026
|
||||
sparkfun_thingplusrp2040.vid.7=0x1b4f
|
||||
sparkfun_thingplusrp2040.pid.7=0xc126
|
||||
sparkfun_thingplusrp2040.build.usbpid=-DSERIALUSB_PID=0x0026
|
||||
sparkfun_thingplusrp2040.build.usbvid=-DUSBD_VID=0x1b4f
|
||||
sparkfun_thingplusrp2040.build.usbpid=-DUSBD_PID=0x0026
|
||||
sparkfun_thingplusrp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
sparkfun_thingplusrp2040.build.board=SPARKFUN_THINGPLUS_RP2040
|
||||
sparkfun_thingplusrp2040.build.mcu=cortex-m0plus
|
||||
@@ -7813,8 +7779,6 @@ sparkfun_thingplusrp2040.build.led=
|
||||
sparkfun_thingplusrp2040.build.core=rp2040
|
||||
sparkfun_thingplusrp2040.build.ldscript=memmap_default.ld
|
||||
sparkfun_thingplusrp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
sparkfun_thingplusrp2040.build.vid=0x1b4f
|
||||
sparkfun_thingplusrp2040.build.pid=0x0026
|
||||
sparkfun_thingplusrp2040.build.usb_manufacturer="SparkFun"
|
||||
sparkfun_thingplusrp2040.build.usb_product="Thing Plus RP2040"
|
||||
sparkfun_thingplusrp2040.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -8069,7 +8033,8 @@ upesy_rp2040_devkit.vid.6=0x2e8a
|
||||
upesy_rp2040_devkit.pid.6=0xd007
|
||||
upesy_rp2040_devkit.vid.7=0x2e8a
|
||||
upesy_rp2040_devkit.pid.7=0xd107
|
||||
upesy_rp2040_devkit.build.usbpid=-DSERIALUSB_PID=0x1007
|
||||
upesy_rp2040_devkit.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
upesy_rp2040_devkit.build.usbpid=-DUSBD_PID=0x1007
|
||||
upesy_rp2040_devkit.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
upesy_rp2040_devkit.build.board=UPESY_RP2040_DEVKIT
|
||||
upesy_rp2040_devkit.build.mcu=cortex-m0plus
|
||||
@@ -8084,8 +8049,6 @@ upesy_rp2040_devkit.build.led=
|
||||
upesy_rp2040_devkit.build.core=rp2040
|
||||
upesy_rp2040_devkit.build.ldscript=memmap_default.ld
|
||||
upesy_rp2040_devkit.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
upesy_rp2040_devkit.build.vid=0x2e8a
|
||||
upesy_rp2040_devkit.build.pid=0x1007
|
||||
upesy_rp2040_devkit.build.usb_manufacturer="uPesy"
|
||||
upesy_rp2040_devkit.build.usb_product="RP2040 DevKit"
|
||||
upesy_rp2040_devkit.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -8256,7 +8219,8 @@ seeed_xiao_rp2040.vid.6=0x2e8a
|
||||
seeed_xiao_rp2040.pid.6=0xc00a
|
||||
seeed_xiao_rp2040.vid.7=0x2e8a
|
||||
seeed_xiao_rp2040.pid.7=0xc10a
|
||||
seeed_xiao_rp2040.build.usbpid=-DSERIALUSB_PID=0x000a
|
||||
seeed_xiao_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
seeed_xiao_rp2040.build.usbpid=-DUSBD_PID=0x000a
|
||||
seeed_xiao_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
seeed_xiao_rp2040.build.board=SEEED_XIAO_RP2040
|
||||
seeed_xiao_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -8271,8 +8235,6 @@ seeed_xiao_rp2040.build.led=
|
||||
seeed_xiao_rp2040.build.core=rp2040
|
||||
seeed_xiao_rp2040.build.ldscript=memmap_default.ld
|
||||
seeed_xiao_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
seeed_xiao_rp2040.build.vid=0x2e8a
|
||||
seeed_xiao_rp2040.build.pid=0x000a
|
||||
seeed_xiao_rp2040.build.usb_manufacturer="Seeed"
|
||||
seeed_xiao_rp2040.build.usb_product="XIAO RP2040"
|
||||
seeed_xiao_rp2040.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -8443,7 +8405,8 @@ vccgnd_yd_rp2040.vid.6=0x2e8a
|
||||
vccgnd_yd_rp2040.pid.6=0xc00a
|
||||
vccgnd_yd_rp2040.vid.7=0x2e8a
|
||||
vccgnd_yd_rp2040.pid.7=0xc10a
|
||||
vccgnd_yd_rp2040.build.usbpid=-DSERIALUSB_PID=0x800a
|
||||
vccgnd_yd_rp2040.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
vccgnd_yd_rp2040.build.usbpid=-DUSBD_PID=0x800a
|
||||
vccgnd_yd_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
vccgnd_yd_rp2040.build.board=YD_RP2040
|
||||
vccgnd_yd_rp2040.build.mcu=cortex-m0plus
|
||||
@@ -8458,8 +8421,6 @@ vccgnd_yd_rp2040.build.led=
|
||||
vccgnd_yd_rp2040.build.core=rp2040
|
||||
vccgnd_yd_rp2040.build.ldscript=memmap_default.ld
|
||||
vccgnd_yd_rp2040.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
vccgnd_yd_rp2040.build.vid=0x2e8a
|
||||
vccgnd_yd_rp2040.build.pid=0x800a
|
||||
vccgnd_yd_rp2040.build.usb_manufacturer="VCC-GND"
|
||||
vccgnd_yd_rp2040.build.usb_product="YD RP2040"
|
||||
vccgnd_yd_rp2040.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -8714,7 +8675,8 @@ viyalab_mizu.vid.6=0x2e8a
|
||||
viyalab_mizu.pid.6=0xc00a
|
||||
viyalab_mizu.vid.7=0x2e8a
|
||||
viyalab_mizu.pid.7=0xc10a
|
||||
viyalab_mizu.build.usbpid=-DSERIALUSB_PID=0x000a
|
||||
viyalab_mizu.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
viyalab_mizu.build.usbpid=-DUSBD_PID=0x000a
|
||||
viyalab_mizu.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
viyalab_mizu.build.board=VIYALAB_MIZU_RP2040
|
||||
viyalab_mizu.build.mcu=cortex-m0plus
|
||||
@@ -8729,8 +8691,6 @@ viyalab_mizu.build.led=
|
||||
viyalab_mizu.build.core=rp2040
|
||||
viyalab_mizu.build.ldscript=memmap_default.ld
|
||||
viyalab_mizu.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
viyalab_mizu.build.vid=0x2e8a
|
||||
viyalab_mizu.build.pid=0x000a
|
||||
viyalab_mizu.build.usb_manufacturer="Viyalab"
|
||||
viyalab_mizu.build.usb_product="Mizu RP2040"
|
||||
viyalab_mizu.menu.flash.8388608_0=8MB (no FS)
|
||||
@@ -8937,7 +8897,8 @@ waveshare_rp2040_zero.vid.6=0x2e8a
|
||||
waveshare_rp2040_zero.pid.6=0xc003
|
||||
waveshare_rp2040_zero.vid.7=0x2e8a
|
||||
waveshare_rp2040_zero.pid.7=0xc103
|
||||
waveshare_rp2040_zero.build.usbpid=-DSERIALUSB_PID=0x0003
|
||||
waveshare_rp2040_zero.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_zero.build.usbpid=-DUSBD_PID=0x0003
|
||||
waveshare_rp2040_zero.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_zero.build.board=WAVESHARE_RP2040_ZERO
|
||||
waveshare_rp2040_zero.build.mcu=cortex-m0plus
|
||||
@@ -8952,8 +8913,6 @@ waveshare_rp2040_zero.build.led=
|
||||
waveshare_rp2040_zero.build.core=rp2040
|
||||
waveshare_rp2040_zero.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_zero.build.boot2=boot2_w25q16jvxq_4_padded_checksum
|
||||
waveshare_rp2040_zero.build.vid=0x2e8a
|
||||
waveshare_rp2040_zero.build.pid=0x0003
|
||||
waveshare_rp2040_zero.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_zero.build.usb_product="RP2040 Zero"
|
||||
waveshare_rp2040_zero.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -9124,7 +9083,8 @@ waveshare_rp2040_one.vid.6=0x2e8a
|
||||
waveshare_rp2040_one.pid.6=0xd03a
|
||||
waveshare_rp2040_one.vid.7=0x2e8a
|
||||
waveshare_rp2040_one.pid.7=0xd13a
|
||||
waveshare_rp2040_one.build.usbpid=-DSERIALUSB_PID=0x103a
|
||||
waveshare_rp2040_one.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_one.build.usbpid=-DUSBD_PID=0x103a
|
||||
waveshare_rp2040_one.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_one.build.board=WAVESHARE_RP2040_ONE
|
||||
waveshare_rp2040_one.build.mcu=cortex-m0plus
|
||||
@@ -9139,8 +9099,6 @@ waveshare_rp2040_one.build.led=
|
||||
waveshare_rp2040_one.build.core=rp2040
|
||||
waveshare_rp2040_one.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_one.build.boot2=boot2_w25q16jvxq_4_padded_checksum
|
||||
waveshare_rp2040_one.build.vid=0x2e8a
|
||||
waveshare_rp2040_one.build.pid=0x103a
|
||||
waveshare_rp2040_one.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_one.build.usb_product="RP2040 One"
|
||||
waveshare_rp2040_one.menu.flash.4194304_0=4MB (no FS)
|
||||
@@ -9323,7 +9281,8 @@ waveshare_rp2040_plus_4mb.vid.6=0x2e8a
|
||||
waveshare_rp2040_plus_4mb.pid.6=0xd020
|
||||
waveshare_rp2040_plus_4mb.vid.7=0x2e8a
|
||||
waveshare_rp2040_plus_4mb.pid.7=0xd120
|
||||
waveshare_rp2040_plus_4mb.build.usbpid=-DSERIALUSB_PID=0x1020
|
||||
waveshare_rp2040_plus_4mb.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_plus_4mb.build.usbpid=-DUSBD_PID=0x1020
|
||||
waveshare_rp2040_plus_4mb.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_plus_4mb.build.board=WAVESHARE_RP2040_PLUS
|
||||
waveshare_rp2040_plus_4mb.build.mcu=cortex-m0plus
|
||||
@@ -9338,8 +9297,6 @@ waveshare_rp2040_plus_4mb.build.led=
|
||||
waveshare_rp2040_plus_4mb.build.core=rp2040
|
||||
waveshare_rp2040_plus_4mb.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_plus_4mb.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
waveshare_rp2040_plus_4mb.build.vid=0x2e8a
|
||||
waveshare_rp2040_plus_4mb.build.pid=0x1020
|
||||
waveshare_rp2040_plus_4mb.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_plus_4mb.build.usb_product="RP2040 Plus 4MB"
|
||||
waveshare_rp2040_plus_4mb.menu.flash.4194304_0=4MB (no FS)
|
||||
@@ -9522,7 +9479,8 @@ waveshare_rp2040_plus_16mb.vid.6=0x2e8a
|
||||
waveshare_rp2040_plus_16mb.pid.6=0xd020
|
||||
waveshare_rp2040_plus_16mb.vid.7=0x2e8a
|
||||
waveshare_rp2040_plus_16mb.pid.7=0xd120
|
||||
waveshare_rp2040_plus_16mb.build.usbpid=-DSERIALUSB_PID=0x1020
|
||||
waveshare_rp2040_plus_16mb.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_plus_16mb.build.usbpid=-DUSBD_PID=0x1020
|
||||
waveshare_rp2040_plus_16mb.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_plus_16mb.build.board=WAVESHARE_RP2040_PLUS
|
||||
waveshare_rp2040_plus_16mb.build.mcu=cortex-m0plus
|
||||
@@ -9537,8 +9495,6 @@ waveshare_rp2040_plus_16mb.build.led=
|
||||
waveshare_rp2040_plus_16mb.build.core=rp2040
|
||||
waveshare_rp2040_plus_16mb.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_plus_16mb.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
waveshare_rp2040_plus_16mb.build.vid=0x2e8a
|
||||
waveshare_rp2040_plus_16mb.build.pid=0x1020
|
||||
waveshare_rp2040_plus_16mb.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_plus_16mb.build.usb_product="RP2040 Plus 16MB"
|
||||
waveshare_rp2040_plus_16mb.menu.flash.16777216_0=16MB (no FS)
|
||||
@@ -9793,7 +9749,8 @@ waveshare_rp2040_lcd_0_96.vid.6=0x2e8a
|
||||
waveshare_rp2040_lcd_0_96.pid.6=0xd021
|
||||
waveshare_rp2040_lcd_0_96.vid.7=0x2e8a
|
||||
waveshare_rp2040_lcd_0_96.pid.7=0xd121
|
||||
waveshare_rp2040_lcd_0_96.build.usbpid=-DSERIALUSB_PID=0x1021
|
||||
waveshare_rp2040_lcd_0_96.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_lcd_0_96.build.usbpid=-DUSBD_PID=0x1021
|
||||
waveshare_rp2040_lcd_0_96.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_lcd_0_96.build.board=WAVESHARE_RP2040_LCD_0_96
|
||||
waveshare_rp2040_lcd_0_96.build.mcu=cortex-m0plus
|
||||
@@ -9808,8 +9765,6 @@ waveshare_rp2040_lcd_0_96.build.led=
|
||||
waveshare_rp2040_lcd_0_96.build.core=rp2040
|
||||
waveshare_rp2040_lcd_0_96.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_lcd_0_96.build.boot2=boot2_w25q16jvxq_4_padded_checksum
|
||||
waveshare_rp2040_lcd_0_96.build.vid=0x2e8a
|
||||
waveshare_rp2040_lcd_0_96.build.pid=0x1021
|
||||
waveshare_rp2040_lcd_0_96.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_lcd_0_96.build.usb_product="RP2040 LCD 0.96"
|
||||
waveshare_rp2040_lcd_0_96.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -9980,7 +9935,8 @@ waveshare_rp2040_lcd_1_28.vid.6=0x2e8a
|
||||
waveshare_rp2040_lcd_1_28.pid.6=0xd039
|
||||
waveshare_rp2040_lcd_1_28.vid.7=0x2e8a
|
||||
waveshare_rp2040_lcd_1_28.pid.7=0xd139
|
||||
waveshare_rp2040_lcd_1_28.build.usbpid=-DSERIALUSB_PID=0x1039
|
||||
waveshare_rp2040_lcd_1_28.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
waveshare_rp2040_lcd_1_28.build.usbpid=-DUSBD_PID=0x1039
|
||||
waveshare_rp2040_lcd_1_28.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||
waveshare_rp2040_lcd_1_28.build.board=WAVESHARE_RP2040_LCD_1_28
|
||||
waveshare_rp2040_lcd_1_28.build.mcu=cortex-m0plus
|
||||
@@ -9995,8 +9951,6 @@ waveshare_rp2040_lcd_1_28.build.led=
|
||||
waveshare_rp2040_lcd_1_28.build.core=rp2040
|
||||
waveshare_rp2040_lcd_1_28.build.ldscript=memmap_default.ld
|
||||
waveshare_rp2040_lcd_1_28.build.boot2=boot2_w25q16jvxq_4_padded_checksum
|
||||
waveshare_rp2040_lcd_1_28.build.vid=0x2e8a
|
||||
waveshare_rp2040_lcd_1_28.build.pid=0x1039
|
||||
waveshare_rp2040_lcd_1_28.build.usb_manufacturer="Waveshare"
|
||||
waveshare_rp2040_lcd_1_28.build.usb_product="RP2040 LCD 1.28"
|
||||
waveshare_rp2040_lcd_1_28.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -10167,7 +10121,8 @@ wiznet_5100s_evb_pico.vid.6=0x2e8a
|
||||
wiznet_5100s_evb_pico.pid.6=0xd027
|
||||
wiznet_5100s_evb_pico.vid.7=0x2e8a
|
||||
wiznet_5100s_evb_pico.pid.7=0xd127
|
||||
wiznet_5100s_evb_pico.build.usbpid=-DSERIALUSB_PID=0x1027
|
||||
wiznet_5100s_evb_pico.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
wiznet_5100s_evb_pico.build.usbpid=-DUSBD_PID=0x1027
|
||||
wiznet_5100s_evb_pico.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
wiznet_5100s_evb_pico.build.board=WIZNET_5100S_EVB_PICO
|
||||
wiznet_5100s_evb_pico.build.mcu=cortex-m0plus
|
||||
@@ -10182,8 +10137,6 @@ wiznet_5100s_evb_pico.build.led=
|
||||
wiznet_5100s_evb_pico.build.core=rp2040
|
||||
wiznet_5100s_evb_pico.build.ldscript=memmap_default.ld
|
||||
wiznet_5100s_evb_pico.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
wiznet_5100s_evb_pico.build.vid=0x2e8a
|
||||
wiznet_5100s_evb_pico.build.pid=0x1027
|
||||
wiznet_5100s_evb_pico.build.usb_manufacturer="WIZnet"
|
||||
wiznet_5100s_evb_pico.build.usb_product="W5100S-EVB-Pico"
|
||||
wiznet_5100s_evb_pico.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -10354,7 +10307,8 @@ wiznet_wizfi360_evb_pico.vid.6=0x2e8a
|
||||
wiznet_wizfi360_evb_pico.pid.6=0xd028
|
||||
wiznet_wizfi360_evb_pico.vid.7=0x2e8a
|
||||
wiznet_wizfi360_evb_pico.pid.7=0xd128
|
||||
wiznet_wizfi360_evb_pico.build.usbpid=-DSERIALUSB_PID=0x1028
|
||||
wiznet_wizfi360_evb_pico.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
wiznet_wizfi360_evb_pico.build.usbpid=-DUSBD_PID=0x1028
|
||||
wiznet_wizfi360_evb_pico.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
wiznet_wizfi360_evb_pico.build.board=WIZNET_WIZFI360_EVB_PICO
|
||||
wiznet_wizfi360_evb_pico.build.mcu=cortex-m0plus
|
||||
@@ -10369,8 +10323,6 @@ wiznet_wizfi360_evb_pico.build.led=
|
||||
wiznet_wizfi360_evb_pico.build.core=rp2040
|
||||
wiznet_wizfi360_evb_pico.build.ldscript=memmap_default.ld
|
||||
wiznet_wizfi360_evb_pico.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
wiznet_wizfi360_evb_pico.build.vid=0x2e8a
|
||||
wiznet_wizfi360_evb_pico.build.pid=0x1028
|
||||
wiznet_wizfi360_evb_pico.build.usb_manufacturer="WIZnet"
|
||||
wiznet_wizfi360_evb_pico.build.usb_product="WizFi360-EVB-Pico"
|
||||
wiznet_wizfi360_evb_pico.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -10541,7 +10493,8 @@ wiznet_5500_evb_pico.vid.6=0x2e8a
|
||||
wiznet_5500_evb_pico.pid.6=0xd029
|
||||
wiznet_5500_evb_pico.vid.7=0x2e8a
|
||||
wiznet_5500_evb_pico.pid.7=0xd129
|
||||
wiznet_5500_evb_pico.build.usbpid=-DSERIALUSB_PID=0x1029
|
||||
wiznet_5500_evb_pico.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
wiznet_5500_evb_pico.build.usbpid=-DUSBD_PID=0x1029
|
||||
wiznet_5500_evb_pico.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
wiznet_5500_evb_pico.build.board=WIZNET_5500_EVB_PICO
|
||||
wiznet_5500_evb_pico.build.mcu=cortex-m0plus
|
||||
@@ -10556,8 +10509,6 @@ wiznet_5500_evb_pico.build.led=
|
||||
wiznet_5500_evb_pico.build.core=rp2040
|
||||
wiznet_5500_evb_pico.build.ldscript=memmap_default.ld
|
||||
wiznet_5500_evb_pico.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
wiznet_5500_evb_pico.build.vid=0x2e8a
|
||||
wiznet_5500_evb_pico.build.pid=0x1029
|
||||
wiznet_5500_evb_pico.build.usb_manufacturer="WIZnet"
|
||||
wiznet_5500_evb_pico.build.usb_product="W5500-EVB-Pico"
|
||||
wiznet_5500_evb_pico.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -10728,7 +10679,8 @@ generic.vid.6=0x2e8a
|
||||
generic.pid.6=0xf00a
|
||||
generic.vid.7=0x2e8a
|
||||
generic.pid.7=0xf10a
|
||||
generic.build.usbpid=-DSERIALUSB_PID=0xf00a
|
||||
generic.build.usbvid=-DUSBD_VID=0x2e8a
|
||||
generic.build.usbpid=-DUSBD_PID=0xf00a
|
||||
generic.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||
generic.build.board=GENERIC_RP2040
|
||||
generic.build.mcu=cortex-m0plus
|
||||
@@ -10743,8 +10695,6 @@ generic.build.led=
|
||||
generic.build.core=rp2040
|
||||
generic.build.ldscript=memmap_default.ld
|
||||
generic.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
generic.build.vid=0x2e8a
|
||||
generic.build.pid=0xf00a
|
||||
generic.build.usb_manufacturer="Generic"
|
||||
generic.build.usb_product="RP2040"
|
||||
generic.menu.flash.2097152_0=2MB (no FS)
|
||||
@@ -10899,6 +10849,8 @@ generic.menu.boot2.boot2_w25q64jv_4_padded_checksum=W25Q64JV QSPI /4
|
||||
generic.menu.boot2.boot2_w25q64jv_4_padded_checksum.build.boot2=boot2_w25q64jv_4_padded_checksum
|
||||
generic.menu.boot2.boot2_w25q16jvxq_4_padded_checksum=W25Q16JVxQ QSPI /4
|
||||
generic.menu.boot2.boot2_w25q16jvxq_4_padded_checksum.build.boot2=boot2_w25q16jvxq_4_padded_checksum
|
||||
generic.menu.boot2.boot2_w25q128jvxq_4_padded_checksum=W25Q128JV QSPI /4
|
||||
generic.menu.boot2.boot2_w25q128jvxq_4_padded_checksum.build.boot2=boot2_w25q128jvxq_4_padded_checksum
|
||||
generic.menu.uploadmethod.default=Default (UF2)
|
||||
generic.menu.uploadmethod.default.build.ram_length=256k
|
||||
generic.menu.uploadmethod.default.build.debugscript=picoprobe.tcl
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// Padded and checksummed version of: generated\Winbond\W25Q128JVxQ\boot2.bin by @maxgerhardt
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0xf7, 0xb5, 0x73, 0x46, 0x21, 0x22, 0x02, 0x26, 0x01, 0x93, 0x29, 0x4b, 0xc0, 0x24, 0x5a, 0x60
|
||||
.byte 0x9a, 0x68, 0x00, 0x27, 0xb2, 0x43, 0xda, 0x60, 0x9a, 0x60, 0x1a, 0x61, 0x5a, 0x61, 0x04, 0x23
|
||||
.byte 0x01, 0x25, 0x64, 0x05, 0xa7, 0x60, 0x63, 0x61, 0x22, 0x4b, 0x30, 0x00, 0x1d, 0x60, 0xe0, 0x23
|
||||
.byte 0xdb, 0x02, 0x23, 0x60, 0x35, 0x23, 0xa5, 0x60, 0x23, 0x66, 0x23, 0x66, 0x00, 0xf0, 0x4a, 0xf8
|
||||
.byte 0xc0, 0xb2, 0xb0, 0x42, 0x12, 0xd0, 0x06, 0x23, 0x28, 0x00, 0x23, 0x66, 0x00, 0xf0, 0x42, 0xf8
|
||||
.byte 0x25, 0x66, 0x03, 0x20, 0x27, 0x66, 0x26, 0x66, 0x00, 0xf0, 0x3c, 0xf8, 0x03, 0x36, 0x26, 0x66
|
||||
.byte 0x02, 0x20, 0x26, 0x66, 0x00, 0xf0, 0x36, 0xf8, 0x28, 0x42, 0xf8, 0xd1, 0x00, 0x25, 0x12, 0x4b
|
||||
.byte 0xa5, 0x60, 0x12, 0x4f, 0x23, 0x60, 0x12, 0x4b, 0x65, 0x60, 0x01, 0x26, 0x3b, 0x60, 0xeb, 0x23
|
||||
.byte 0xa6, 0x60, 0x23, 0x66, 0x4b, 0x3b, 0x23, 0x66, 0x02, 0x20, 0x00, 0xf0, 0x23, 0xf8, 0x0d, 0x4b
|
||||
.byte 0xa5, 0x60, 0x3b, 0x60, 0xa6, 0x60, 0x01, 0x9b, 0xab, 0x42, 0x08, 0xd1, 0x0a, 0x4b, 0x0b, 0x4a
|
||||
.byte 0x13, 0x60, 0x1b, 0x68, 0x83, 0xf3, 0x08, 0x88, 0x09, 0x4b, 0x1b, 0x68, 0x18, 0x47, 0xf7, 0xbd
|
||||
.byte 0x00, 0x00, 0x02, 0x40, 0xf0, 0x00, 0x00, 0x18, 0x00, 0x03, 0x5f, 0x00, 0xf4, 0x00, 0x00, 0x18
|
||||
.byte 0x21, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00, 0xa0, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x04, 0x01, 0x00, 0x10, 0xc0, 0x22, 0x03, 0x00, 0x04, 0x21, 0x52, 0x05, 0x90, 0x6a, 0x08, 0x42
|
||||
.byte 0xfc, 0xd0, 0x01, 0x21, 0x90, 0x6a, 0x08, 0x42, 0xfc, 0xd1, 0x01, 0x3b, 0xdb, 0xb2, 0x10, 0x6e
|
||||
.byte 0x00, 0x2b, 0xfa, 0xd1, 0x70, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0xa0, 0xf0, 0x2f
|
||||
@@ -107,6 +107,9 @@ extern bool __isFreeRTOS;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
// emptyString is an ESP-ism, a constant string with ""
|
||||
extern const String emptyString;
|
||||
|
||||
#ifdef USE_TINYUSB
|
||||
// Needed for declaring Serial
|
||||
#include "Adafruit_USBD_CDC.h"
|
||||
|
||||
@@ -46,12 +46,11 @@ mutex_t __usb_mutex;
|
||||
#define USB_TASK_INTERVAL 1000
|
||||
static int __usb_task_irq;
|
||||
|
||||
// USB VID/PID (note that PID can change depending on the add'l interfaces)
|
||||
#ifndef USBD_VID
|
||||
#define USBD_VID (0x2E8A) // Raspberry Pi
|
||||
#endif
|
||||
|
||||
#ifdef SERIALUSB_PID
|
||||
#define USBD_PID (SERIALUSB_PID)
|
||||
#else
|
||||
#ifndef USBD_PID
|
||||
#define USBD_PID (0x000a) // Raspberry Pi Pico SDK CDC
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
#define ARDUINO_PICO_MAJOR 2
|
||||
#define ARDUINO_PICO_MINOR 7
|
||||
#define ARDUINO_PICO_REVISION 1
|
||||
#define ARDUINO_PICO_VERSION_STR "2.7.1"
|
||||
#define ARDUINO_PICO_REVISION 2
|
||||
#define ARDUINO_PICO_VERSION_STR "2.7.2"
|
||||
|
||||
+53
-18
@@ -134,6 +134,20 @@ void SerialUART::begin(unsigned long baud, uint16_t config) {
|
||||
_overflow = false;
|
||||
_queue = new uint8_t[_fifoSize];
|
||||
_baud = baud;
|
||||
|
||||
_fcnTx = gpio_get_function(_tx);
|
||||
_fcnRx = gpio_get_function(_rx);
|
||||
gpio_set_function(_tx, GPIO_FUNC_UART);
|
||||
gpio_set_function(_rx, GPIO_FUNC_UART);
|
||||
if (_rts != UART_PIN_NOT_DEFINED) {
|
||||
_fcnRts = gpio_get_function(_rts);
|
||||
gpio_set_function(_rts, GPIO_FUNC_UART);
|
||||
}
|
||||
if (_cts != UART_PIN_NOT_DEFINED) {
|
||||
_fcnCts = gpio_get_function(_cts);
|
||||
gpio_set_function(_cts, GPIO_FUNC_UART);
|
||||
}
|
||||
|
||||
uart_init(_uart, baud);
|
||||
int bits, stop;
|
||||
uart_parity_t parity;
|
||||
@@ -171,18 +185,6 @@ void SerialUART::begin(unsigned long baud, uint16_t config) {
|
||||
break;
|
||||
}
|
||||
uart_set_format(_uart, bits, stop, parity);
|
||||
_fcnTx = gpio_get_function(_tx);
|
||||
_fcnRx = gpio_get_function(_rx);
|
||||
gpio_set_function(_tx, GPIO_FUNC_UART);
|
||||
gpio_set_function(_rx, GPIO_FUNC_UART);
|
||||
if (_rts != UART_PIN_NOT_DEFINED) {
|
||||
_fcnRts = gpio_get_function(_rts);
|
||||
gpio_set_function(_rts, GPIO_FUNC_UART);
|
||||
}
|
||||
if (_cts != UART_PIN_NOT_DEFINED) {
|
||||
_fcnCts = gpio_get_function(_cts);
|
||||
gpio_set_function(_cts, GPIO_FUNC_UART);
|
||||
}
|
||||
uart_set_hw_flow(_uart, _rts != UART_PIN_NOT_DEFINED, _cts != UART_PIN_NOT_DEFINED);
|
||||
_writer = 0;
|
||||
_reader = 0;
|
||||
@@ -200,6 +202,7 @@ void SerialUART::begin(unsigned long baud, uint16_t config) {
|
||||
} else {
|
||||
// Polling mode has no IRQs used
|
||||
}
|
||||
_break = false;
|
||||
_running = true;
|
||||
}
|
||||
|
||||
@@ -288,13 +291,22 @@ int SerialUART::read() {
|
||||
}
|
||||
|
||||
bool SerialUART::overflow() {
|
||||
CoreMutex m(&_mutex);
|
||||
if (!_running || !m) {
|
||||
if (!_running) {
|
||||
return false;
|
||||
}
|
||||
bool hold = _overflow;
|
||||
|
||||
if (_polling) {
|
||||
_handleIRQ(false);
|
||||
} else {
|
||||
_pumpFIFO();
|
||||
}
|
||||
|
||||
mutex_enter_blocking(&_fifoMutex);
|
||||
bool ovf = _overflow;
|
||||
_overflow = false;
|
||||
return hold;
|
||||
mutex_exit(&_fifoMutex);
|
||||
|
||||
return ovf;
|
||||
}
|
||||
|
||||
int SerialUART::available() {
|
||||
@@ -365,6 +377,25 @@ SerialUART::operator bool() {
|
||||
return _running;
|
||||
}
|
||||
|
||||
bool SerialUART::getBreakReceived() {
|
||||
if (!_running) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_polling) {
|
||||
_handleIRQ(false);
|
||||
} else {
|
||||
_pumpFIFO();
|
||||
}
|
||||
|
||||
mutex_enter_blocking(&_fifoMutex);
|
||||
bool break_received = _break;
|
||||
_break = false;
|
||||
mutex_exit(&_fifoMutex);
|
||||
|
||||
return break_received;
|
||||
}
|
||||
|
||||
void arduino::serialEvent1Run(void) {
|
||||
if (serialEvent1 && Serial1.available()) {
|
||||
serialEvent1();
|
||||
@@ -391,8 +422,12 @@ void __not_in_flash_func(SerialUART::_handleIRQ)(bool inIRQ) {
|
||||
uart_get_hw(_uart)->icr = UART_UARTICR_RTIC_BITS | UART_UARTICR_RXIC_BITS;
|
||||
while (uart_is_readable(_uart)) {
|
||||
uint32_t raw = uart_get_hw(_uart)->dr;
|
||||
if (raw & 0x700) {
|
||||
// Framing, Parity, or Break. Ignore this bad char
|
||||
if (raw & 0x400) {
|
||||
// break!
|
||||
_break = true;
|
||||
continue;
|
||||
} else if (raw & 0x300) {
|
||||
// Framing, Parity Error. Ignore this bad char
|
||||
continue;
|
||||
}
|
||||
uint8_t val = raw & 0xff;
|
||||
|
||||
@@ -63,9 +63,18 @@ public:
|
||||
bool overflow();
|
||||
operator bool() override;
|
||||
|
||||
// ESP8266 compat
|
||||
void setDebugOutput(bool unused) {
|
||||
(void) unused;
|
||||
}
|
||||
|
||||
// Not to be called by users, only from the IRQ handler. In public so that the C-language IQR callback can access it
|
||||
void _handleIRQ(bool inIRQ = true);
|
||||
|
||||
// Allows the user to sleep until a break is received (self-clears the flag
|
||||
// on read)
|
||||
bool getBreakReceived();
|
||||
|
||||
private:
|
||||
bool _running = false;
|
||||
uart_inst_t *_uart;
|
||||
@@ -76,6 +85,7 @@ private:
|
||||
mutex_t _mutex;
|
||||
bool _polling = false;
|
||||
bool _overflow;
|
||||
bool _break;
|
||||
|
||||
// Lockless, IRQ-handled circular queue
|
||||
uint32_t _writer;
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "pico/mutex.h"
|
||||
#include "hardware/watchdog.h"
|
||||
#include "pico/unique_id.h"
|
||||
#include "hardware/resets.h"
|
||||
|
||||
#ifndef DISABLE_USB_SERIAL
|
||||
// Ensure we are installed in the USB chain
|
||||
@@ -174,8 +175,18 @@ SerialUSB::operator bool() {
|
||||
static bool _dtr = false;
|
||||
static bool _rts = false;
|
||||
static int _bps = 115200;
|
||||
static bool _rebooting = false;
|
||||
static void CheckSerialReset() {
|
||||
if ((_bps == 1200) && (!_dtr)) {
|
||||
__holdUpPendSV = 1; // Ensure we don't get swapped out by FreeRTOS
|
||||
if (!_rebooting && (_bps == 1200) && (!_dtr)) {
|
||||
_rebooting = true;
|
||||
// Disable NVIC IRQ, so that we don't get bothered anymore
|
||||
irq_set_enabled(USBCTRL_IRQ, false);
|
||||
// Reset the whole USB hardware block
|
||||
reset_block(RESETS_RESET_USBCTRL_BITS);
|
||||
unreset_block(RESETS_RESET_USBCTRL_BITS);
|
||||
// Delay a bit, so the PC can figure out that we have disconnected.
|
||||
sleep_ms(3);
|
||||
reset_usb_boot(0, 0);
|
||||
while (1); // WDT will fire here
|
||||
}
|
||||
|
||||
@@ -44,6 +44,11 @@ public:
|
||||
using Print::write;
|
||||
operator bool() override;
|
||||
|
||||
// ESP8266 compat
|
||||
void setDebugOutput(bool unused) {
|
||||
(void) unused;
|
||||
}
|
||||
|
||||
private:
|
||||
bool _running = false;
|
||||
};
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#if !defined(DEBUG_RP2040_PORT)
|
||||
#define DEBUGV(...) do { } while(0)
|
||||
#define DEBUGCORE(...) do { } while(0)
|
||||
@@ -44,3 +46,7 @@
|
||||
#define DEBUGSPI(...) do { } while(0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern void hexdump(const void* mem, uint32_t len, uint8_t cols = 16);
|
||||
#endif
|
||||
|
||||
@@ -170,3 +170,30 @@ extern "C" struct _reent *__wrap___getreent() {
|
||||
return _impure_ptr1;
|
||||
}
|
||||
}
|
||||
|
||||
// ESP8266 internal debug routine
|
||||
extern void hexdump(const void* mem, uint32_t len, uint8_t cols) __attribute__((weak));
|
||||
void hexdump(const void* mem, uint32_t len, uint8_t cols) {
|
||||
const char* src = (const char*)mem;
|
||||
printf("\n[HEXDUMP] Address: %p len: 0x%lX (%ld)", src, len, len);
|
||||
while (len > 0) {
|
||||
uint32_t linesize = cols > len ? len : cols;
|
||||
printf("\n[%p] 0x%04x: ", src, (int)(src - (const char*)mem));
|
||||
for (uint32_t i = 0; i < linesize; i++) {
|
||||
printf("%02x ", *(src + i));
|
||||
}
|
||||
printf(" ");
|
||||
for (uint32_t i = linesize; i < cols; i++) {
|
||||
printf(" ");
|
||||
}
|
||||
for (uint32_t i = 0; i < linesize; i++) {
|
||||
unsigned char c = *(src + i);
|
||||
putc(isprint(c) ? c : '.', stdout);
|
||||
}
|
||||
src += linesize;
|
||||
len -= linesize;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
const String emptyString = "";
|
||||
|
||||
+2
-2
@@ -54,9 +54,9 @@ author = u'Earle F. Philhower, III'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = u'2.7.1'
|
||||
version = u'2.7.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = u'2.7.1'
|
||||
release = u'2.7.2'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -69,6 +69,7 @@ AudioBufferManager::AudioBufferManager(size_t bufferCount, size_t bufferWords, i
|
||||
}
|
||||
|
||||
AudioBufferManager::~AudioBufferManager() {
|
||||
noInterrupts();
|
||||
if (_running) {
|
||||
_running = false;
|
||||
for (auto i = 0; i < 2; i++) {
|
||||
@@ -76,6 +77,7 @@ AudioBufferManager::~AudioBufferManager() {
|
||||
__channelMap[_channelDMA[i]] = nullptr;
|
||||
dma_channel_abort(_channelDMA[i]);
|
||||
dma_channel_unclaim(_channelDMA[i]);
|
||||
dma_channel_acknowledge_irq0(_channelDMA[i]);
|
||||
}
|
||||
__channelCount--;
|
||||
if (!__channelCount) {
|
||||
@@ -84,6 +86,7 @@ AudioBufferManager::~AudioBufferManager() {
|
||||
irq_remove_handler(DMA_IRQ_0, _irq);
|
||||
}
|
||||
}
|
||||
interrupts();
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (_active[i] != _silence) {
|
||||
_deleteAudioBuffer(_active[i]);
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
simple demo to show sha1 calculation
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
#include <Hash.h>
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
// usage as String
|
||||
// SHA1:a9993e364706816aba3e25717850c26c9cd0d89d
|
||||
|
||||
Serial.print("SHA1:");
|
||||
Serial.println(sha1("abc"));
|
||||
|
||||
// usage as ptr
|
||||
// SHA1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
|
||||
uint8_t hash[20];
|
||||
sha1("test", &hash[0]);
|
||||
|
||||
Serial.print("SHA1:");
|
||||
for (uint16_t i = 0; i < 20; i++) { Serial.printf("%02x", hash[i]); }
|
||||
Serial.println();
|
||||
|
||||
delay(1000);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#######################################
|
||||
# Syntax Coloring Map For Hash
|
||||
#######################################
|
||||
|
||||
#######################################
|
||||
# Library (KEYWORD3)
|
||||
#######################################
|
||||
|
||||
Hash KEYWORD3 RESERVED_WORD
|
||||
|
||||
#######################################
|
||||
# Datatypes (KEYWORD1)
|
||||
#######################################
|
||||
|
||||
#######################################
|
||||
# Methods and Functions (KEYWORD2)
|
||||
#######################################
|
||||
|
||||
sha1 KEYWORD2
|
||||
|
||||
#######################################
|
||||
# Constants (LITERAL1)
|
||||
#######################################
|
||||
@@ -0,0 +1,10 @@
|
||||
name=Hash
|
||||
version=1.0
|
||||
author=Markus Sattler
|
||||
maintainer=Markus Sattler
|
||||
sentence=Generate Hash from data
|
||||
paragraph=
|
||||
category=Data Processing
|
||||
url=
|
||||
architectures=rp2040
|
||||
dot_a_linkage=true
|
||||
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* @file Hash.cpp
|
||||
* @date 20.05.2015
|
||||
* @author Markus Sattler
|
||||
*
|
||||
* Copyright (c) 2015 Markus Sattler. All rights reserved.
|
||||
* This file is part of the esp8266 core for Arduino environment.
|
||||
*
|
||||
* 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 <Arduino.h>
|
||||
#include <bearssl/bearssl_hash.h>
|
||||
|
||||
#include "Hash.h"
|
||||
|
||||
/**
|
||||
* create a sha1 hash from data
|
||||
* @param data uint8_t *
|
||||
* @param size uint32_t
|
||||
* @param hash uint8_t[20]
|
||||
*/
|
||||
void sha1(const uint8_t* data, uint32_t size, uint8_t hash[20]) {
|
||||
br_sha1_context ctx;
|
||||
|
||||
#ifdef DEBUG_SHA1
|
||||
os_printf("DATA:");
|
||||
for(uint16_t i = 0; i < size; i++) {
|
||||
os_printf("%02X", data[i]);
|
||||
}
|
||||
os_printf("\n");
|
||||
os_printf("DATA:");
|
||||
for(uint16_t i = 0; i < size; i++) {
|
||||
os_printf("%c", data[i]);
|
||||
}
|
||||
os_printf("\n");
|
||||
#endif
|
||||
|
||||
br_sha1_init(&ctx);
|
||||
br_sha1_update(&ctx, data, size);
|
||||
br_sha1_out(&ctx, hash);
|
||||
|
||||
#ifdef DEBUG_SHA1
|
||||
os_printf("SHA1:");
|
||||
for(uint16_t i = 0; i < 20; i++) {
|
||||
os_printf("%02X", hash[i]);
|
||||
}
|
||||
os_printf("\n\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
void sha1(const char* data, uint32_t size, uint8_t hash[20]) {
|
||||
sha1((const uint8_t *) data, size, hash);
|
||||
}
|
||||
|
||||
void sha1(const String& data, uint8_t hash[20]) {
|
||||
sha1(data.c_str(), data.length(), hash);
|
||||
}
|
||||
|
||||
String sha1(const uint8_t* data, uint32_t size) {
|
||||
uint8_t hash[20];
|
||||
String hashStr((const char*)nullptr);
|
||||
hashStr.reserve(20 * 2 + 1);
|
||||
|
||||
sha1(&data[0], size, &hash[0]);
|
||||
|
||||
for(uint16_t i = 0; i < 20; i++) {
|
||||
char hex[3];
|
||||
snprintf(hex, sizeof(hex), "%02x", hash[i]);
|
||||
hashStr += hex;
|
||||
}
|
||||
|
||||
return hashStr;
|
||||
}
|
||||
|
||||
String sha1(const char* data, uint32_t size) {
|
||||
return sha1((const uint8_t*) data, size);
|
||||
}
|
||||
|
||||
String sha1(const String& data) {
|
||||
return sha1(data.c_str(), data.length());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file Hash.h
|
||||
* @date 20.05.2015
|
||||
* @author Markus Sattler
|
||||
*
|
||||
* Copyright (c) 2015 Markus Sattler. All rights reserved.
|
||||
* This file is part of the esp8266 core for Arduino environment.
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HASH_H_
|
||||
#define HASH_H_
|
||||
|
||||
//#define DEBUG_SHA1
|
||||
|
||||
void sha1(const uint8_t* data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(const char* data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(const String& data, uint8_t hash[20]);
|
||||
|
||||
String sha1(const uint8_t* data, uint32_t size);
|
||||
String sha1(const char* data, uint32_t size);
|
||||
String sha1(const String& data);
|
||||
|
||||
#endif /* HASH_H_ */
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
|
||||
//PORTENTA_H7 min -12 max 51
|
||||
//NANO 33 BLE SENSe min 0 max 80
|
||||
//NICLA_VISION min 0 max 8
|
||||
void setGain(int gain);
|
||||
void setBufferSize(int bufferSize);
|
||||
size_t getBufferSize();
|
||||
@@ -56,6 +57,8 @@ private:
|
||||
int _gain;
|
||||
int _init;
|
||||
|
||||
int _cutSamples;
|
||||
|
||||
// Hardware peripherals used
|
||||
uint _dmaChannel;
|
||||
PIO _pio;
|
||||
|
||||
@@ -20,7 +20,7 @@ uint8_t rawBuffer1[RAW_BUFFER_SIZE];
|
||||
uint8_t* rawBuffer[2] = {rawBuffer0, rawBuffer1};
|
||||
volatile int rawBufferIndex = 0;
|
||||
|
||||
int decimation = 64;
|
||||
int decimation = 128;
|
||||
|
||||
// final buffer is the one to be filled with PCM data
|
||||
int16_t* volatile finalBuffer;
|
||||
@@ -45,6 +45,7 @@ PDMClass::PDMClass(int dinPin, int clkPin, int pwrPin) :
|
||||
_channels(-1),
|
||||
_samplerate(-1),
|
||||
_init(-1),
|
||||
_cutSamples(100),
|
||||
_dmaChannel(0),
|
||||
_pio(nullptr),
|
||||
_smIdx(-1),
|
||||
@@ -55,6 +56,12 @@ PDMClass::~PDMClass() {
|
||||
}
|
||||
|
||||
int PDMClass::begin(int channels, int sampleRate) {
|
||||
|
||||
if (_init == 1) {
|
||||
//ERROR: please call end first
|
||||
return 0;
|
||||
}
|
||||
|
||||
//_channels = channels; // only one channel available
|
||||
|
||||
// clear the final buffers
|
||||
@@ -63,6 +70,18 @@ int PDMClass::begin(int channels, int sampleRate) {
|
||||
int finalBufferLength = _doubleBuffer.availableForWrite() / sizeof(int16_t);
|
||||
_doubleBuffer.swap(0);
|
||||
|
||||
// The mic accepts an input clock from 1.2 to 3.25 Mhz
|
||||
// Setup the decimation factor accordingly
|
||||
if ((sampleRate * decimation * 2) > 3250000) {
|
||||
decimation = 64;
|
||||
}
|
||||
|
||||
// Sanity check, abort if still over 3.25Mhz
|
||||
if ((sampleRate * decimation * 2) > 3250000) {
|
||||
//ERROR: Sample rate too high, the mic would glitch
|
||||
return -1;
|
||||
}
|
||||
|
||||
int rawBufferLength = RAW_BUFFER_SIZE / (decimation / 8);
|
||||
// Saturate number of samples. Remaining bytes are dropped.
|
||||
if (rawBufferLength > finalBufferLength) {
|
||||
@@ -71,6 +90,7 @@ int PDMClass::begin(int channels, int sampleRate) {
|
||||
|
||||
/* Initialize Open PDM library */
|
||||
filter.Fs = sampleRate;
|
||||
filter.MaxVolume = 1;
|
||||
filter.nSamples = rawBufferLength;
|
||||
filter.LP_HZ = sampleRate / 2;
|
||||
filter.HP_HZ = 10;
|
||||
@@ -88,7 +108,7 @@ int PDMClass::begin(int channels, int sampleRate) {
|
||||
|
||||
if (!_pdmPgm.prepare(&_pio, &_smIdx, &_pgmOffset)) {
|
||||
// ERROR, no free slots
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
pdm_pio_program_init(_pio, _smIdx, _pgmOffset, _clkPin, _dinPin, clkDiv);
|
||||
|
||||
@@ -118,14 +138,29 @@ int PDMClass::begin(int channels, int sampleRate) {
|
||||
true // Start immediately
|
||||
);
|
||||
|
||||
_cutSamples = 100;
|
||||
|
||||
_init = 1;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void PDMClass::end() {
|
||||
|
||||
if (_init != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
dma_channel_set_irq0_enabled(_dmaChannel, false);
|
||||
dma_channel_abort(_dmaChannel);
|
||||
dma_channel_unclaim(_dmaChannel);
|
||||
irq_remove_handler(DMA_IRQ_0, dmaHandler);
|
||||
pio_sm_unclaim(_pio, _smIdx);
|
||||
pinMode(_clkPin, INPUT);
|
||||
rawBufferIndex = 0;
|
||||
_pgmOffset = -1;
|
||||
|
||||
_init = 0;
|
||||
}
|
||||
|
||||
int PDMClass::available() {
|
||||
@@ -163,7 +198,6 @@ void PDMClass::setBufferSize(int bufferSize) {
|
||||
}
|
||||
|
||||
void PDMClass::IrqHandler(bool halftranfer) {
|
||||
static int cutSamples = 100;
|
||||
|
||||
// Clear the interrupt request.
|
||||
dma_hw->ints0 = 1u << _dmaChannel;
|
||||
@@ -171,24 +205,25 @@ void PDMClass::IrqHandler(bool halftranfer) {
|
||||
int shadowIndex = rawBufferIndex ^ 1;
|
||||
dma_channel_set_write_addr(_dmaChannel, rawBuffer[shadowIndex], true);
|
||||
|
||||
if (_doubleBuffer.available()) {
|
||||
// buffer overflow, stop
|
||||
return end();
|
||||
if (!_doubleBuffer.available()) {
|
||||
// fill final buffer with PCM samples
|
||||
if (filter.Decimation == 128) {
|
||||
Open_PDM_Filter_128(rawBuffer[rawBufferIndex], finalBuffer, 1, &filter);
|
||||
} else {
|
||||
Open_PDM_Filter_64(rawBuffer[rawBufferIndex], finalBuffer, 1, &filter);
|
||||
}
|
||||
|
||||
if (_cutSamples) {
|
||||
memset(finalBuffer, 0, _cutSamples);
|
||||
_cutSamples = 0;
|
||||
}
|
||||
|
||||
// swap final buffer and raw buffers' indexes
|
||||
finalBuffer = (int16_t*)_doubleBuffer.data();
|
||||
_doubleBuffer.swap(filter.nSamples * sizeof(int16_t));
|
||||
rawBufferIndex = shadowIndex;
|
||||
}
|
||||
|
||||
// fill final buffer with PCM samples
|
||||
Open_PDM_Filter_64(rawBuffer[rawBufferIndex], finalBuffer, 1, &filter);
|
||||
|
||||
if (cutSamples) {
|
||||
memset(finalBuffer, 0, cutSamples);
|
||||
cutSamples = 0;
|
||||
}
|
||||
|
||||
// swap final buffer and raw buffers' indexes
|
||||
finalBuffer = (int16_t*)_doubleBuffer.data();
|
||||
_doubleBuffer.swap(filter.nSamples * sizeof(int16_t));
|
||||
rawBufferIndex = shadowIndex;
|
||||
|
||||
if (_onReceive) {
|
||||
_onReceive();
|
||||
}
|
||||
|
||||
+17
-3
@@ -162,9 +162,23 @@ public:
|
||||
|
||||
private:
|
||||
const char *getMode(uint8_t mode) {
|
||||
bool read = (mode & O_READ) ? true : false;
|
||||
bool write = (mode & O_WRITE) ? true : false;
|
||||
bool append = (mode & O_APPEND) ? true : false;
|
||||
bool read = false;
|
||||
bool write = false;
|
||||
|
||||
switch (mode & O_ACCMODE) {
|
||||
case O_RDONLY:
|
||||
read = true;
|
||||
break;
|
||||
case O_WRONLY:
|
||||
write = true;
|
||||
break;
|
||||
case O_RDWR:
|
||||
read = true;
|
||||
write = true;
|
||||
break;
|
||||
}
|
||||
const bool append = (mode & O_APPEND) > 0;
|
||||
|
||||
if (read & !write) {
|
||||
return "r";
|
||||
} else if (!read & write & !append) {
|
||||
|
||||
@@ -125,7 +125,7 @@ uint16_t SPIClassRP2040::transfer16(uint16_t data) {
|
||||
spi_set_format(_spi, 16, cpol(), cpha(), SPI_MSB_FIRST);
|
||||
DEBUGSPI("SPI::transfer16(%04x), cpol=%d, cpha=%d\n", data, cpol(), cpha());
|
||||
spi_write16_read16_blocking(_spi, &data, &ret, 1);
|
||||
ret = (_spis.getBitOrder() == MSBFIRST) ? ret : reverseByte(ret);
|
||||
ret = (_spis.getBitOrder() == MSBFIRST) ? ret : reverse16Bit(ret);
|
||||
DEBUGSPI("SPI: read back %02x\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Since things may just work, we'll redirect for now
|
||||
#include "WebServer.h"
|
||||
|
||||
using ESP8266WebServer = WebServer;
|
||||
@@ -0,0 +1,4 @@
|
||||
// Since things may just work, we'll redirect for now
|
||||
#include "WiFiMulti.h"
|
||||
|
||||
using ESP8266WiFiMulti = WiFiMulti;
|
||||
@@ -86,6 +86,9 @@ public:
|
||||
int begin(const char* ssid, const char *passphrase);
|
||||
|
||||
bool connected();
|
||||
bool isConnected() {
|
||||
return connected();
|
||||
}
|
||||
int8_t waitForConnectResult(unsigned long timeoutLength = 60000) {
|
||||
uint32_t now = millis();
|
||||
while (millis() - now < timeoutLength) {
|
||||
@@ -381,6 +384,15 @@ public:
|
||||
void setFeedWatchdogFunc(FeedHostProcessorWatchdogFuncPointer func);
|
||||
void feedWatchdog();
|
||||
|
||||
// ESP8266 compatibility
|
||||
void persistent(bool unused) {
|
||||
(void) unused;
|
||||
}
|
||||
|
||||
void hostname(const char *name) {
|
||||
setHostname(name);
|
||||
}
|
||||
|
||||
private:
|
||||
int _timeout = 15000;
|
||||
String _ssid;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "framework-arduinopico",
|
||||
"version": "1.20701.0",
|
||||
"version": "1.20702.0",
|
||||
"description": "Arduino Wiring-based Framework (RPi Pico RP2040)",
|
||||
"keywords": [
|
||||
"framework",
|
||||
|
||||
+5
-5
@@ -20,7 +20,7 @@
|
||||
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
|
||||
|
||||
name=Raspberry Pi RP2040 Boards
|
||||
version=2.7.1
|
||||
version=2.7.2
|
||||
|
||||
runtime.tools.pqt-gcc.path={runtime.platform.path}/system/arm-none-eabi
|
||||
runtime.tools.pqt-python3.path={runtime.platform.path}/system/python3
|
||||
@@ -43,7 +43,7 @@ compiler.warning_flags.more=-Wall -Werror=return-type -Wno-ignored-qualifiers
|
||||
compiler.warning_flags.all=-Wall -Wextra -Werror=return-type -Wno-ignored-qualifiers
|
||||
|
||||
compiler.netdefines=-DPICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 -DCYW43_LWIP=0 {build.lwipdefs} -DLWIP_IGMP=1 -DLWIP_CHECKSUM_CTRL_PER_NETIF=1
|
||||
compiler.defines={build.led} {build.usbstack_flags} -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' {compiler.netdefines} -DARDUINO_VARIANT="{build.variant}" -DTARGET_RP2040
|
||||
compiler.defines={build.led} {build.usbstack_flags} -DCFG_TUSB_MCU=OPT_MCU_RP2040 {build.usbpid} {build.usbvid} {build.usbpwr} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' {compiler.netdefines} -DARDUINO_VARIANT="{build.variant}" -DTARGET_RP2040
|
||||
compiler.includes="-iprefix{runtime.platform.path}/" "@{runtime.platform.path}/lib/platform_inc.txt" "-I{runtime.platform.path}/include"
|
||||
compiler.flags=-march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections {build.flags.exceptions} {build.flags.stackprotect} {build.flags.cmsis} {build.picodebugflags}
|
||||
compiler.wrap="@{runtime.platform.path}/lib/platform_wrap.txt"
|
||||
@@ -114,13 +114,13 @@ pluggable_discovery.rp2040.pattern="{runtime.platform.path}/system/python3/pytho
|
||||
recipe.hooks.sketch.prebuild.pattern="{runtime.tools.pqt-python3.path}/python3" -I "{runtime.platform.path}/tools/signing.py" --mode header --publickey "{build.source.path}/public.key" --out "{build.path}/core/Updater_Signing.h"
|
||||
|
||||
## Compile c files
|
||||
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} {build.usbpid} {build.usbpwr} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {build.flags.optimize} {includes} "{source_file}" -o "{object_file}"
|
||||
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {build.flags.optimize} {includes} "{source_file}" -o "{object_file}"
|
||||
|
||||
## Compile c++ files
|
||||
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" -I "{build.path}/core" {compiler.cpp.flags} {build.usbpid} {build.usbpwr} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {build.flags.optimize} {build.wificc} {includes} "{source_file}" -o "{object_file}"
|
||||
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" -I "{build.path}/core" {compiler.cpp.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {build.flags.optimize} {build.wificc} {includes} "{source_file}" -o "{object_file}"
|
||||
|
||||
## Compile S files
|
||||
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} {build.usbpid} {build.usbpwr} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {includes} "{source_file}" -o "{object_file}"
|
||||
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level} {includes} "{source_file}" -o "{object_file}"
|
||||
|
||||
## Create archives
|
||||
# archive_file_path is needed for backwards compatibility with IDE 1.6.5 or older, IDE 1.6.6 or newer overrides this value
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"build": {
|
||||
"arduino": {
|
||||
"earlephilhower": {
|
||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
||||
"boot2_source": "boot2_w25q128jvxq_4_padded_checksum.S",
|
||||
"usb_vid": "0x1209",
|
||||
"usb_pid": "0xCB74"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"earlephilhower": {
|
||||
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
||||
"usb_vid": "0x2E8A",
|
||||
"usb_pid": "0x800A"
|
||||
}
|
||||
},
|
||||
"core": "earlephilhower",
|
||||
"cpu": "cortex-m0plus",
|
||||
"extra_flags": "-D ARDUINO_YD_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
||||
"f_cpu": "133000000L",
|
||||
"hwids": [
|
||||
[
|
||||
"0x2E8A",
|
||||
"0x00C0"
|
||||
],
|
||||
[
|
||||
"0x2E8A",
|
||||
"0x800A"
|
||||
]
|
||||
],
|
||||
"mcu": "rp2040",
|
||||
"variant": "vccgnd_yd_rp2040"
|
||||
},
|
||||
"debug": {
|
||||
"jlink_device": "RP2040_M0_0",
|
||||
"openocd_target": "rp2040.cfg",
|
||||
"svd_path": "rp2040.svd"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "YD 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": "VCC-GND"
|
||||
}
|
||||
+6
-9
@@ -70,7 +70,8 @@ def BuildBoot(name):
|
||||
("IS25LP080 QSPI /2", "boot2_is25lp080_2_padded_checksum"), ("IS25LP080 QSPI /4", "boot2_is25lp080_4_padded_checksum"),
|
||||
("W25Q080 QSPI /2", "boot2_w25q080_2_padded_checksum"), ("W25Q080 QSPI /4", "boot2_w25q080_4_padded_checksum"),
|
||||
("W25X10CL QSPI /2", "boot2_w25x10cl_2_padded_checksum"), ("W25X10CL QSPI /4", "boot2_w25x10cl_4_padded_checksum"),
|
||||
("W25Q64JV QSPI /4", "boot2_w25q64jv_4_padded_checksum"), ("W25Q16JVxQ QSPI /4", "boot2_w25q16jvxq_4_padded_checksum") ]:
|
||||
("W25Q64JV QSPI /4", "boot2_w25q64jv_4_padded_checksum"), ("W25Q16JVxQ QSPI /4", "boot2_w25q16jvxq_4_padded_checksum"),
|
||||
("W25Q128JV QSPI /4", "boot2_w25q128jvxq_4_padded_checksum")]:
|
||||
print("%s.menu.boot2.%s=%s" % (name, l[1], l[0]))
|
||||
print("%s.menu.boot2.%s.build.boot2=%s" % (name, l[1], l[1]))
|
||||
|
||||
@@ -141,10 +142,11 @@ def BuildHeader(name, vendor_name, product_name, vid, pid, pwr, boarddefine, var
|
||||
print("%s.vid.%d=%s" % (name, usb, vid))
|
||||
print("%s.pid.%d=0x%04x" % (name, usb, thispid))
|
||||
usb = usb + 1
|
||||
print("%s.build.usbvid=-DUSBD_VID=%s" % (name, vid))
|
||||
if type(pid) == list:
|
||||
print("%s.build.usbpid=-DSERIALUSB_PID=%s" % (name, pid[0]))
|
||||
print("%s.build.usbpid=-DUSBD_PID=%s" % (name, pid[0]))
|
||||
else:
|
||||
print("%s.build.usbpid=-DSERIALUSB_PID=%s" % (name, pid))
|
||||
print("%s.build.usbpid=-DUSBD_PID=%s" % (name, pid))
|
||||
print("%s.build.usbpwr=-DUSBD_MAX_POWER_MA=%s" % (name, pwr))
|
||||
print("%s.build.board=%s" % (name, boarddefine))
|
||||
print("%s.build.mcu=cortex-m0plus" % (name))
|
||||
@@ -159,11 +161,6 @@ def BuildHeader(name, vendor_name, product_name, vid, pid, pwr, boarddefine, var
|
||||
print("%s.build.core=rp2040" % (name))
|
||||
print("%s.build.ldscript=memmap_default.ld" % (name))
|
||||
print("%s.build.boot2=%s" % (name, boot2))
|
||||
print("%s.build.vid=%s" % (name, vid))
|
||||
if type(pid) == list:
|
||||
print("%s.build.pid=%s" % (name, pid[0]))
|
||||
else:
|
||||
print("%s.build.pid=%s" % (name, pid))
|
||||
print('%s.build.usb_manufacturer="%s"' % (name, vendor_name))
|
||||
print('%s.build.usb_product="%s"' % (name, product_name))
|
||||
if extra != None:
|
||||
@@ -320,7 +317,7 @@ MakeBoard("rpipico", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY
|
||||
MakeBoard("rpipicow", "Raspberry Pi", "Pico W", "0x2e8a", "0xf00a", 250, "RASPBERRY_PI_PICO_W", 2, "boot2_w25q080_2_padded_checksum")
|
||||
|
||||
# 0xCB
|
||||
MakeBoard("0xcb_helios", "0xCB", "Helios", "0x1209", "0xCB74", 500, "0XCB_HELIOS", 16, "boot2_w25q080_2_padded_checksum")
|
||||
MakeBoard("0xcb_helios", "0xCB", "Helios", "0x1209", "0xCB74", 500, "0XCB_HELIOS", 16, "boot2_w25q128jvxq_4_padded_checksum")
|
||||
|
||||
# Adafruit
|
||||
MakeBoard("adafruit_feather", "Adafruit", "Feather RP2040", "0x239a", "0x80f1", 250, "ADAFRUIT_FEATHER_RP2040", 8, "boot2_w25x10cl_4_padded_checksum")
|
||||
|
||||
+51
-15
@@ -225,6 +225,23 @@ def convert_from_hex_to_uf2(buf):
|
||||
def to_str(b):
|
||||
return b.decode("utf-8", "replace")
|
||||
|
||||
def possibly_add(p, q):
|
||||
if p not in q:
|
||||
if os.path.isdir(p):
|
||||
if os.access(p, os.W_OK):
|
||||
q.append(p)
|
||||
|
||||
def possibly_anydir(p, q):
|
||||
if os.path.isdir(p):
|
||||
if os.access(p, os.R_OK):
|
||||
r = glob.glob(p + "/*")
|
||||
for t in r:
|
||||
possibly_add(t, q)
|
||||
|
||||
def possibly_any(p, q, r):
|
||||
possibly_anydir(p, q)
|
||||
possibly_anydir(p + r, q)
|
||||
|
||||
def get_drives():
|
||||
drives = []
|
||||
if sys.platform == "win32":
|
||||
@@ -248,21 +265,9 @@ def get_drives():
|
||||
if len(words) >= 3 and words[1] == "2" and words[2] == "FAT":
|
||||
drives.append(words[0])
|
||||
else:
|
||||
rootpath = "/run/media"
|
||||
if not os.path.isdir(rootpath):
|
||||
rootpath = "/media"
|
||||
if not os.path.isdir(rootpath):
|
||||
rootpath = "/opt/media"
|
||||
if sys.platform == "darwin":
|
||||
rootpath = "/Volumes"
|
||||
possibly_anydir("/Volumes", drives)
|
||||
elif sys.platform == "linux":
|
||||
tmp = rootpath + "/" + os.environ["USER"]
|
||||
if os.path.isdir(tmp):
|
||||
rootpath = tmp
|
||||
for d in os.listdir(rootpath):
|
||||
drives.append(os.path.join(rootpath, d))
|
||||
|
||||
if (len(drives) == 0) and (sys.platform == "linux"):
|
||||
globexpr = "/dev/disk/by-id/usb-RPI_RP2*-part1"
|
||||
rpidisk = glob.glob(globexpr)
|
||||
if len(rpidisk) > 0:
|
||||
@@ -277,6 +282,19 @@ def get_drives():
|
||||
except Exception as ex:
|
||||
print("Exception executing udisksctl. Exception: {}".format(ex))
|
||||
# If it fails, no problem since it was a heroic attempt
|
||||
'''
|
||||
Generate a list and scan those too.
|
||||
First add the usual suspects.
|
||||
Then Scan a returned list.
|
||||
'''
|
||||
u="/" + os.environ["USER"]
|
||||
possibly_anydir("/mnt", drives)
|
||||
possibly_any("/media", drives, u)
|
||||
possibly_any("/opt/media", drives, u)
|
||||
possibly_any("/run/media", drives, u)
|
||||
possibly_any("/var/run/media", drives, u)
|
||||
# Add from udisksctl info?
|
||||
# Add from /proc/mounts?
|
||||
|
||||
def has_info(d):
|
||||
try:
|
||||
@@ -347,8 +365,15 @@ def main():
|
||||
try:
|
||||
print("Resetting " + str(args.serial))
|
||||
try:
|
||||
ser = serial.Serial(args.serial, 1200)
|
||||
ser = serial.Serial()
|
||||
ser.port = args.serial
|
||||
ser.open()
|
||||
ser.baudrate = 9600
|
||||
ser.dtr = True
|
||||
time.sleep(0.1)
|
||||
ser.dtr = False
|
||||
ser.baudrate = 1200
|
||||
ser.close()
|
||||
except:
|
||||
pass # Ignore error in the case it is already in upload mode
|
||||
except:
|
||||
@@ -384,7 +409,7 @@ def main():
|
||||
now = time.time()
|
||||
drives = []
|
||||
while (time.time() - now < 10.0) and (len(drives) == 0):
|
||||
time.sleep(0.5) # Avoid 100% CPU use while waiting for drive to appear
|
||||
time.sleep(1.0) # Avoid 100% CPU use while waiting for drive to appear
|
||||
drives = get_drives()
|
||||
|
||||
if args.output:
|
||||
@@ -396,6 +421,17 @@ def main():
|
||||
print("Flashing %s (%s)" % (d, board_id(d)))
|
||||
write_file(d + "/NEW.UF2", outbuf)
|
||||
|
||||
# Wait until serial port (if defined) re-appears, or 2s timeout unless UF2 drive direct upload
|
||||
try:
|
||||
if args.serial != "UF2 Board":
|
||||
timeout = time.time() + 2.0
|
||||
while time.time() < timeout:
|
||||
if os.access(args.serial, os.W_OK):
|
||||
break
|
||||
time.sleep(0.2)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
// Pin definitions taken from:
|
||||
// https://user-images.githubusercontent.com/57373245/211920388-d339f085-840d-433d-a575-590ace58219c.png
|
||||
|
||||
|
||||
// LEDs
|
||||
#define PIN_NEOPIXEL (23u)
|
||||
#define PIN_USRKEY (24u)
|
||||
#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 (16u)
|
||||
#define PIN_SPI0_MOSI (19u)
|
||||
#define PIN_SPI0_SCK (18u)
|
||||
#define PIN_SPI0_SS (17u)
|
||||
|
||||
#define PIN_SPI1_MISO (12u)
|
||||
#define PIN_SPI1_MOSI (15u)
|
||||
#define PIN_SPI1_SCK (14u)
|
||||
#define PIN_SPI1_SS (13u)
|
||||
|
||||
// Wire
|
||||
#define PIN_WIRE0_SDA (4u)
|
||||
#define PIN_WIRE0_SCL (5u)
|
||||
|
||||
#define PIN_WIRE1_SDA (26u)
|
||||
#define PIN_WIRE1_SCL (27u)
|
||||
|
||||
#define SERIAL_HOWMANY (3u)
|
||||
#define SPI_HOWMANY (2u)
|
||||
#define WIRE_HOWMANY (2u)
|
||||
|
||||
#include "../generic/common.h"
|
||||
Reference in New Issue
Block a user