summaryrefslogtreecommitdiff
path: root/tinyusb/common
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-03-17 02:17:40 +0700
committerhathach <[email protected]>2018-03-17 02:17:40 +0700
commit7a628f4dfca4a6cf3b086439bca6ca0361b92b39 (patch)
treea3f15eff18ce72b100131a89a0dfaa430c6b217e /tinyusb/common
parent87a2c935df1d52d6d90f8cd14676d75f487e408b (diff)
adding bulk/int support
still does not work though
Diffstat (limited to 'tinyusb/common')
-rw-r--r--tinyusb/common/tusb_types.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/tinyusb/common/tusb_types.h b/tinyusb/common/tusb_types.h
index c8dd849e0..2e3cf513d 100644
--- a/tinyusb/common/tusb_types.h
+++ b/tinyusb/common/tusb_types.h
@@ -213,6 +213,22 @@ static inline uint8_t std_class_code_to_index(uint8_t std_class_code)
(std_class_code == TUSB_CLASS_VENDOR_SPECIFIC ) ? TUSB_CLASS_MAPPED_INDEX_START + 4 : 0;
}
+// Get direction from Endpoint address
+static inline tusb_dir_t edpt_dir(uint8_t addr)
+{
+ return (addr & TUSB_DIR_IN_MASK) ? TUSB_DIR_IN : TUSB_DIR_OUT;
+}
+
+// Get Endpoint number from address
+static inline uint8_t edpt_number(uint8_t addr)
+{
+ return addr & (~TUSB_DIR_IN_MASK);
+}
+
+static inline uint8_t edpt_addr(uint8_t num, tusb_dir_t dir)
+{
+ return num | (dir == TUSB_DIR_IN ? TUSB_DIR_IN_MASK : 0);
+}
#ifdef __cplusplus
}