Skip to content

Commit f6be480

Browse files
committed
stmhal: Add pyb.have_cdc function to check if USB CDC device is enabled.
1 parent 9388a90 commit f6be480

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

stmhal/modpyb.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,12 @@ STATIC mp_obj_t pyb_standby(void) {
193193

194194
MP_DEFINE_CONST_FUN_OBJ_0(pyb_standby_obj, pyb_standby);
195195

196+
STATIC mp_obj_t pyb_have_cdc(void ) {
197+
return MP_BOOL(usb_vcp_is_connected());
198+
}
199+
200+
STATIC MP_DEFINE_CONST_FUN_OBJ_0(pyb_have_cdc_obj, pyb_have_cdc);
201+
196202
STATIC mp_obj_t pyb_hid_send_report(mp_obj_t arg) {
197203
mp_obj_t *items;
198204
mp_obj_get_array_fixed_n(arg, 4, &items);
@@ -235,6 +241,9 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
235241
{ MP_OBJ_NEW_QSTR(MP_QSTR_main), (mp_obj_t)&pyb_main_obj },
236242
{ MP_OBJ_NEW_QSTR(MP_QSTR_usb_mode), (mp_obj_t)&pyb_usb_mode_obj },
237243

244+
{ MP_OBJ_NEW_QSTR(MP_QSTR_have_cdc), (mp_obj_t)&pyb_have_cdc_obj },
245+
{ MP_OBJ_NEW_QSTR(MP_QSTR_hid), (mp_obj_t)&pyb_hid_send_report_obj },
246+
238247
{ MP_OBJ_NEW_QSTR(MP_QSTR_millis), (mp_obj_t)&pyb_millis_obj },
239248
{ MP_OBJ_NEW_QSTR(MP_QSTR_delay), (mp_obj_t)&pyb_delay_obj },
240249
{ MP_OBJ_NEW_QSTR(MP_QSTR_udelay), (mp_obj_t)&pyb_udelay_obj },
@@ -278,8 +287,6 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
278287
{ MP_OBJ_NEW_QSTR(MP_QSTR_Accel), (mp_obj_t)&pyb_accel_type },
279288
#endif
280289

281-
{ MP_OBJ_NEW_QSTR(MP_QSTR_hid), (mp_obj_t)&pyb_hid_send_report_obj },
282-
283290
// input
284291
{ MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&pyb_input_obj },
285292

stmhal/qstrdefsport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Q(read)
2525
Q(readall)
2626
Q(readline)
2727
Q(write)
28+
Q(have_cdc)
2829
Q(hid)
2930
Q(time)
3031
Q(rng)

0 commit comments

Comments
 (0)