nrf: Use dupterm_objs[0] instead of board_stdio_uart.
To make this a little more consistent with other ports. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
cc8fc450a6
commit
e3c4c32c64
|
@ -171,7 +171,7 @@ soft_reset:
|
|||
MP_OBJ_NEW_SMALL_INT(0),
|
||||
MP_OBJ_NEW_SMALL_INT(115200),
|
||||
};
|
||||
MP_STATE_PORT(board_stdio_uart) = MP_OBJ_TYPE_GET_SLOT(&machine_uart_type, make_new)((mp_obj_t)&machine_uart_type, MP_ARRAY_SIZE(args), 0, args);
|
||||
MP_STATE_VM(dupterm_objs[0]) = MP_OBJ_TYPE_GET_SLOT(&machine_uart_type, make_new)((mp_obj_t)&machine_uart_type, MP_ARRAY_SIZE(args), 0, args);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -118,16 +118,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(os_urandom_obj, os_urandom);
|
|||
// TODO should accept any object with read/write methods.
|
||||
STATIC mp_obj_t os_dupterm(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
if (n_args == 0) {
|
||||
if (MP_STATE_PORT(board_stdio_uart) == NULL) {
|
||||
if (MP_STATE_VM(dupterm_objs[0]) == MP_OBJ_NULL) {
|
||||
return mp_const_none;
|
||||
} else {
|
||||
return MP_STATE_PORT(board_stdio_uart);
|
||||
return MP_STATE_VM(dupterm_objs[0]);
|
||||
}
|
||||
} else {
|
||||
if (args[0] == mp_const_none) {
|
||||
MP_STATE_PORT(board_stdio_uart) = NULL;
|
||||
MP_STATE_VM(dupterm_objs[0]) = MP_OBJ_NULL;
|
||||
} else if (mp_obj_get_type(args[0]) == &machine_uart_type) {
|
||||
MP_STATE_PORT(board_stdio_uart) = args[0];
|
||||
MP_STATE_VM(dupterm_objs[0]) = args[0];
|
||||
} else {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("need a UART object"));
|
||||
}
|
||||
|
|
|
@ -135,6 +135,7 @@
|
|||
|
||||
// Use port specific os module rather than extmod variant.
|
||||
#define MICROPY_PY_OS (0)
|
||||
#define MICROPY_PY_OS_DUPTERM (1)
|
||||
|
||||
#define MICROPY_STREAMS_NON_BLOCK (1)
|
||||
#define MICROPY_CAN_OVERRIDE_BUILTINS (1)
|
||||
|
|
|
@ -175,11 +175,11 @@ void mp_hal_set_interrupt_char(int c) {
|
|||
#if !MICROPY_PY_BLE_NUS && !MICROPY_HW_USB_CDC
|
||||
uintptr_t mp_hal_stdio_poll(uintptr_t poll_flags) {
|
||||
uintptr_t ret = 0;
|
||||
if ((poll_flags & MP_STREAM_POLL_RD) && MP_STATE_PORT(board_stdio_uart) != NULL
|
||||
&& uart_rx_any(MP_STATE_PORT(board_stdio_uart))) {
|
||||
if ((poll_flags & MP_STREAM_POLL_RD) && MP_STATE_VM(dupterm_objs[0]) != MP_OBJ_NULL
|
||||
&& uart_rx_any(MP_STATE_VM(dupterm_objs[0]))) {
|
||||
ret |= MP_STREAM_POLL_RD;
|
||||
}
|
||||
if ((poll_flags & MP_STREAM_POLL_WR) && MP_STATE_PORT(board_stdio_uart) != NULL) {
|
||||
if ((poll_flags & MP_STREAM_POLL_WR) && MP_STATE_VM(dupterm_objs[0]) != MP_OBJ_NULL) {
|
||||
ret |= MP_STREAM_POLL_WR;
|
||||
}
|
||||
return ret;
|
||||
|
@ -187,8 +187,8 @@ uintptr_t mp_hal_stdio_poll(uintptr_t poll_flags) {
|
|||
|
||||
int mp_hal_stdin_rx_chr(void) {
|
||||
for (;;) {
|
||||
if (MP_STATE_PORT(board_stdio_uart) != NULL && uart_rx_any(MP_STATE_PORT(board_stdio_uart))) {
|
||||
return uart_rx_char(MP_STATE_PORT(board_stdio_uart));
|
||||
if (MP_STATE_VM(dupterm_objs[0]) != MP_OBJ_NULL && uart_rx_any(MP_STATE_VM(dupterm_objs[0]))) {
|
||||
return uart_rx_char(MP_STATE_VM(dupterm_objs[0]));
|
||||
}
|
||||
MICROPY_EVENT_POLL_HOOK
|
||||
}
|
||||
|
@ -197,14 +197,14 @@ int mp_hal_stdin_rx_chr(void) {
|
|||
}
|
||||
|
||||
void mp_hal_stdout_tx_strn(const char *str, mp_uint_t len) {
|
||||
if (MP_STATE_PORT(board_stdio_uart) != NULL) {
|
||||
uart_tx_strn(MP_STATE_PORT(board_stdio_uart), str, len);
|
||||
if (MP_STATE_VM(dupterm_objs[0]) != MP_OBJ_NULL) {
|
||||
uart_tx_strn(MP_STATE_VM(dupterm_objs[0]), str, len);
|
||||
}
|
||||
}
|
||||
|
||||
void mp_hal_stdout_tx_strn_cooked(const char *str, mp_uint_t len) {
|
||||
if (MP_STATE_PORT(board_stdio_uart) != NULL) {
|
||||
uart_tx_strn_cooked(MP_STATE_PORT(board_stdio_uart), str, len);
|
||||
if (MP_STATE_VM(dupterm_objs[0]) != MP_OBJ_NULL) {
|
||||
uart_tx_strn_cooked(MP_STATE_VM(dupterm_objs[0]), str, len);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -377,5 +377,3 @@ const char *nrfx_error_code_lookup(uint32_t err_code) {
|
|||
}
|
||||
|
||||
#endif // NRFX_LOG_ENABLED
|
||||
|
||||
MP_REGISTER_ROOT_POINTER(struct _machine_uart_obj_t *board_stdio_uart);
|
||||
|
|
Loading…
Reference in New Issue