diff options
| author | Ha Thach <[email protected]> | 2020-04-10 16:11:04 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-04-10 16:11:04 +0700 |
| commit | bbb0e1088dad9f22b3447cc932270cbc0d84a453 (patch) | |
| tree | fab371cfc4936b9212dc72403267959704f00994 /src/device | |
| parent | 36b33ee775a02e1263f61bc4a82e58d8e8559734 (diff) | |
| parent | d6578823bb405cacbda13a044b66ba0a4f16a3d4 (diff) | |
Merge pull request #330 from hathach/dcd-disconnect-connect
Dcd disconnect connect for samd and nrf
Diffstat (limited to 'src/device')
| -rw-r--r-- | src/device/dcd.h | 6 | ||||
| -rw-r--r-- | src/device/usbd.h | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/device/dcd.h b/src/device/dcd.h index 143a2de34..487ddb3b6 100644 --- a/src/device/dcd.h +++ b/src/device/dcd.h @@ -106,6 +106,12 @@ void dcd_set_config (uint8_t rhport, uint8_t config_num); // Wake up host void dcd_remote_wakeup(uint8_t rhport); +// disconnect by disabling internal pull-up resistor on D+/D- +void dcd_disconnect(uint8_t rhport) TU_ATTR_WEAK; + +// connect by enabling internal pull-up resistor on D+/D- +void dcd_connect(uint8_t rhport) TU_ATTR_WEAK; + //--------------------------------------------------------------------+ // Endpoint API //--------------------------------------------------------------------+ diff --git a/src/device/usbd.h b/src/device/usbd.h index beeec7e1c..817af20e3 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -65,6 +65,20 @@ static inline bool tud_ready(void) // Remote wake up host, only if suspended and enabled by host bool tud_remote_wakeup(void); +static inline bool tud_disconnect(void) +{ + TU_VERIFY(dcd_disconnect); + dcd_disconnect(TUD_OPT_RHPORT); + return true; +} + +static inline bool tud_connect(void) +{ + TU_VERIFY(dcd_connect); + dcd_connect(TUD_OPT_RHPORT); + return true; +} + // Carry out Data and Status stage of control transfer // - If len = 0, it is equivalent to sending status only // - If len > wLength : it will be truncated |
