Changed power handler to enable/start & disable/stop USBD driver in background

pull/10689/head
George Beckstein 2018-11-11 20:00:19 -05:00 committed by aglass0fmilk
parent bd2605cce9
commit faa80d9028
1 changed files with 8 additions and 0 deletions

View File

@ -308,12 +308,20 @@ void USBPhyHw::process() {
// Process USB power-related events // Process USB power-related events
switch (usb_power_event) { switch (usb_power_event) {
case NRF_DRV_POWER_USB_EVT_DETECTED: case NRF_DRV_POWER_USB_EVT_DETECTED:
if(!nrf_drv_usbd_is_enabled())
nrf_drv_usbd_enable();
events->power(true); events->power(true);
break; break;
case NRF_DRV_POWER_USB_EVT_REMOVED: case NRF_DRV_POWER_USB_EVT_REMOVED:
events->power(false); events->power(false);
if(nrf_drv_usbd_is_started())
nrf_drv_usbd_stop();
if(nrf_drv_usbd_is_enabled())
nrf_drv_usbd_disable();
break; break;
case NRF_DRV_POWER_USB_EVT_READY: case NRF_DRV_POWER_USB_EVT_READY:
if(!nrf_drv_usbd_is_started() && connect_enabled)
nrf_drv_usbd_start(true);
break; break;
default: default:
ASSERT(false) ASSERT(false)