USBDevice: add documentation on USB suspend/resume to enter deep sleep

It is possible to temporarily suspend USB and safely preserve its
configuration. This is needed to allow a device to enter deep
sleep as a USBDevice instance prevents deep sleep. USB operation can be
suspended with `deinit` and restored with `connect`.
pull/11635/head
Hugues Kamba 2019-10-04 13:50:35 +01:00
parent eeb033f814
commit a3f20f858b
1 changed files with 7 additions and 0 deletions

View File

@ -97,6 +97,11 @@ public:
* Power down this instance
*
* Disable interrupts and stop sending events.
* This method can be used for temporary power-saving; This call can allow
* USB to be temporarily disabled to permit power saving.
* However, it is up to the user to make sure all the
* transfers have concluded (for example when USB power is lost).
* USBDevice::connect can be used to resume USB operation.
*/
void deinit();
@ -109,6 +114,8 @@ public:
/**
* Connect a device
* This method can also be used to resume USB operation when USB power is
* detected after it was suspended via USBDevice::deinit.
*/
void connect();