summaryrefslogtreecommitdiff
path: root/src/host/usbh.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-05-02 01:46:22 +0700
committerhathach <[email protected]>2021-05-18 12:58:24 +0700
commit2666e1efec20d78f8f74c23cdbb7977737b8d956 (patch)
tree6ab8a02da835daf4065260513992c9ac342fa64a /src/host/usbh.c
parent68fa17e17ca900ec2800c55c9345a2a0fed3fca9 (diff)
add tuh_inited() and tud_inited()
Diffstat (limited to 'src/host/usbh.c')
-rw-r--r--src/host/usbh.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/host/usbh.c b/src/host/usbh.c
index 86da97bb8..411945fdb 100644
--- a/src/host/usbh.c
+++ b/src/host/usbh.c
@@ -121,6 +121,8 @@ enum { CONFIG_NUM = 1 }; // default to use configuration 1
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
+static bool _initialized = false;
+
// including zero-address
CFG_TUSB_MEM_SECTION usbh_device_t _usbh_devices[CFG_TUSB_HOST_DEVICE_MAX+1];
@@ -170,8 +172,19 @@ void osal_task_delay(uint32_t msec)
//--------------------------------------------------------------------+
// CLASS-USBD API (don't require to verify parameters)
//--------------------------------------------------------------------+
+
+bool tuh_inited(void)
+{
+ return _initialized;
+}
+
bool tuh_init(void)
{
+ // skip if already initialized
+ if (_initialized) return _initialized;
+
+ TU_LOG2("USBH init\r\n");
+
tu_memclr(_usbh_devices, sizeof(usbh_device_t)*(CFG_TUSB_HOST_DEVICE_MAX+1));
//------------- Enumeration & Reporter Task init -------------//
@@ -202,6 +215,7 @@ bool tuh_init(void)
TU_ASSERT(hcd_init(TUH_OPT_RHPORT));
hcd_int_enable(TUH_OPT_RHPORT);
+ _initialized = true;
return true;
}