fix(uart): Add missing HP UARTs for ESP32-P4 (#10447)
* fix(uart): Add missing HP UARTs for ESP32-P4 * fix(comment): Fix macro in comment * fix(uart): Fix macro guard
This commit is contained in:
parent
774f2756f1
commit
81d2cbca96
3 changed files with 66 additions and 4 deletions
|
|
@ -27,11 +27,19 @@ void serialEvent(void) __attribute__((weak));
|
||||||
|
|
||||||
#if SOC_UART_HP_NUM > 1
|
#if SOC_UART_HP_NUM > 1
|
||||||
void serialEvent1(void) __attribute__((weak));
|
void serialEvent1(void) __attribute__((weak));
|
||||||
#endif /* SOC_UART_NUM > 1 */
|
#endif /* SOC_UART_HP_NUM > 1 */
|
||||||
|
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
void serialEvent2(void) __attribute__((weak));
|
void serialEvent2(void) __attribute__((weak));
|
||||||
#endif /* SOC_UART_NUM > 2 */
|
#endif /* SOC_UART_HP_NUM > 2 */
|
||||||
|
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
void serialEvent3(void) __attribute__((weak));
|
||||||
|
#endif /* SOC_UART_HP_NUM > 3 */
|
||||||
|
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
void serialEvent4(void) __attribute__((weak));
|
||||||
|
#endif /* SOC_UART_HP_NUM > 4 */
|
||||||
|
|
||||||
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
|
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
|
||||||
// There is always Seria0 for UART0
|
// There is always Seria0 for UART0
|
||||||
|
|
@ -42,6 +50,12 @@ HardwareSerial Serial1(1);
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
HardwareSerial Serial2(2);
|
HardwareSerial Serial2(2);
|
||||||
#endif
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
HardwareSerial Serial3(3);
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
HardwareSerial Serial4(4);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HWCDC_SERIAL_IS_DEFINED == 1 // Hardware JTAG CDC Event
|
#if HWCDC_SERIAL_IS_DEFINED == 1 // Hardware JTAG CDC Event
|
||||||
extern void HWCDCSerialEvent(void) __attribute__((weak));
|
extern void HWCDCSerialEvent(void) __attribute__((weak));
|
||||||
|
|
@ -67,16 +81,26 @@ void serialEventRun(void) {
|
||||||
if (serialEvent && Serial0.available()) {
|
if (serialEvent && Serial0.available()) {
|
||||||
serialEvent();
|
serialEvent();
|
||||||
}
|
}
|
||||||
#if SOC_UART_NUM > 1
|
#if SOC_UART_HP_NUM > 1
|
||||||
if (serialEvent1 && Serial1.available()) {
|
if (serialEvent1 && Serial1.available()) {
|
||||||
serialEvent1();
|
serialEvent1();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if SOC_UART_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
if (serialEvent2 && Serial2.available()) {
|
if (serialEvent2 && Serial2.available()) {
|
||||||
serialEvent2();
|
serialEvent2();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
if (serialEvent3 && Serial3.available()) {
|
||||||
|
serialEvent3();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
if (serialEvent4 && Serial4.available()) {
|
||||||
|
serialEvent4();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -375,6 +375,12 @@ extern HardwareSerial Serial1;
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
extern HardwareSerial Serial2;
|
extern HardwareSerial Serial2;
|
||||||
#endif
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
extern HardwareSerial Serial3;
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
extern HardwareSerial Serial4;
|
||||||
|
#endif
|
||||||
#endif //!defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
|
#endif //!defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
|
||||||
|
|
||||||
#endif // HardwareSerial_h
|
#endif // HardwareSerial_h
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,12 @@ static uart_t _uart_bus_array[] = {
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
{2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
{2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
#endif
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
{3, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
{4, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
@ -87,6 +93,12 @@ static uart_t _uart_bus_array[] = {
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
{NULL, 2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
{NULL, 2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
#endif
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
{NULL, 3, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
{NULL, 4, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0},
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -835,6 +847,20 @@ static void ARDUINO_ISR_ATTR uart2_write_char(char c) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
static void ARDUINO_ISR_ATTR uart3_write_char(char c) {
|
||||||
|
while (uart_ll_get_txfifo_len(&UART3) == 0);
|
||||||
|
uart_ll_write_txfifo(&UART3, (const uint8_t *)&c, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
static void ARDUINO_ISR_ATTR uart4_write_char(char c) {
|
||||||
|
while (uart_ll_get_txfifo_len(&UART4) == 0);
|
||||||
|
uart_ll_write_txfifo(&UART4, (const uint8_t *)&c, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void uart_install_putc() {
|
void uart_install_putc() {
|
||||||
switch (s_uart_debug_nr) {
|
switch (s_uart_debug_nr) {
|
||||||
case 0: ets_install_putc1((void (*)(char)) & uart0_write_char); break;
|
case 0: ets_install_putc1((void (*)(char)) & uart0_write_char); break;
|
||||||
|
|
@ -843,6 +869,12 @@ void uart_install_putc() {
|
||||||
#endif
|
#endif
|
||||||
#if SOC_UART_HP_NUM > 2
|
#if SOC_UART_HP_NUM > 2
|
||||||
case 2: ets_install_putc1((void (*)(char)) & uart2_write_char); break;
|
case 2: ets_install_putc1((void (*)(char)) & uart2_write_char); break;
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 3
|
||||||
|
case 3: ets_install_putc1((void (*)(char)) & uart3_write_char); break;
|
||||||
|
#endif
|
||||||
|
#if SOC_UART_HP_NUM > 4
|
||||||
|
case 4: ets_install_putc1((void (*)(char)) & uart4_write_char); break;
|
||||||
#endif
|
#endif
|
||||||
default: ets_install_putc1(NULL); break;
|
default: ets_install_putc1(NULL); break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue