Skip to content

Commit 210e0f7

Browse files
committed
add machine_uart readchar and any method
1 parent b9f51fe commit 210e0f7

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

ports/k210-freertos/mpy_support/standard_lib/machine/machine_uart.c

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ mp_uint_t uart_rx_any(machine_uart_obj_t *self)
112112
}
113113
}
114114

115+
mp_obj_t uart_any(machine_uart_obj_t *self)
116+
{
117+
return mp_obj_new_int(uart_rx_any(self));
118+
}
119+
MP_DEFINE_CONST_FUN_OBJ_1(machine_uart_any_obj, uart_any);
120+
115121
int uart_rx_irq(void *ctx)
116122
{
117123
machine_uart_obj_t *self = ctx;
@@ -237,6 +243,18 @@ int uart_rx_char(machine_uart_obj_t *self)
237243
return -1;
238244
}
239245

246+
mp_obj_t uart_readchar(machine_uart_obj_t *self)
247+
{
248+
int data = uart_rx_char(self);
249+
250+
if(data != -1)
251+
{
252+
return mp_obj_new_bytes(&data,1);
253+
}
254+
return MP_OBJ_NULL;
255+
}
256+
MP_DEFINE_CONST_FUN_OBJ_1(machine_uart_rx_char_obj, uart_rx_char);
257+
240258
int uart_rx_data(machine_uart_obj_t *self,uint8_t* buf_in,uint32_t size)
241259
{
242260
uint16_t data_num = 0;
@@ -501,7 +519,9 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(machine_uart_deinit_obj, machine_uart_deinit);
501519
STATIC const mp_rom_map_elem_t machine_uart_locals_dict_table[] = {
502520
{ MP_ROM_QSTR(MP_QSTR_init), MP_ROM_PTR(&machine_uart_init_obj) },
503521
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&machine_uart_deinit_obj) },
504-
522+
523+
{ MP_ROM_QSTR(MP_QSTR_readchar), MP_ROM_PTR(&machine_uart_rx_char_obj)},
524+
{ MP_ROM_QSTR(MP_QSTR_any), MP_ROM_PTR(&machine_uart_any_obj)},
505525
{ MP_ROM_QSTR(MP_QSTR_readline), MP_ROM_PTR(&mp_stream_unbuffered_readline_obj)},
506526
{ MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&mp_stream_readinto_obj) },
507527
{ MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&mp_stream_write_obj) },

0 commit comments

Comments
 (0)