summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsommersoft <sommersoft@gmail.com>2018-03-24 03:42:58 +0000
committersommersoft <sommersoft@gmail.com>2018-03-24 03:42:58 +0000
commit6205ed9a0cf97ab8c0bf873d6cb1d7da4fd8accf (patch)
tree6c91499c348f945357bac64fa7c8611bc25d4b69
parent8c9cc6b7c0fead1a0dad938465596197856adaa5 (diff)
updated cdc_enabled; now more dynamic status return
-rw-r--r--ports/atmel-samd/usb.c16
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;
}