File tree Expand file tree Collapse file tree
atmel-samd/common-hal/supervisor
nrf/common-hal/supervisor
shared-bindings/supervisor Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -32,3 +32,7 @@ bool common_hal_get_serial_connected(void) {
3232 return (bool ) usb_connected ();
3333}
3434
35+ bool common_hal_get_serial_bytes_available (void ) {
36+ return (bool ) usb_bytes_available ();
37+ }
38+
Original file line number Diff line number Diff line change @@ -32,3 +32,7 @@ bool common_hal_get_serial_connected(void) {
3232 return (bool ) serial_connected ();
3333}
3434
35+ bool common_hal_get_serial_bytes_available (void ) {
36+ return (bool ) serial_bytes_available ();
37+ }
38+
Original file line number Diff line number Diff line change @@ -80,8 +80,34 @@ const mp_obj_property_t supervisor_serial_connected_obj = {
8080 (mp_obj_t )& mp_const_none_obj },
8181};
8282
83+
84+ //| .. attribute:: runtime.serial_bytes_available
85+ //|
86+ //| Returns the whether any bytes are available to read
87+ //| on the USB serial input. Allows for polling to see whether
88+ //| to call the built-in input() or wait. (read-only)
89+ //|
90+ STATIC mp_obj_t supervisor_get_serial_bytes_available (mp_obj_t self ){
91+ if (!common_hal_get_serial_bytes_available ()) {
92+ return mp_const_false ;
93+ }
94+ else {
95+ return mp_const_true ;
96+ }
97+ }
98+ MP_DEFINE_CONST_FUN_OBJ_1 (supervisor_get_serial_bytes_available_obj , supervisor_get_serial_bytes_available );
99+
100+ const mp_obj_property_t supervisor_serial_bytes_available_obj = {
101+ .base .type = & mp_type_property ,
102+ .proxy = {(mp_obj_t )& supervisor_get_serial_bytes_available_obj ,
103+ (mp_obj_t )& mp_const_none_obj ,
104+ (mp_obj_t )& mp_const_none_obj },
105+ };
106+
107+
83108STATIC const mp_rom_map_elem_t supervisor_runtime_locals_dict_table [] = {
84109 { MP_ROM_QSTR (MP_QSTR_serial_connected ), MP_ROM_PTR (& supervisor_serial_connected_obj ) },
110+ { MP_ROM_QSTR (MP_QSTR_serial_bytes_available ), MP_ROM_PTR (& supervisor_serial_bytes_available_obj ) },
85111};
86112
87113STATIC MP_DEFINE_CONST_DICT (supervisor_runtime_locals_dict , supervisor_runtime_locals_dict_table );
Original file line number Diff line number Diff line change @@ -35,6 +35,8 @@ const mp_obj_type_t supervisor_runtime_type;
3535
3636bool common_hal_get_serial_connected (void );
3737
38+ bool common_hal_get_serial_bytes_available (void );
39+
3840//TODO: placeholders for future functions
3941//bool common_hal_get_repl_active(void);
4042//bool common_hal_get_usb_enumerated(void);
You can’t perform that action at this time.
0 commit comments