Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef257c32b4 | ||
|
|
88cd4b5288 | ||
|
|
ca7ec56f0d | ||
|
|
74b1156d5e | ||
|
|
6ac7ee1a9d | ||
|
|
0b56452c35 | ||
|
|
b9c66ca0fd | ||
|
|
faf06a3b70 | ||
|
|
d0ac7f06b1 | ||
|
|
e9daaa3589 | ||
|
|
1393811525 | ||
|
|
2b640669a7 | ||
|
|
9d0f0a8d7a | ||
|
|
21d2fb4afa | ||
|
|
ade74986ee | ||
|
|
73722b5c87 | ||
|
|
456b474a48 | ||
|
|
f11cc4db69 | ||
|
|
8c2901da13 | ||
|
|
ca4637d14d |
+1
-1
Submodule ArduinoCore-API updated: e37df85425...ece6e68f29
@@ -50,6 +50,8 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
|
||||
* Neko Systems BL2040 Mini
|
||||
* nullbits Bit-C PRO
|
||||
* Pimoroni PGA2040
|
||||
* Pimoroni Plasma2040
|
||||
* Pimoroni Tiny2040
|
||||
* Seeed Indicator RP2040
|
||||
* Seeed XIAO RP2040
|
||||
* Silicognition RP2040-Shim
|
||||
@@ -67,6 +69,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
|
||||
* WIZnet W5100S-EVB-Pico
|
||||
* WIZnet W5500-EVB-Pico
|
||||
* WIZnet WizFi360-EVB-Pico
|
||||
* Redscorp RP2040-ProMini
|
||||
* Generic (configurable flash, I/O pins)
|
||||
|
||||
# Installing via Arduino Boards Manager
|
||||
|
||||
+514
-384
File diff suppressed because it is too large
Load Diff
@@ -394,6 +394,18 @@ void __USBStart() {
|
||||
}
|
||||
|
||||
|
||||
bool __USBHIDReady() {
|
||||
uint32_t start = millis();
|
||||
const uint32_t timeout = 500;
|
||||
|
||||
while (((millis() - start) < timeout) && tud_ready() && !tud_hid_ready()) {
|
||||
tud_task();
|
||||
delay(1);
|
||||
}
|
||||
return tud_hid_ready();
|
||||
}
|
||||
|
||||
|
||||
// Invoked when received GET_REPORT control request
|
||||
// Application must fill buffer report's content and return its length.
|
||||
// Return zero will cause the stack to STALL request
|
||||
|
||||
@@ -45,3 +45,6 @@ int __USBGetJoystickReportID();
|
||||
|
||||
// Called by main() to init the USB HW/SW.
|
||||
void __USBStart();
|
||||
|
||||
// Helper class for HID report sending with wait and timeout
|
||||
bool __USBHIDReady();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
#define ARDUINO_PICO_MAJOR 3
|
||||
#define ARDUINO_PICO_MINOR 3
|
||||
#define ARDUINO_PICO_REVISION 2
|
||||
#define ARDUINO_PICO_VERSION_STR "3.3.2"
|
||||
#define ARDUINO_PICO_MINOR 4
|
||||
#define ARDUINO_PICO_REVISION 1
|
||||
#define ARDUINO_PICO_VERSION_STR "3.4.1"
|
||||
|
||||
@@ -40,6 +40,10 @@ bool SerialUART::setRX(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_rx == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Serial%d.RX while running", uart_get_index(_uart) + 1);
|
||||
} else {
|
||||
@@ -57,6 +61,10 @@ bool SerialUART::setTX(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_tx == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Serial%d.TX while running", uart_get_index(_uart) + 1);
|
||||
} else {
|
||||
@@ -74,6 +82,10 @@ bool SerialUART::setRTS(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_rts == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Serial%d.RTS while running", uart_get_index(_uart) + 1);
|
||||
} else {
|
||||
@@ -91,6 +103,10 @@ bool SerialUART::setCTS(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_cts == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Serial%d.CTS while running", uart_get_index(_uart) + 1);
|
||||
} else {
|
||||
|
||||
+2
-2
@@ -54,9 +54,9 @@ author = u'Earle F. Philhower, III'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = u'3.3.2'
|
||||
version = u'3.4.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = u'3.3.2'
|
||||
release = u'3.4.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -81,6 +81,15 @@ Enables LSB-J format for I2S output. In this mode the MSB comes out at the
|
||||
same time as the LRCLK changes, and not the normal 1-cycle delay. Useful for
|
||||
DAC chips like the PT8211.
|
||||
|
||||
bool setTDMFormat()
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Enabled TDM formatted multi-channel output. Be sure to set the number of channels to
|
||||
the expected value (8 normally) and the bits per sample to 32.
|
||||
|
||||
bool setTDMChannels(int channels)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sets the number of TDM channels between frame syncs. Generally should be set to 8.
|
||||
|
||||
bool swapClocks()
|
||||
~~~~~~~~~~~~~~~~~
|
||||
Certain boards are hardwired with the WCLK before the BCLK, instead of the normal
|
||||
|
||||
+1
-1
@@ -10,5 +10,5 @@ In addition, it contains code from additional open source projects:
|
||||
* The `Pico-SDK <https://github.com/raspberrypi/pico-sdk>`_ and `Pico-Extras <https://github.com/raspberrypi/pico-extras>`_ are by Raspberry Pi (Trading) Ltd. and licensed under the BSD 3-Clause license.
|
||||
* `Arduino-Pico <https://github.com/earlephilhower/arduino-pico>`_ core files are licenses under the LGPL.
|
||||
* `LittleFS <https://github.com/ARMmbed/littlefs>`_ library written by ARM Limited and released under the `BSD 3-clause license <https://github.com/ARMmbed/littlefs/blob/master/LICENSE.md>`_ .
|
||||
* `UF2CONV.PY <https://github.com/microsoft/uf2>`_ is by Microsoft Corporatio and licensed under the MIT license.
|
||||
* `UF2CONV.PY <https://github.com/microsoft/uf2>`_ is by Microsoft Corporation and licensed under the MIT license.
|
||||
* Some filesystem code taken from the `ESP8266 Arduino Core <https://github.com/esp8266/Arduino>`_ and licensed under the LGPL.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
source [find interface/picoprobe.cfg]
|
||||
source [find target/rp2040.cfg]
|
||||
@@ -73,11 +73,9 @@ AudioBufferManager::~AudioBufferManager() {
|
||||
if (_running) {
|
||||
_running = false;
|
||||
for (auto i = 0; i < 2; i++) {
|
||||
dma_channel_set_irq0_enabled(_channelDMA[i], false);
|
||||
dma_channel_cleanup(_channelDMA[i]);
|
||||
__channelMap[_channelDMA[i]] = nullptr;
|
||||
dma_channel_abort(_channelDMA[i]);
|
||||
dma_channel_unclaim(_channelDMA[i]);
|
||||
dma_channel_acknowledge_irq0(_channelDMA[i]);
|
||||
__channelCount--;
|
||||
}
|
||||
if (!__channelCount) {
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
This example just sends out TDM data on 8 channels with their value
|
||||
equal to the channel number.
|
||||
Released to the public domain by Earle F. Philhower, III <earlephilhower@yahoo.com>
|
||||
*/
|
||||
|
||||
#include <I2S.h>
|
||||
|
||||
// Create the I2S port using a PIO state machine
|
||||
I2S i2s(OUTPUT);
|
||||
|
||||
// GPIO pin numbers
|
||||
#define pBCLK 20
|
||||
#define pWS (pBCLK+1)
|
||||
#define pDOUT 22
|
||||
|
||||
const int sampleRate = 1000;
|
||||
|
||||
void setup() {
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
digitalWrite(LED_BUILTIN, 1);
|
||||
|
||||
Serial.begin(115200);
|
||||
Serial.println("I2S TDM test");
|
||||
|
||||
i2s.setBCLK(pBCLK);
|
||||
i2s.setDATA(pDOUT);
|
||||
i2s.setBitsPerSample(32);
|
||||
i2s.setTDMFormat();
|
||||
i2s.setTDMChannels(8);
|
||||
|
||||
// start I2S at the sample rate with 16-bits per sample
|
||||
if (!i2s.begin(sampleRate)) {
|
||||
Serial.println("Failed to initialize I2S!");
|
||||
while (1); // do nothing
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
uint32_t x = 0;
|
||||
while (1) {
|
||||
i2s.write(x & 0x07);
|
||||
if (!(x % 10000)) {
|
||||
Serial.println(x);
|
||||
}
|
||||
x++;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,8 @@ setBitsPerSample KEYWORD2
|
||||
setFrequency KEYWORD2
|
||||
setBuffers KEYWORD2
|
||||
setLSBJFormat KEYWORD2
|
||||
setTDMFormat KEYWORD2
|
||||
setTDMChannels KEYWORD2
|
||||
swapClocks KEYWORD2
|
||||
setMCLKmult KEYWORD2
|
||||
setSysClk KEYWORD2
|
||||
|
||||
@@ -55,6 +55,8 @@ I2S::I2S(PinMode direction) {
|
||||
_bufferWords = 0;
|
||||
_silenceSample = 0;
|
||||
_isLSBJ = false;
|
||||
_isTDM = false;
|
||||
_tdmChannels = 8;
|
||||
_swapClocks = false;
|
||||
_multMCLK = 256;
|
||||
}
|
||||
@@ -109,10 +111,10 @@ bool I2S::setFrequency(int newFreq) {
|
||||
_freq = newFreq;
|
||||
if (_running) {
|
||||
if (_MCLKenabled) {
|
||||
int bitClk = _freq * _bps * 2.0 /* channels */ * 2.0 /* edges per clock */;
|
||||
int bitClk = _freq * _bps * (_isTDM ? (double)_tdmChannels : 2.0) /* channels */ * 2.0 /* edges per clock */;
|
||||
pio_sm_set_clkdiv_int_frac(_pio, _sm, clock_get_hz(clk_sys) / bitClk, 0);
|
||||
} else {
|
||||
float bitClk = _freq * _bps * 2.0 /* channels */ * 2.0 /* edges per clock */;
|
||||
float bitClk = _freq * _bps * (_isTDM ? (double)_tdmChannels : 2.0) /* channels */ * 2.0 /* edges per clock */;
|
||||
pio_sm_set_clkdiv(_pio, _sm, (float)clock_get_hz(clk_sys) / bitClk);
|
||||
}
|
||||
}
|
||||
@@ -151,6 +153,22 @@ bool I2S::setLSBJFormat() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool I2S::setTDMFormat() {
|
||||
if (_running || !_isOutput) {
|
||||
return false;
|
||||
}
|
||||
_isTDM = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool I2S::setTDMChannels(int channels) {
|
||||
if (_running || !_isOutput) {
|
||||
return false;
|
||||
}
|
||||
_tdmChannels = channels;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool I2S::swapClocks() {
|
||||
if (_running || !_isOutput) {
|
||||
return false;
|
||||
@@ -193,9 +211,9 @@ bool I2S::begin() {
|
||||
_isHolding = 0;
|
||||
int off = 0;
|
||||
if (!_swapClocks) {
|
||||
_i2s = new PIOProgram(_isOutput ? (_isLSBJ ? &pio_lsbj_out_program : &pio_i2s_out_program) : &pio_i2s_in_program);
|
||||
_i2s = new PIOProgram(_isOutput ? (_isTDM ? &pio_tdm_out_program : (_isLSBJ ? &pio_lsbj_out_program : &pio_i2s_out_program)) : &pio_i2s_in_program);
|
||||
} else {
|
||||
_i2s = new PIOProgram(_isOutput ? (_isLSBJ ? &pio_lsbj_out_swap_program : &pio_i2s_out_swap_program) : &pio_i2s_in_swap_program);
|
||||
_i2s = new PIOProgram(_isOutput ? (_isTDM ? &pio_tdm_out_swap_program : (_isLSBJ ? &pio_lsbj_out_swap_program : &pio_i2s_out_swap_program)) : &pio_i2s_in_swap_program);
|
||||
}
|
||||
if (!_i2s->prepare(&_pio, &_sm, &off)) {
|
||||
_running = false;
|
||||
@@ -204,7 +222,9 @@ bool I2S::begin() {
|
||||
return false;
|
||||
}
|
||||
if (_isOutput) {
|
||||
if (_isLSBJ) {
|
||||
if (_isTDM) {
|
||||
pio_tdm_out_program_init(_pio, _sm, off, _pinDOUT, _pinBCLK, _bps, _swapClocks, _tdmChannels);
|
||||
} else if (_isLSBJ) {
|
||||
pio_lsbj_out_program_init(_pio, _sm, off, _pinDOUT, _pinBCLK, _bps, _swapClocks);
|
||||
} else {
|
||||
pio_i2s_out_program_init(_pio, _sm, off, _pinDOUT, _pinBCLK, _bps, _swapClocks);
|
||||
|
||||
@@ -35,6 +35,8 @@ public:
|
||||
bool setBuffers(size_t buffers, size_t bufferWords, int32_t silenceSample = 0);
|
||||
bool setFrequency(int newFreq);
|
||||
bool setLSBJFormat();
|
||||
bool setTDMFormat();
|
||||
bool setTDMChannels(int channels);
|
||||
bool swapClocks();
|
||||
bool setMCLKmult(int mult);
|
||||
bool setSysClk(int samplerate);
|
||||
@@ -121,6 +123,8 @@ private:
|
||||
size_t _bufferWords;
|
||||
int32_t _silenceSample;
|
||||
bool _isLSBJ;
|
||||
bool _isTDM;
|
||||
int _tdmChannels;
|
||||
bool _isOutput;
|
||||
bool _swapClocks;
|
||||
bool _MCLKenabled;
|
||||
|
||||
@@ -72,6 +72,38 @@ right:
|
||||
; Loop back to beginning...
|
||||
|
||||
|
||||
.program pio_tdm_out
|
||||
.side_set 2 ; 0 = bclk, 1 = wclk
|
||||
; The C code should place (number of bits - 1) in Y and update SHIFTCTRL
|
||||
; to be 32 (as per the TDM specs)
|
||||
; +----- WCLK
|
||||
; |+---- BCLK
|
||||
mov x, y side 0b11
|
||||
bitloop:
|
||||
out pins, 1 side 0b00
|
||||
jmp x-- bitloop side 0b01
|
||||
|
||||
lastbit:
|
||||
out pins, 1 side 0b10
|
||||
; Loop back to the beginning
|
||||
|
||||
|
||||
.program pio_tdm_out_swap
|
||||
.side_set 2 ; 0 = wclk, 1 = bclk
|
||||
; The C code should place (number of bits - 1) in Y and update SHIFTCTRL
|
||||
; to be 32 (as per the TDM specs)
|
||||
; +----- BCLK
|
||||
; |+---- WCLK
|
||||
mov x, y side 0b11
|
||||
bitloop:
|
||||
out pins, 1 side 0b00
|
||||
jmp x-- bitloop side 0b10
|
||||
|
||||
lastbit:
|
||||
out pins, 1 side 0b01
|
||||
; Loop back to the beginning
|
||||
|
||||
|
||||
|
||||
.program pio_lsbj_out
|
||||
.side_set 2 ; 0 = bclk, 1=wclk
|
||||
@@ -195,6 +227,33 @@ static inline void pio_i2s_out_program_init(PIO pio, uint sm, uint offset, uint
|
||||
pio_sm_exec(pio, sm, pio_encode_set(pio_y, bits - 2));
|
||||
}
|
||||
|
||||
static inline void pio_tdm_out_program_init(PIO pio, uint sm, uint offset, uint data_pin, uint clock_pin_base, uint bits, bool swap, uint channels) {
|
||||
pio_gpio_init(pio, data_pin);
|
||||
pio_gpio_init(pio, clock_pin_base);
|
||||
pio_gpio_init(pio, clock_pin_base + 1);
|
||||
|
||||
pio_sm_config sm_config = swap ? pio_tdm_out_swap_program_get_default_config(offset) : pio_tdm_out_program_get_default_config(offset);
|
||||
|
||||
sm_config_set_out_pins(&sm_config, data_pin, 1);
|
||||
sm_config_set_sideset_pins(&sm_config, clock_pin_base);
|
||||
sm_config_set_out_shift(&sm_config, false, true, 32);
|
||||
sm_config_set_fifo_join(&sm_config, PIO_FIFO_JOIN_TX);
|
||||
|
||||
pio_sm_init(pio, sm, offset, &sm_config);
|
||||
|
||||
uint pin_mask = (1u << data_pin) | (3u << clock_pin_base);
|
||||
pio_sm_set_pindirs_with_mask(pio, sm, pin_mask, pin_mask);
|
||||
pio_sm_set_pins(pio, sm, 0); // clear pins
|
||||
|
||||
// Can't set constant > 31, so push and pop/mov
|
||||
pio_sm_put_blocking(pio, sm, bits * channels - 2);
|
||||
pio_sm_exec(pio, sm, pio_encode_pull(false, false));
|
||||
pio_sm_exec(pio, sm, pio_encode_mov(pio_y, pio_osr));
|
||||
// Need to make OSR believe there's nothing left to shift out, or the 1st word will be the count we just passed in, not a sample
|
||||
pio_sm_exec(pio, sm, pio_encode_out(pio_osr, 32));
|
||||
}
|
||||
|
||||
|
||||
static inline void pio_lsbj_out_program_init(PIO pio, uint sm, uint offset, uint data_pin, uint clock_pin_base, uint bits, bool swap) {
|
||||
pio_gpio_init(pio, data_pin);
|
||||
pio_gpio_init(pio, clock_pin_base);
|
||||
|
||||
@@ -106,6 +106,68 @@ static inline pio_sm_config pio_i2s_out_swap_program_get_default_config(uint off
|
||||
}
|
||||
#endif
|
||||
|
||||
// ----------- //
|
||||
// pio_tdm_out //
|
||||
// ----------- //
|
||||
|
||||
#define pio_tdm_out_wrap_target 0
|
||||
#define pio_tdm_out_wrap 3
|
||||
|
||||
static const uint16_t pio_tdm_out_program_instructions[] = {
|
||||
// .wrap_target
|
||||
0xb822, // 0: mov x, y side 3
|
||||
0x6001, // 1: out pins, 1 side 0
|
||||
0x0841, // 2: jmp x--, 1 side 1
|
||||
0x7001, // 3: out pins, 1 side 2
|
||||
// .wrap
|
||||
};
|
||||
|
||||
#if !PICO_NO_HARDWARE
|
||||
static const struct pio_program pio_tdm_out_program = {
|
||||
.instructions = pio_tdm_out_program_instructions,
|
||||
.length = 4,
|
||||
.origin = -1,
|
||||
};
|
||||
|
||||
static inline pio_sm_config pio_tdm_out_program_get_default_config(uint offset) {
|
||||
pio_sm_config c = pio_get_default_sm_config();
|
||||
sm_config_set_wrap(&c, offset + pio_tdm_out_wrap_target, offset + pio_tdm_out_wrap);
|
||||
sm_config_set_sideset(&c, 2, false, false);
|
||||
return c;
|
||||
}
|
||||
#endif
|
||||
|
||||
// ---------------- //
|
||||
// pio_tdm_out_swap //
|
||||
// ---------------- //
|
||||
|
||||
#define pio_tdm_out_swap_wrap_target 0
|
||||
#define pio_tdm_out_swap_wrap 3
|
||||
|
||||
static const uint16_t pio_tdm_out_swap_program_instructions[] = {
|
||||
// .wrap_target
|
||||
0xb822, // 0: mov x, y side 3
|
||||
0x6001, // 1: out pins, 1 side 0
|
||||
0x1041, // 2: jmp x--, 1 side 2
|
||||
0x6801, // 3: out pins, 1 side 1
|
||||
// .wrap
|
||||
};
|
||||
|
||||
#if !PICO_NO_HARDWARE
|
||||
static const struct pio_program pio_tdm_out_swap_program = {
|
||||
.instructions = pio_tdm_out_swap_program_instructions,
|
||||
.length = 4,
|
||||
.origin = -1,
|
||||
};
|
||||
|
||||
static inline pio_sm_config pio_tdm_out_swap_program_get_default_config(uint offset) {
|
||||
pio_sm_config c = pio_get_default_sm_config();
|
||||
sm_config_set_wrap(&c, offset + pio_tdm_out_swap_wrap_target, offset + pio_tdm_out_swap_wrap);
|
||||
sm_config_set_sideset(&c, 2, false, false);
|
||||
return c;
|
||||
}
|
||||
#endif
|
||||
|
||||
// ------------ //
|
||||
// pio_lsbj_out //
|
||||
// ------------ //
|
||||
@@ -267,6 +329,26 @@ static inline void pio_i2s_out_program_init(PIO pio, uint sm, uint offset, uint
|
||||
pio_sm_set_pins(pio, sm, 0); // clear pins
|
||||
pio_sm_exec(pio, sm, pio_encode_set(pio_y, bits - 2));
|
||||
}
|
||||
static inline void pio_tdm_out_program_init(PIO pio, uint sm, uint offset, uint data_pin, uint clock_pin_base, uint bits, bool swap, uint channels) {
|
||||
pio_gpio_init(pio, data_pin);
|
||||
pio_gpio_init(pio, clock_pin_base);
|
||||
pio_gpio_init(pio, clock_pin_base + 1);
|
||||
pio_sm_config sm_config = swap ? pio_tdm_out_swap_program_get_default_config(offset) : pio_tdm_out_program_get_default_config(offset);
|
||||
sm_config_set_out_pins(&sm_config, data_pin, 1);
|
||||
sm_config_set_sideset_pins(&sm_config, clock_pin_base);
|
||||
sm_config_set_out_shift(&sm_config, false, true, 32);
|
||||
sm_config_set_fifo_join(&sm_config, PIO_FIFO_JOIN_TX);
|
||||
pio_sm_init(pio, sm, offset, &sm_config);
|
||||
uint pin_mask = (1u << data_pin) | (3u << clock_pin_base);
|
||||
pio_sm_set_pindirs_with_mask(pio, sm, pin_mask, pin_mask);
|
||||
pio_sm_set_pins(pio, sm, 0); // clear pins
|
||||
// Can't set constant > 31, so push and pop/mov
|
||||
pio_sm_put_blocking(pio, sm, bits * channels - 2);
|
||||
pio_sm_exec(pio, sm, pio_encode_pull(false, false));
|
||||
pio_sm_exec(pio, sm, pio_encode_mov(pio_y, pio_osr));
|
||||
// Need to make OSR believe there's nothing left to shift out, or the 1st word will be the count we just passed in, not a sample
|
||||
pio_sm_exec(pio, sm, pio_encode_out(pio_osr, 32));
|
||||
}
|
||||
static inline void pio_lsbj_out_program_init(PIO pio, uint sm, uint offset, uint data_pin, uint clock_pin_base, uint bits, bool swap) {
|
||||
pio_gpio_init(pio, data_pin);
|
||||
pio_gpio_init(pio, clock_pin_base);
|
||||
@@ -299,3 +381,4 @@ static inline void pio_i2s_in_program_init(PIO pio, uint sm, uint offset, uint d
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ Joystick_::Joystick_(void) {
|
||||
void Joystick_::send_now(void) {
|
||||
CoreMutex m(&__usb_mutex);
|
||||
tud_task();
|
||||
if (tud_hid_ready()) {
|
||||
if (__USBHIDReady()) {
|
||||
tud_hid_n_report(0, __USBGetJoystickReportID(), &data, sizeof(data));
|
||||
}
|
||||
tud_task();
|
||||
|
||||
@@ -40,7 +40,7 @@ Keyboard_::Keyboard_(void) {
|
||||
void Keyboard_::sendReport(KeyReport* keys) {
|
||||
CoreMutex m(&__usb_mutex);
|
||||
tud_task();
|
||||
if (tud_hid_ready()) {
|
||||
if (__USBHIDReady()) {
|
||||
tud_hid_keyboard_report(__USBGetKeyboardReportID(), keys->modifiers, keys->keys);
|
||||
}
|
||||
tud_task();
|
||||
@@ -49,7 +49,7 @@ void Keyboard_::sendReport(KeyReport* keys) {
|
||||
void Keyboard_::sendConsumerReport(uint16_t key) {
|
||||
CoreMutex m(&__usb_mutex);
|
||||
tud_task();
|
||||
if (tud_hid_ready()) {
|
||||
if (__USBHIDReady()) {
|
||||
tud_hid_report(__USBGetKeyboardReportID() + 1, &key, sizeof(key));
|
||||
}
|
||||
tud_task();
|
||||
|
||||
@@ -268,7 +268,11 @@ bool MDNSResponder::_parseQuery(const MDNSResponder::stcMDNS_MsgHeader& p_MsgHea
|
||||
remote = m_pUDPContext->getRemoteAddress();
|
||||
local = WiFi.localIP();
|
||||
netmask = WiFi.subnetMask();
|
||||
#if LWIP_IPV6
|
||||
if (ip4_addr_netcmp(&remote.u_addr.ip4, &local.u_addr.ip4, &netmask.u_addr.ip4))
|
||||
#else
|
||||
if (ip4_addr_netcmp(&remote, &local, &netmask))
|
||||
#endif
|
||||
// ip_info IPInfo_Local;
|
||||
// ip_info IPInfo_Remote;
|
||||
// if (((IPInfo_Remote.ip.addr = m_pUDPContext->getRemoteAddress()))
|
||||
|
||||
@@ -1539,15 +1539,6 @@ bool MDNSResponder::stcMDNSServiceQuery::stcAnswer::removeIP4Address(
|
||||
return bResult;
|
||||
}
|
||||
|
||||
/*
|
||||
MDNSResponder::stcMDNSServiceQuery::stcAnswer::findIP4Address (const)
|
||||
*/
|
||||
const MDNSResponder::stcMDNSServiceQuery::stcAnswer::stcIP4Address*
|
||||
MDNSResponder::stcMDNSServiceQuery::stcAnswer::findIP4Address(
|
||||
const IPAddress& p_IPAddress) const {
|
||||
return (stcIP4Address*)(((const stcAnswer*)this)->findIP4Address(p_IPAddress));
|
||||
}
|
||||
|
||||
/*
|
||||
MDNSResponder::stcMDNSServiceQuery::stcAnswer::findIP4Address
|
||||
*/
|
||||
|
||||
@@ -44,7 +44,7 @@ Mouse_::Mouse_(void) {
|
||||
void Mouse_::move(int x, int y, signed char wheel) {
|
||||
CoreMutex m(&__usb_mutex);
|
||||
tud_task();
|
||||
if (tud_hid_ready()) {
|
||||
if (__USBHIDReady()) {
|
||||
tud_hid_mouse_report(__USBGetMouseReportID(), _buttons, limit_xy(x), limit_xy(y), wheel, 0);
|
||||
}
|
||||
tud_task();
|
||||
|
||||
@@ -177,7 +177,7 @@ void SPIClassRP2040::transfer(const void *txbuf, void *rxbuf, size_t count) {
|
||||
}
|
||||
|
||||
void SPIClassRP2040::beginTransaction(SPISettings settings) {
|
||||
DEBUGSPI("SPI::beginTransaction(clk=%lu, bo=%s\n", _spis.getClockFreq(), (_spis.getBitOrder() == MSBFIRST) ? "MSB" : "LSB");
|
||||
DEBUGSPI("SPI::beginTransaction(clk=%lu, bo=%s)\n", settings.getClockFreq(), (settings.getBitOrder() == MSBFIRST) ? "MSB" : "LSB");
|
||||
if (_initted && settings == _spis) {
|
||||
DEBUGSPI("SPI: Reusing existing initted SPI\n");
|
||||
} else {
|
||||
@@ -188,6 +188,7 @@ void SPIClassRP2040::beginTransaction(SPISettings settings) {
|
||||
}
|
||||
DEBUGSPI("SPI: initting SPI\n");
|
||||
spi_init(_spi, _spis.getClockFreq());
|
||||
DEBUGSPI("SPI: actual baudrate=%u\n", spi_get_baudrate(_spi));
|
||||
_initted = true;
|
||||
}
|
||||
}
|
||||
@@ -205,6 +206,10 @@ bool SPIClassRP2040::setRX(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_RX == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set SPI%s.RX while running", spi_get_index(_spi) ? "1" : "");
|
||||
} else {
|
||||
@@ -222,6 +227,10 @@ bool SPIClassRP2040::setCS(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_CS == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set SPI%s.CS while running", spi_get_index(_spi) ? "1" : "");
|
||||
} else {
|
||||
@@ -239,6 +248,10 @@ bool SPIClassRP2040::setSCK(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_SCK == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set SPI%s.SCK while running", spi_get_index(_spi) ? "1" : "");
|
||||
} else {
|
||||
@@ -256,6 +269,10 @@ bool SPIClassRP2040::setTX(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_TX == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set SPI%s.TX while running", spi_get_index(_spi) ? "1" : "");
|
||||
} else {
|
||||
|
||||
@@ -56,6 +56,10 @@ bool TwoWire::setSDA(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_sda == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Wire%s.SDA while running", i2c_hw_index(_i2c) ? "1" : "");
|
||||
} else {
|
||||
@@ -73,6 +77,10 @@ bool TwoWire::setSCL(pin_size_t pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_scl == pin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_running) {
|
||||
panic("FATAL: Attempting to set Wire%s.SCL while running", i2c_hw_index(_i2c) ? "1" : "");
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
set -e # Exit on error
|
||||
|
||||
export PICO_SDK_PATH="$(cd ../pico-sdk/; pwd)"
|
||||
export PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$PATH"
|
||||
export PATH="$(cd ../system/arm-none-eabi/bin; pwd):$PATH"
|
||||
|
||||
rm -rf build
|
||||
mkdir build
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "framework-arduinopico",
|
||||
"version": "1.30302.0",
|
||||
"version": "1.30401.0",
|
||||
"description": "Arduino Wiring-based Framework (RPi Pico RP2040)",
|
||||
"keywords": [
|
||||
"framework",
|
||||
|
||||
@@ -152,6 +152,9 @@
|
||||
{
|
||||
"name": "Pimoroni Plasma2040"
|
||||
},
|
||||
{
|
||||
"name": "Pimoroni Tiny2040"
|
||||
},
|
||||
{
|
||||
"name": "Silicognition RP2040-Shim"
|
||||
},
|
||||
@@ -206,6 +209,9 @@
|
||||
{
|
||||
"name": "WIZnet W5500-EVB-Pico"
|
||||
},
|
||||
{
|
||||
"name": "redscorp RP2040-ProMini"
|
||||
},
|
||||
{
|
||||
"name": "Generic RP2040"
|
||||
}
|
||||
@@ -213,22 +219,22 @@
|
||||
"toolsDependencies": [
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-gcc"
|
||||
},
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-mklittlefs"
|
||||
},
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-elf2uf2"
|
||||
},
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-pioasm"
|
||||
},
|
||||
{
|
||||
@@ -238,12 +244,12 @@
|
||||
},
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-openocd"
|
||||
},
|
||||
{
|
||||
"packager": "rp2040",
|
||||
"version": "1.5.0-b-03f2812",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-picotool"
|
||||
}
|
||||
],
|
||||
@@ -254,112 +260,112 @@
|
||||
],
|
||||
"tools": [
|
||||
{
|
||||
"version": "1.5.0-b-03f2812",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-picotool",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"checksum": "SHA-256:5efe9c4ccc08d9d28cc87a0cfaf563b6fc1caa5d3967c963814225fd252756c7",
|
||||
"size": "171877"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"checksum": "SHA-256:161f345373b4eb02cd5aa9d9009af51262c6ad4ce3ee7dbf251eb47bf60d2ab5",
|
||||
"size": "173036"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.picotool-03f2812.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.picotool-03f2812.230216.tar.gz",
|
||||
"checksum": "SHA-256:38f3f0925be5e053866ad33e8a535ac9d08f58af837a53b65dfe45f2ccbe9c5b",
|
||||
"size": "152925"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.picotool-f6fe6b7.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.picotool-f6fe6b7.230824.tar.gz",
|
||||
"checksum": "SHA-256:2fcd62798af43b2c6228153158ab7a2c6dd2dac9e25b3a66454f72aa27e4c3d4",
|
||||
"size": "153324"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"checksum": "SHA-256:485c09be49850d2e05c32e20fcc899b58e649e2863b300c7e89110d36094dce1",
|
||||
"size": "183644"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"checksum": "SHA-256:b36741bdf141b2f2606f0053747f5d571a2f9496662617b76edba321477cd6e5",
|
||||
"size": "184362"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.picotool-03f2812.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.picotool-03f2812.230216.zip",
|
||||
"checksum": "SHA-256:9d7516313c1e9b341fe8ce05b786348def60692dc88f17bdee5bc25b6baf6871",
|
||||
"size": "352766"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.picotool-f6fe6b7.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.picotool-f6fe6b7.230824.zip",
|
||||
"checksum": "SHA-256:4c6bea425acca78e26dd0fc9d1a02b167ca459f1a51ac714c54cef8ad6f107d4",
|
||||
"size": "292401"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.picotool-03f2812.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.picotool-03f2812.230216.tar.gz",
|
||||
"checksum": "SHA-256:8b48c395f871dac7cbe396e4518649d40582d5a78948f0e792d0569db5069226",
|
||||
"size": "852423"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.picotool-f6fe6b7.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.picotool-f6fe6b7.230824.tar.gz",
|
||||
"checksum": "SHA-256:39111cba2e6b72060f42e25c04a2660398213aa9a3ca76295a588bf8da73d2e0",
|
||||
"size": "844015"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.picotool-03f2812.230216.tar.gz",
|
||||
"checksum": "SHA-256:507d7d01d63caebb2c3f33e99a8545a3719699c5645c423175bf0b7bfd685a48",
|
||||
"size": "131605"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.picotool-f6fe6b7.230824.tar.gz",
|
||||
"checksum": "SHA-256:361f63ef35d15cdf5c3cd2edcaaef059e22d137c288b5b59eae9c9e1f916ecc4",
|
||||
"size": "131860"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.picotool-03f2812.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.picotool-03f2812.230216.zip",
|
||||
"checksum": "SHA-256:ca62fe7dd783fc38080d834e413e1632086c6bc24660e6f5eaad931465ca87e3",
|
||||
"size": "337119"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.picotool-f6fe6b7.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.picotool-f6fe6b7.230824.zip",
|
||||
"checksum": "SHA-256:1bda4467f4fd433a57a73bc899c0557b62ea4357eed0add9ca4f9e2817d0af67",
|
||||
"size": "277241"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-openocd",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"checksum": "SHA-256:6875c0c2e7faa320882d00f33f415499e1028d3bd0bac7d672d4342968c28eaf",
|
||||
"size": "5812640"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"checksum": "SHA-256:f47ab6ee8b0f4fccb6975255009e9d0ba57b3b1b9d41a22e7aeee6fd26e0bc0a",
|
||||
"size": "6438760"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.openocd-8e3c38f78.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.openocd-8e3c38f78.230216.tar.gz",
|
||||
"checksum": "SHA-256:fa35b2c6ca10b332718db8217c7bb57cc1e15bafc526dd05c0d6a890b05dec50",
|
||||
"size": "5543967"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.openocd-4d87f6dca.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.openocd-4d87f6dca.230824.tar.gz",
|
||||
"checksum": "SHA-256:ff8228dc8a3f79212b5204f53404dd569c28899a9264925c64fe0a4c667c7c27",
|
||||
"size": "6155079"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"checksum": "SHA-256:0f27f4a7be0411db032b8fc0aa8f55b559d03909830b38dc6610301a9a79050c",
|
||||
"size": "5347247"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"checksum": "SHA-256:86713ce74bc19c09e4f4536a26ec331e8ccb62a796f4257d2e9d99d5d28fb87c",
|
||||
"size": "5961262"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.openocd-8e3c38f78.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.openocd-8e3c38f78.230216.zip",
|
||||
"checksum": "SHA-256:a53ee67b63893d2dc432df293f494443921301021ec0828a044813528880d16a",
|
||||
"size": "2207880"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.openocd-4d87f6dca.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.openocd-4d87f6dca.230824.zip",
|
||||
"checksum": "SHA-256:4873ccc7b7bbe25c5a5e5bff494887a1b069d7c0612440033cc063095f7ec9c3",
|
||||
"size": "2468166"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.openocd-8e3c38f78.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.openocd-8e3c38f78.230216.tar.gz",
|
||||
"checksum": "SHA-256:8f68f93ee51973926cb94c24164013d35d4dd42a636e4c15af5d3bb3884e6daf",
|
||||
"size": "2599703"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.openocd-4d87f6dca.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.openocd-4d87f6dca.230824.tar.gz",
|
||||
"checksum": "SHA-256:1313bd1ea2503052e3b2158d6f6b6489668b54246fb5d12267d402a4a78a85eb",
|
||||
"size": "2800939"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.openocd-8e3c38f78.230216.tar.gz",
|
||||
"checksum": "SHA-256:50fe784a938922ffb0c12076245cedbc467f5f51b6030da776b6f95305308492",
|
||||
"size": "5732546"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.openocd-4d87f6dca.230824.tar.gz",
|
||||
"checksum": "SHA-256:f43ccce16676e59d0bb06e3343c281343aa1e36d6f4e24d7668a90a881022592",
|
||||
"size": "6355819"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.openocd-8e3c38f78.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.openocd-8e3c38f78.230216.zip",
|
||||
"checksum": "SHA-256:d36a25b7e40771bcc286a51bfa4803668037662651bce5a40a36608babbc3f5f",
|
||||
"size": "2168940"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.openocd-4d87f6dca.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.openocd-4d87f6dca.230824.zip",
|
||||
"checksum": "SHA-256:db17f7a64ff0386de76c11a054be6c35f4ffa2c1bab0558c147e551abfb717a9",
|
||||
"size": "2412178"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -426,222 +432,222 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-gcc",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"checksum": "SHA-256:2b3ec7c790bab21e08347205b8dec03a39747d0ef99266ce26a04e8e55bd7db8",
|
||||
"size": "81474732"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"checksum": "SHA-256:dedc8a8d1fda82c56622d0d7054f47fbf3e41b80f2ce94e51ee4bbd7b111d6be",
|
||||
"size": "91447565"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"checksum": "SHA-256:9ec76a79f045d6f634a21e2b1e814b39bf85bb294c53a076b9c8ac2640ad3acc",
|
||||
"size": "76133046"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"checksum": "SHA-256:3d59a409c8eb1791055f35b0d423ea28bf0ed42fb1cde4ea1ffbf3f50c980cbc",
|
||||
"size": "85417744"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"checksum": "SHA-256:dea62b8d66c323a07e366625049a17b2d1d8a8a7882b4d2b3aa6247456614867",
|
||||
"size": "83713275"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"checksum": "SHA-256:979dfc2131d1e2114273b516e68a7a2ba4920cbd818394a075ecf3ec0c51b6e8",
|
||||
"size": "93996357"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.arm-none-eabi-c7bab52.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-c7bab52.230216.zip",
|
||||
"checksum": "SHA-256:0b76a320398ce6f0457edf98033742afd85ea3f143dec034a3fec7d3a21c52bf",
|
||||
"size": "85634400"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.arm-none-eabi-d3d2e6b.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-d3d2e6b.230824.zip",
|
||||
"checksum": "SHA-256:7d1efb7628a3757539a5f04edd4596262b59d1315e3f2bbce44bea10d14ff3b4",
|
||||
"size": "94386074"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"checksum": "SHA-256:f83f143d424077322f7ea3971b88ac558c7b211f4a27776f6ba7c012a7c19938",
|
||||
"size": "84979864"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"checksum": "SHA-256:a186dcb41c23ef784700299d580671d21a51c7ac2ed92bf488b3f59b0177410a",
|
||||
"size": "96256078"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-c7bab52.230216.tar.gz",
|
||||
"checksum": "SHA-256:bf197bde7ee76d26a8c142b2308e46269252b19403df5617aa1bd90ea4618427",
|
||||
"size": "83669292"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-d3d2e6b.230824.tar.gz",
|
||||
"checksum": "SHA-256:29b3b7bb64e1876c94fd14889e55bee08777630a6f31c5e4fd32179adea2993b",
|
||||
"size": "93883705"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.arm-none-eabi-c7bab52.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-c7bab52.230216.zip",
|
||||
"checksum": "SHA-256:ed1a7103c9d55ad3d44eeb399a308789d1d1094a73c78b554e2693eb8140b9c5",
|
||||
"size": "88352385"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.arm-none-eabi-d3d2e6b.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-d3d2e6b.230824.zip",
|
||||
"checksum": "SHA-256:6da912f970be58447dea84b80565fe7c1c3308d0c62674bf7ac14b1fd8e61544",
|
||||
"size": "97313187"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-elf2uf2",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:00adc6949c467c75181364e9e5bf6378e50483caf4f04b0fc5e4c1d105f780ee",
|
||||
"size": "82856"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:a7be96a75084675aeedaf2ef476102447e464308f9b2216997e6b6dd085773da",
|
||||
"size": "83803"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:de9991519727ecbb3a157e672de2572c843558018515d7c680a3aa5a0d700056",
|
||||
"size": "56175"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:19f3df244c6ca6c1dc6481e594322d961900067edae69aafaf46580be148318e",
|
||||
"size": "56800"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:12c4d4566a61c15104e26b10a1330a2dc12ecf63e054966e2d6cea13cef8f92b",
|
||||
"size": "91559"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:73ecc3e36569f7132e55a57623d91ecbd1e711c05dd0f7a8b20556dd7d8c2007",
|
||||
"size": "92430"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.elf2uf2-2e6142b.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.elf2uf2-2e6142b.230216.zip",
|
||||
"checksum": "SHA-256:6537879c71359b916dd604dc4833aeaab6ff7571ad9e498f1f2aa8085670548c",
|
||||
"size": "72230"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.elf2uf2-6a7db34.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.elf2uf2-6a7db34.230824.zip",
|
||||
"checksum": "SHA-256:e4b8464c4a74a56c2e9e011a897284de63eadb13eee8711d74930472c1a99e5e",
|
||||
"size": "72747"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:5b8fb8fc2dec9819ca018fa53d84b824dd2136fdcde713d98ef2cea9e5a1ce3f",
|
||||
"size": "86779"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:3acd2d8f8a6f9ec9b85560ef7a68d3e019ae9fbe55b8e0432159118bf7f1c3b8",
|
||||
"size": "105160"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.elf2uf2-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:784b76139053cd5fd3cac25ec00ac75d1612dc512c0cd5f7a69b5867df8ec7ba",
|
||||
"size": "82555"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.elf2uf2-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:1d02a002eabf2897ad668e2467a04a224cedb9cb3bc37cb3498cbfa049a18ad5",
|
||||
"size": "83323"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.elf2uf2-2e6142b.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.elf2uf2-2e6142b.230216.zip",
|
||||
"checksum": "SHA-256:7ab9d08f6f3cd472c7fc005def31c87d9ce9ea57923ef7a6a81fe4f86a75b12a",
|
||||
"size": "80680"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.elf2uf2-6a7db34.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.elf2uf2-6a7db34.230824.zip",
|
||||
"checksum": "SHA-256:f2751cdc76195da584533db70a08164e97f5f4e20aa1fbced234ad2ee6a49c68",
|
||||
"size": "81347"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-pioasm",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:6b60c57530bb3bd07f85a95808209f158b7b45b2808544794307701d8d468dd8",
|
||||
"size": "453460"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:ee0f2ceb5c63c8935ea8af4e0bc3046141daf94d88d6c4f3a47435c1deb712dc",
|
||||
"size": "453452"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.pioasm-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.pioasm-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:079dc194321751d70e76496f0bcffdec58b73eb9976670a170f65ec06f110450",
|
||||
"size": "360828"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.pioasm-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.pioasm-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:db87d67ef5faad21db418ccab51aa32548477090b5ed2c194247d564ee41b9b4",
|
||||
"size": "360801"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:8926f848f80c29d6e52595e54e9021c4955f053f8cf157b88275408a0047d08f",
|
||||
"size": "511533"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:1e0bf5984b416cfa42dfdabc207dbf4681990e0ef97e70ef7ed27516aa7b0c36",
|
||||
"size": "510798"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.pioasm-2e6142b.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.pioasm-2e6142b.230216.zip",
|
||||
"checksum": "SHA-256:55a887da459e46b62b4e2eb6d62556e27a879e8bbf241c719f4d85b495d1caab",
|
||||
"size": "386161"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.pioasm-6a7db34.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.pioasm-6a7db34.230824.zip",
|
||||
"checksum": "SHA-256:446d3cb173e654a170641946f4129afcf33c26628cb80ecb6e0bf69999b4665d",
|
||||
"size": "386188"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.pioasm-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.pioasm-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:2818ab1de24bad4e421315ac497b20373beaa16dd09b876bc6d00e2bba1f3d15",
|
||||
"size": "480566"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.pioasm-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.pioasm-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:9da859c3192de1a994c3bb7aae3be0ff2ec584dfa70f0c34b0ed3ffb44287a34",
|
||||
"size": "585393"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.pioasm-2e6142b.230216.tar.gz",
|
||||
"checksum": "SHA-256:c79400b056594268aab8ae1baf18abc8cf3170c6edb1f8104579738d78cd22ad",
|
||||
"size": "458858"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.pioasm-6a7db34.230824.tar.gz",
|
||||
"checksum": "SHA-256:52594b9199e21401b5b1d0a06ed8a24cb29e670ad4afde424775a4d55823f5c5",
|
||||
"size": "458905"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.pioasm-2e6142b.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.pioasm-2e6142b.230216.zip",
|
||||
"checksum": "SHA-256:8c06fa68fe5d51fd54e9e9db11608e0e893d3b90e0437a6507eaef972e95b891",
|
||||
"size": "409379"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.pioasm-6a7db34.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.pioasm-6a7db34.230824.zip",
|
||||
"checksum": "SHA-256:e09098e7e0c12faccbe2bee0d6fccf99a21e88986c9c8b0a39a2e84a076e42b6",
|
||||
"size": "408969"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "1.5.0-b-c7bab52",
|
||||
"version": "2.0.0-a-d3d2e6b",
|
||||
"name": "pqt-mklittlefs",
|
||||
"systems": [
|
||||
{
|
||||
"host": "aarch64-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/aarch64-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"checksum": "SHA-256:07d1baa8f0e8c3eb38db8751eb647e0f3ff465c5d7973642c8f9011a2c05dba2",
|
||||
"size": "63222"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/aarch64-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"archiveFileName": "aarch64-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"checksum": "SHA-256:9a7749c9296173c07636b8538f8025d57cb02c5e0512cd8108423d72978b9b9a",
|
||||
"size": "63139"
|
||||
},
|
||||
{
|
||||
"host": "arm-linux-gnueabihf",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/arm-linux-gnueabihf.mklittlefs-4aca452.230216.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-4aca452.230216.tar.gz",
|
||||
"checksum": "SHA-256:e7ce6a71ea02cae9d149ee1e078702a4af50d7a930452237666a2b402c3f1181",
|
||||
"size": "53461"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/arm-linux-gnueabihf.mklittlefs-4aca452.230824.tar.gz",
|
||||
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-4aca452.230824.tar.gz",
|
||||
"checksum": "SHA-256:673c3014252947b4d916f4e9af1d5106c744be914dced74f71eec6b51fa7688f",
|
||||
"size": "53394"
|
||||
},
|
||||
{
|
||||
"host": "i686-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"checksum": "SHA-256:8c41373fb26bcdc15590b2924f23672a46464877702c583d9a7c30ac3a1ea942",
|
||||
"size": "69995"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"archiveFileName": "i686-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"checksum": "SHA-256:d7368d642220e3fb945e3516ffd274ef201d35621a66929ad22cbe198e076c45",
|
||||
"size": "69905"
|
||||
},
|
||||
{
|
||||
"host": "i686-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/i686-w64-mingw32.mklittlefs-4aca452.230216.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.mklittlefs-4aca452.230216.zip",
|
||||
"checksum": "SHA-256:9a4460c0e2e46847c2bd1ab934544f88fbd611237a12445ae69dbc6086f05c4f",
|
||||
"size": "347619"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/i686-w64-mingw32.mklittlefs-4aca452.230824.zip",
|
||||
"archiveFileName": "i686-w64-mingw32.mklittlefs-4aca452.230824.zip",
|
||||
"checksum": "SHA-256:f1e90a974db08ce5d84a4137491da06436f013672a15d2e2852002d36f75ff70",
|
||||
"size": "347612"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-apple-darwin",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-apple-darwin14.mklittlefs-4aca452.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin14.mklittlefs-4aca452.230216.tar.gz",
|
||||
"checksum": "SHA-256:3575877065d206083c3dc4715bee983a1e7145969457d1fca752943aa67eb655",
|
||||
"size": "378957"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-apple-darwin15.mklittlefs-4aca452.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-apple-darwin15.mklittlefs-4aca452.230824.tar.gz",
|
||||
"checksum": "SHA-256:aa738f35be492016ebe4a7485495c8491e4ac105a41d4b66c1b13420eb491fda",
|
||||
"size": "434818"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-pc-linux-gnu",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.mklittlefs-4aca452.230216.tar.gz",
|
||||
"checksum": "SHA-256:af472f914ba46b6a7466049cb989804ce56d5808334b1af09403dedfdf6e1ff2",
|
||||
"size": "64931"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"archiveFileName": "x86_64-linux-gnu.mklittlefs-4aca452.230824.tar.gz",
|
||||
"checksum": "SHA-256:7f913d9e91b5d34c9ac15becc843c49099e665f0e842985722bcfbeba48593f9",
|
||||
"size": "64822"
|
||||
},
|
||||
{
|
||||
"host": "x86_64-mingw32",
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/1.5.0-b/x86_64-w64-mingw32.mklittlefs-4aca452.230216.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-4aca452.230216.zip",
|
||||
"checksum": "SHA-256:fd3dbfd224708f05f14d1c3f715d90473d462ba2fa06683fc523e13d2bb716f2",
|
||||
"size": "359304"
|
||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.0.0-a/x86_64-w64-mingw32.mklittlefs-4aca452.230824.zip",
|
||||
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-4aca452.230824.zip",
|
||||
"checksum": "SHA-256:108350d5ea2372b72bc1d82d2079dca530529cbba60b423fa2fb97294223f0f7",
|
||||
"size": "359298"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
-15
@@ -20,7 +20,7 @@
|
||||
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
|
||||
|
||||
name=Raspberry Pi RP2040 Boards
|
||||
version=3.3.2
|
||||
version=3.4.1
|
||||
|
||||
# Required discoveries and monitors
|
||||
# ---------------------------------
|
||||
@@ -42,11 +42,11 @@ compiler.libraries.ldflags=
|
||||
# Compile variables
|
||||
# -----------------
|
||||
|
||||
compiler.warning_flags=-Werror=return-type
|
||||
compiler.warning_flags.none=-Werror=return-type
|
||||
compiler.warning_flags.default=-Werror=return-type
|
||||
compiler.warning_flags.more=-Wall -Werror=return-type -Wno-ignored-qualifiers
|
||||
compiler.warning_flags.all=-Wall -Wextra -Werror=return-type -Wno-ignored-qualifiers
|
||||
compiler.warning_flags=-Werror=return-type -Wno-psabi
|
||||
compiler.warning_flags.none=-Werror=return-type -Wno-psabi
|
||||
compiler.warning_flags.default=-Werror=return-type -Wno-psabi
|
||||
compiler.warning_flags.more=-Wall -Werror=return-type -Wno-ignored-qualifiers -Wno-psabi
|
||||
compiler.warning_flags.all=-Wall -Wextra -Werror=return-type -Wno-ignored-qualifiers -Wno-psabi
|
||||
|
||||
compiler.netdefines=-DPICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 -DCYW43_LWIP=1 {build.libpicowdefs} -DLWIP_IGMP=1 -DLWIP_CHECKSUM_CTRL_PER_NETIF=1
|
||||
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 -DPICO_FLASH_SIZE_BYTES={build.flash_total}
|
||||
@@ -105,7 +105,7 @@ build.libpicow=libpicow-noipv6-nobtc-noble.a
|
||||
build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
|
||||
build.wificc=-DWIFICC=CYW43_COUNTRY_WORLDWIDE
|
||||
build.debugscript=picoprobe.tcl
|
||||
build.debugscript=picoprobe_cmsis_dap.tcl
|
||||
build.picodebugflags=
|
||||
|
||||
# Allow Pico boards do be auto-discovered by the IDE
|
||||
@@ -204,19 +204,12 @@ tools.picotool.upload.params.verbose=
|
||||
tools.picotool.upload.params.quiet=
|
||||
tools.picotool.upload.pattern="{cmd}/picotool" load "{build.path}/{build.project_name}.uf2" -f
|
||||
|
||||
#tools.picoprobe.cmd={runtime.tools.pqt-openocd.path}
|
||||
tools.picoprobe.cmd={runtime.platform.path}/system/openocd
|
||||
tools.picoprobe.upload.protocol=picoprobe
|
||||
tools.picoprobe.upload.params.verbose=
|
||||
tools.picoprobe.upload.params.quiet=
|
||||
tools.picoprobe.upload.pattern="{cmd}/bin/openocd" -f "interface/picoprobe.cfg" -f "target/rp2040.cfg" -s "{cmd}/share/openocd/scripts" -c "program {{build.path}/{build.project_name}.elf} verify reset exit"
|
||||
|
||||
#tools.picoprobe_cmsis_dap.cmd={runtime.tools.pqt-openocd.path}
|
||||
tools.picoprobe_cmsis_dap.cmd={runtime.platform.path}/system/openocd
|
||||
tools.picoprobe_cmsis_dap.upload.protocol=picoprobe_cmsis_dap
|
||||
tools.picoprobe_cmsis_dap.upload.params.verbose=
|
||||
tools.picoprobe_cmsis_dap.upload.params.quiet=
|
||||
tools.picoprobe_cmsis_dap.upload.pattern="{cmd}/bin/openocd" -f "interface/cmsis-dap.cfg" -f "target/rp2040.cfg" -s "{cmd}/share/openocd/scripts" -c "adapter speed 5000" -c "program {{build.path}/{build.project_name}.elf} verify reset exit"
|
||||
tools.picoprobe_cmsis_dap.upload.pattern="{cmd}/bin/openocd" -f "interface/cmsis-dap.cfg" -f "target/rp2040.cfg" -s "{cmd}/share/openocd/scripts" -c "adapter speed 5000" -c "program {{build.path}/{build.project_name}.elf} verify" -c "reset init" -c "resume" -c "exit"
|
||||
|
||||
#tools.picodebug.cmd={runtime.tools.pqt-openocd.path}
|
||||
tools.picodebug.cmd={runtime.platform.path}/system/openocd
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"earlephilhower": {
|
||||
"boot2_source": "boot2_w25q64jv_4_padded_checksum.S",
|
||||
"usb_vid": "0x2E8A",
|
||||
"usb_pid": "0x100A"
|
||||
}
|
||||
},
|
||||
"core": "earlephilhower",
|
||||
"cpu": "cortex-m0plus",
|
||||
"extra_flags": "-D ARDUINO_PIMORONI_TINY2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
||||
"f_cpu": "133000000L",
|
||||
"hwids": [
|
||||
[
|
||||
"0x2E8A",
|
||||
"0x00C0"
|
||||
],
|
||||
[
|
||||
"0x2E8A",
|
||||
"0x100A"
|
||||
]
|
||||
],
|
||||
"mcu": "rp2040",
|
||||
"variant": "pimoroni_tiny2040"
|
||||
},
|
||||
"debug": {
|
||||
"jlink_device": "RP2040_M0_0",
|
||||
"openocd_target": "rp2040.cfg",
|
||||
"svd_path": "rp2040.svd"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Tiny2040",
|
||||
"upload": {
|
||||
"maximum_ram_size": 270336,
|
||||
"maximum_size": 2097152,
|
||||
"require_upload_port": true,
|
||||
"native_usb": true,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": false,
|
||||
"protocol": "picotool",
|
||||
"protocols": [
|
||||
"blackmagic",
|
||||
"cmsis-dap",
|
||||
"jlink",
|
||||
"raspberrypi-swd",
|
||||
"picotool",
|
||||
"picoprobe",
|
||||
"pico-debug"
|
||||
]
|
||||
},
|
||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||
"vendor": "Pimoroni"
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"earlephilhower": {
|
||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
||||
"usb_vid": "0x2341",
|
||||
"usb_pid": "0x005F"
|
||||
}
|
||||
},
|
||||
"core": "earlephilhower",
|
||||
"cpu": "cortex-m0plus",
|
||||
"extra_flags": "-D ARDUINO_REDSCORP_RP2040_PROMINI -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
||||
"f_cpu": "133000000L",
|
||||
"hwids": [
|
||||
[
|
||||
"0x2E8A",
|
||||
"0x00C0"
|
||||
],
|
||||
[
|
||||
"0x2341",
|
||||
"0x005F"
|
||||
]
|
||||
],
|
||||
"mcu": "rp2040",
|
||||
"variant": "redscorp-rp2040-promini"
|
||||
},
|
||||
"debug": {
|
||||
"jlink_device": "RP2040_M0_0",
|
||||
"openocd_target": "rp2040.cfg",
|
||||
"svd_path": "rp2040.svd"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "RP2040-ProMini",
|
||||
"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": [
|
||||
"blackmagic",
|
||||
"cmsis-dap",
|
||||
"jlink",
|
||||
"raspberrypi-swd",
|
||||
"picotool",
|
||||
"picoprobe",
|
||||
"pico-debug"
|
||||
]
|
||||
},
|
||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||
"vendor": "redscorp"
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
VER_H=../../include/bearssl/bearssl_git.h
|
||||
|
||||
all T0 clean: bearssl/README.txt
|
||||
PATH="$(PATH):$(PWD)/../../system/arm-none-eabi/bin/" && cd bearssl && $(MAKE) CONF=pico $@
|
||||
PATH="$(PWD)/../../system/arm-none-eabi/bin/:$(PATH)" && arm-none-eabi-gcc --version && cd bearssl && $(MAKE) CONF=pico $@
|
||||
|
||||
install: all version-header
|
||||
cp bearssl/pico/libbearssl.a ../../lib/.
|
||||
|
||||
+7
-1
@@ -119,7 +119,6 @@ def BuildIPBTStack(name):
|
||||
def BuildUploadMethodMenu(name):
|
||||
for a, b, c, d, e, f in [ ["default", "Default (UF2)", 256, "picoprobe_cmsis_dap.tcl", "uf2conv", "uf2conv-network"],
|
||||
["picotool", "Picotool", 256, "picoprobe.tcl", "picotool", None],
|
||||
["picoprobe", "Picoprobe", 256, "picoprobe.tcl", "picoprobe", None],
|
||||
["picoprobe_cmsis_dap", "Picoprobe (CMSIS-DAP)", 256, "picoprobe_cmsis_dap.tcl", "picoprobe_cmsis_dap", None],
|
||||
["picodebug", "Pico-Debug", 240, "picodebug.tcl", "picodebug", None] ]:
|
||||
print("%s.menu.uploadmethod.%s=%s" % (name, a, b))
|
||||
@@ -216,6 +215,9 @@ def MakeBoard(name, vendor_name, product_name, vid, pid, pwr, boarddefine, flash
|
||||
BuildFlashMenu(name, 4*1024*1024, [0, 3*1024*1024, 2*1024*1024])
|
||||
BuildFlashMenu(name, 8*1024*1024, [0, 7*1024*1024, 4*1024*1024, 2*1024*1024])
|
||||
BuildFlashMenu(name, 16*1024*1024, [0, 15*1024*1024, 14*1024*1024, 12*1024*1024, 8*1024*1024, 4*1024*1024, 2*1024*1024])
|
||||
elif name == "pimoroni_tiny2040":
|
||||
BuildFlashMenu(name, 2*1024*1024, fssizelist)
|
||||
BuildFlashMenu(name, 8*1024*1024, [0, 7*1024*1024, 4*1024*1024, 2*1024*1024])
|
||||
else:
|
||||
BuildFlashMenu(name, flashsizemb * 1024 * 1024, fssizelist)
|
||||
BuildFreq(name)
|
||||
@@ -409,6 +411,7 @@ MakeBoard("nullbits_bit_c_pro", "nullbits", "Bit-C PRO", "0x2e8a", "0x6e61", 500
|
||||
# Pimoroni
|
||||
MakeBoard("pimoroni_pga2040", "Pimoroni", "PGA2040", "0x2e8a", "0x1008", 250, "PIMORONI_PGA2040", 8, "boot2_w25q64jv_4_padded_checksum")
|
||||
MakeBoard("pimoroni_plasma2040", "Pimoroni", "Plasma2040", "0x2e8a", "0x100a", 500, "PIMORONI_PLASMA2040", 2, "boot2_w25q080_2_padded_checksum")
|
||||
MakeBoard("pimoroni_tiny2040", "Pimoroni", "Tiny2040", "0x2e8a", "0x100a", 500, "PIMORONI_TINY2040", 2, "boot2_w25q64jv_4_padded_checksum")
|
||||
|
||||
# Silicognition
|
||||
MakeBoard("silicognition_rp2040_shim", "Silicognition", "RP2040-Shim", "0x1209", "0xf502", 500, "SILICOGNITION_RP2040_SHIM", 4, "boot2_generic_03h_4_padded_checksum")
|
||||
@@ -446,6 +449,9 @@ MakeBoard("wiznet_5100s_evb_pico", "WIZnet", "W5100S-EVB-Pico", "0x2e8a", "0x102
|
||||
MakeBoard("wiznet_wizfi360_evb_pico", "WIZnet", "WizFi360-EVB-Pico", "0x2e8a", "0x1028", 250, "WIZNET_WIZFI360_EVB_PICO", 2, "boot2_w25q080_2_padded_checksum")
|
||||
MakeBoard("wiznet_5500_evb_pico", "WIZnet", "W5500-EVB-Pico", "0x2e8a", "0x1029", 250, "WIZNET_5500_EVB_PICO", 2, "boot2_w25q080_2_padded_checksum")
|
||||
|
||||
# AG
|
||||
MakeBoard("redscorp-rp2040-promini", "redscorp", "RP2040-ProMini", "0x2341", ["0x005f", "0x805f", "0x015f", "0x025f"] , 250, "REDSCORP_RP2040_PROMINI", 16, "boot2_w25q080_2_padded_checksum")
|
||||
|
||||
# Generic
|
||||
MakeBoard("generic", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define PINS_COUNT (30u)
|
||||
#define NUM_DIGITAL_PINS (30u)
|
||||
#define NUM_ANALOG_INPUTS (4u)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
// This is a bare board with no real predefined pins, so use generic
|
||||
|
||||
#include "../generic/pins_arduino.h"
|
||||
@@ -0,0 +1,102 @@
|
||||
/* RP2040-ProMini board support
|
||||
URL: https://github.com/red-scorp/RP2040-ProMini
|
||||
Based on Arduino Nano Connect configuration */
|
||||
|
||||
#pragma once
|
||||
|
||||
// Pin definitions taken from:
|
||||
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
|
||||
static const uint8_t D0 = (1u);
|
||||
static const uint8_t D1 = (0u);
|
||||
static const uint8_t D2 = (25u);
|
||||
static const uint8_t D3 = (15u);
|
||||
static const uint8_t D4 = (16u);
|
||||
static const uint8_t D5 = (17u);
|
||||
static const uint8_t D6 = (18u);
|
||||
static const uint8_t D7 = (19u);
|
||||
static const uint8_t D8 = (20u);
|
||||
static const uint8_t D9 = (21u);
|
||||
static const uint8_t D10 = (5u);
|
||||
static const uint8_t D11 = (7u);
|
||||
static const uint8_t D12 = (4u);
|
||||
static const uint8_t D13 = (6u);
|
||||
static const uint8_t D14 = (26u);
|
||||
static const uint8_t D15 = (27u);
|
||||
static const uint8_t D16 = (28u);
|
||||
static const uint8_t D17 = (29u);
|
||||
static const uint8_t D18 = (12u);
|
||||
static const uint8_t D19 = (13u);
|
||||
static const uint8_t D20 = (22u);
|
||||
static const uint8_t D21 = (23u);
|
||||
static const uint8_t D22 = (2u);
|
||||
static const uint8_t D23 = (24u);
|
||||
static const uint8_t D24 = (3u);
|
||||
static const uint8_t D25 = (8u);
|
||||
static const uint8_t D26 = (9u);
|
||||
static const uint8_t D27 = (10u);
|
||||
static const uint8_t D28 = (11u);
|
||||
static const uint8_t D29 = (14u);
|
||||
|
||||
static const uint8_t A0 = (26u);
|
||||
static const uint8_t A1 = (27u);
|
||||
static const uint8_t A2 = (28u);
|
||||
static const uint8_t A3 = (29u);
|
||||
|
||||
// LEDs
|
||||
#define PIN_LED (D13)
|
||||
|
||||
// Serial
|
||||
#define PIN_SERIAL1_TX (D1)
|
||||
#define PIN_SERIAL1_RX (D0)
|
||||
|
||||
#define PIN_SERIAL2_TX (D25)
|
||||
#define PIN_SERIAL2_RX (D26)
|
||||
#define PIN_SERIAL2_CTS (D27)
|
||||
#define PIN_SERIAL2_RTS (D28)
|
||||
|
||||
// SPI
|
||||
#define PIN_SPI0_MISO (D12)
|
||||
#define PIN_SPI0_MOSI (D11)
|
||||
#define PIN_SPI0_SCK (D13)
|
||||
#define PIN_SPI0_SS (D10)
|
||||
|
||||
#define PIN_SPI1_MISO (D25)
|
||||
#define PIN_SPI1_MOSI (D28)
|
||||
#define PIN_SPI1_SCK (D29)
|
||||
#define PIN_SPI1_SS (D10)
|
||||
|
||||
// Wire
|
||||
#define PIN_WIRE0_SDA (D18)
|
||||
#define PIN_WIRE0_SCL (D19)
|
||||
|
||||
#define PIN_WIRE1_SDA (D14)
|
||||
#define PIN_WIRE1_SCL (D15)
|
||||
|
||||
#define SERIAL_HOWMANY (3u)
|
||||
#define SPI_HOWMANY (2u)
|
||||
#define WIRE_HOWMANY (1u)
|
||||
|
||||
#define PINS_COUNT (30u)
|
||||
#define NUM_DIGITAL_PINS (30u)
|
||||
#define NUM_ANALOG_INPUTS (4u)
|
||||
#define NUM_ANALOG_OUTPUTS (0u)
|
||||
#define ADC_RESOLUTION (12u)
|
||||
|
||||
#define LED_BUILTIN PIN_LED
|
||||
#define DigitalPinToPinName(p) (p)
|
||||
|
||||
static const uint8_t SS = PIN_SPI0_SS;
|
||||
static const uint8_t MOSI = PIN_SPI0_MOSI;
|
||||
static const uint8_t MISO = PIN_SPI0_MISO;
|
||||
static const uint8_t SCK = PIN_SPI0_SCK;
|
||||
|
||||
// Some random stuff
|
||||
|
||||
#define SERIAL_PORT_USBVIRTUAL SerialUSB
|
||||
#define SERIAL_PORT_MONITOR SerialUSB
|
||||
#define SERIAL_PORT_HARDWARE Serial1
|
||||
#define SERIAL_PORT_HARDWARE_OPEN Serial2
|
||||
|
||||
#define CRYPTO_WIRE Wire
|
||||
|
||||
#define USB_MAX_POWER (500)
|
||||
Reference in New Issue
Block a user