diff options
| author | sommersoft <sommersoft@gmail.com> | 2018-03-24 03:42:58 +0000 |
|---|---|---|
| committer | sommersoft <sommersoft@gmail.com> | 2018-03-24 03:42:58 +0000 |
| commit | 6205ed9a0cf97ab8c0bf873d6cb1d7da4fd8accf (patch) | |
| tree | 6c91499c348f945357bac64fa7c8611bc25d4b69 | |
| parent | 8c9cc6b7c0fead1a0dad938465596197856adaa5 (diff) | |
updated cdc_enabled; now more dynamic status return
| -rw-r--r-- | ports/atmel-samd/usb.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/ports/atmel-samd/usb.c b/ports/atmel-samd/usb.c index 740486aa1..6ce8aeea7 100644 --- a/ports/atmel-samd/usb.c +++ b/ports/atmel-samd/usb.c @@ -227,17 +227,17 @@ void init_usb(void) { } static bool cdc_enabled(void) { - if (mp_cdc_enabled) { - return true; - } if (!cdcdf_acm_is_enabled()) { + mp_cdc_enabled = false; return false; } - cdcdf_acm_register_callback(CDCDF_ACM_CB_READ, (FUNC_PTR)read_complete); - cdcdf_acm_register_callback(CDCDF_ACM_CB_WRITE, (FUNC_PTR)write_complete); - cdcdf_acm_register_callback(CDCDF_ACM_CB_STATE_C, (FUNC_PTR)usb_device_cb_state_c); - cdcdf_acm_register_callback(CDCDF_ACM_CB_LINE_CODING_C, (FUNC_PTR)usb_device_cb_line_coding_c); - mp_cdc_enabled = true; + if (!mp_cdc_enabled) { + cdcdf_acm_register_callback(CDCDF_ACM_CB_READ, (FUNC_PTR)read_complete); + cdcdf_acm_register_callback(CDCDF_ACM_CB_WRITE, (FUNC_PTR)write_complete); + cdcdf_acm_register_callback(CDCDF_ACM_CB_STATE_C, (FUNC_PTR)usb_device_cb_state_c); + cdcdf_acm_register_callback(CDCDF_ACM_CB_LINE_CODING_C, (FUNC_PTR)usb_device_cb_line_coding_c); + mp_cdc_enabled = true; + } return true; } |
