parent
9971bda9cb
commit
061b38f0b8
4 changed files with 18 additions and 7 deletions
|
|
@ -18,7 +18,7 @@ See https://arduino-pico.readthedocs.io/en/latest/ along with the examples for m
|
||||||
* Adafruit QTPy RP2040
|
* Adafruit QTPy RP2040
|
||||||
* Adafruit STEMMA Friend RP2040
|
* Adafruit STEMMA Friend RP2040
|
||||||
* Adafruit Trinkey RP2040 QT
|
* Adafruit Trinkey RP2040 QT
|
||||||
* Arduino Nano RP2040 Connect (preliminary)
|
* Arduino Nano RP2040 Connect
|
||||||
* Cytron Maker Pi RP2040
|
* Cytron Maker Pi RP2040
|
||||||
* Cytron Maker Nano RP2040
|
* Cytron Maker Nano RP2040
|
||||||
* DeRuiLab FlyBoard2040 Core
|
* DeRuiLab FlyBoard2040 Core
|
||||||
|
|
|
||||||
|
|
@ -114,12 +114,12 @@ bool SerialUART::setFIFOSize(size_t size) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
SerialUART::SerialUART(uart_inst_t *uart, pin_size_t tx, pin_size_t rx) {
|
SerialUART::SerialUART(uart_inst_t *uart, pin_size_t tx, pin_size_t rx, pin_size_t rts, pin_size_t cts) {
|
||||||
_uart = uart;
|
_uart = uart;
|
||||||
_tx = tx;
|
_tx = tx;
|
||||||
_rx = rx;
|
_rx = rx;
|
||||||
_rts = UART_PIN_NOT_DEFINED;
|
_rts = rts;
|
||||||
_cts = UART_PIN_NOT_DEFINED;
|
_cts = cts;
|
||||||
mutex_init(&_mutex);
|
mutex_init(&_mutex);
|
||||||
mutex_init(&_fifoMutex);
|
mutex_init(&_fifoMutex);
|
||||||
}
|
}
|
||||||
|
|
@ -339,8 +339,17 @@ SerialUART::operator bool() {
|
||||||
return _running;
|
return _running;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(PIN_SERIAL1_RTS)
|
||||||
|
SerialUART Serial1(uart0, PIN_SERIAL1_TX, PIN_SERIAL1_RX, PIN_SERIAL1_RTS, PIN_SERIAL1_CTS);
|
||||||
|
#else
|
||||||
SerialUART Serial1(uart0, PIN_SERIAL1_TX, PIN_SERIAL1_RX);
|
SerialUART Serial1(uart0, PIN_SERIAL1_TX, PIN_SERIAL1_RX);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PIN_SERIAL2_RTS)
|
||||||
|
SerialUART Serial2(uart1, PIN_SERIAL2_TX, PIN_SERIAL2_RX, PIN_SERIAL2_RTS, PIN_SERIAL2_CTS);
|
||||||
|
#else
|
||||||
SerialUART Serial2(uart1, PIN_SERIAL2_TX, PIN_SERIAL2_RX);
|
SerialUART Serial2(uart1, PIN_SERIAL2_TX, PIN_SERIAL2_RX);
|
||||||
|
#endif
|
||||||
|
|
||||||
void arduino::serialEvent1Run(void) {
|
void arduino::serialEvent1Run(void) {
|
||||||
if (serialEvent1 && Serial1.available()) {
|
if (serialEvent1 && Serial1.available()) {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ extern "C" typedef struct uart_inst uart_inst_t;
|
||||||
#define UART_PIN_NOT_DEFINED (255u)
|
#define UART_PIN_NOT_DEFINED (255u)
|
||||||
class SerialUART : public HardwareSerial {
|
class SerialUART : public HardwareSerial {
|
||||||
public:
|
public:
|
||||||
SerialUART(uart_inst_t *uart, pin_size_t tx, pin_size_t rx);
|
SerialUART(uart_inst_t *uart, pin_size_t tx, pin_size_t rx, pin_size_t rts = UART_PIN_NOT_DEFINED, pin_size_t cts = UART_PIN_NOT_DEFINED);
|
||||||
|
|
||||||
// Select the pinout. Call before .begin()
|
// Select the pinout. Call before .begin()
|
||||||
bool setRX(pin_size_t pin);
|
bool setRX(pin_size_t pin);
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,10 @@ static const uint8_t A3 = (29u);
|
||||||
#define PIN_SERIAL1_TX (D1)
|
#define PIN_SERIAL1_TX (D1)
|
||||||
#define PIN_SERIAL1_RX (D0)
|
#define PIN_SERIAL1_RX (D0)
|
||||||
|
|
||||||
#define PIN_SERIAL2_TX (D25)
|
#define PIN_SERIAL2_TX (D25)
|
||||||
#define PIN_SERIAL2_RX (D26)
|
#define PIN_SERIAL2_RX (D26)
|
||||||
|
#define PIN_SERIAL2_CTS (D27)
|
||||||
|
#define PIN_SERIAL2_RTS (D28)
|
||||||
|
|
||||||
// SPI
|
// SPI
|
||||||
#define PIN_SPI0_MISO (D12)
|
#define PIN_SPI0_MISO (D12)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue