Commit 324c6753 authored by robert-hh's avatar robert-hh Committed by Damien George

renesas-ra/machine_uart: Add the UART.IRQ_RX class constant.

The renesas-ra port supports calling a handler to be called on every byte
received by UART.  For consistency with other ports, the symbol IRQ_RX
is added as the trigger name.

Side change: Add the received UART data to the REPL input buffer only if it
is the REPL UART.  Otherwise, every UART would act as REPL input.
Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
parent b7fa4e2f
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#define MICROPY_PY_MACHINE_UART_CLASS_CONSTANTS \ #define MICROPY_PY_MACHINE_UART_CLASS_CONSTANTS \
{ MP_ROM_QSTR(MP_QSTR_RTS), MP_ROM_INT(UART_HWCONTROL_RTS) }, \ { MP_ROM_QSTR(MP_QSTR_RTS), MP_ROM_INT(UART_HWCONTROL_RTS) }, \
{ MP_ROM_QSTR(MP_QSTR_CTS), MP_ROM_INT(UART_HWCONTROL_CTS) }, \ { MP_ROM_QSTR(MP_QSTR_CTS), MP_ROM_INT(UART_HWCONTROL_CTS) }, \
{ MP_ROM_QSTR(MP_QSTR_IRQ_RX), MP_ROM_INT(0x10) }, \
static const char *_parity_name[] = {"None", "ODD", "EVEN"}; static const char *_parity_name[] = {"None", "ODD", "EVEN"};
......
...@@ -71,6 +71,8 @@ static void uart_rx_cb(uint32_t ch, int d) { ...@@ -71,6 +71,8 @@ static void uart_rx_cb(uint32_t ch, int d) {
// even disable the IRQ. This should never happen. // even disable the IRQ. This should never happen.
return; return;
} }
#if defined(MICROPY_HW_UART_REPL)
if (ch == MICROPY_HW_UART_REPL) {
#if MICROPY_KBD_EXCEPTION #if MICROPY_KBD_EXCEPTION
if (keyex_cb[ch]) { if (keyex_cb[ch]) {
(*keyex_cb[ch])(d); (*keyex_cb[ch])(d);
...@@ -80,6 +82,8 @@ static void uart_rx_cb(uint32_t ch, int d) { ...@@ -80,6 +82,8 @@ static void uart_rx_cb(uint32_t ch, int d) {
#if MICROPY_HW_ENABLE_UART_REPL #if MICROPY_HW_ENABLE_UART_REPL
ringbuf_put(&stdin_ringbuf, d); ringbuf_put(&stdin_ringbuf, d);
#endif #endif
}
#endif
// Check the flags to see if the user handler should be called // Check the flags to see if the user handler should be called
if (self->mp_irq_trigger) { if (self->mp_irq_trigger) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment