diff options
| author | hathach <[email protected]> | 2013-07-02 15:32:41 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2013-07-02 15:32:41 +0700 |
| commit | 7e5c6ded2d8e81912623ac866ba0a3a9f4142abc (patch) | |
| tree | 5b4273bd9b00b916f81c019794f213ce6d24c62a /tinyusb | |
| parent | b04b145965ca9c587ba17c614da694cdf1d8c3a0 (diff) | |
add tusbh_cdc_serial_is_mounted API
test for cdch close driver
Diffstat (limited to 'tinyusb')
| -rw-r--r-- | tinyusb/class/cdc_host.c | 12 | ||||
| -rw-r--r-- | tinyusb/class/cdc_host.h | 4 | ||||
| -rw-r--r-- | tinyusb/host/ehci/ehci.c | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/tinyusb/class/cdc_host.c b/tinyusb/class/cdc_host.c index 9a3cb6ef8..ce1f67e20 100644 --- a/tinyusb/class/cdc_host.c +++ b/tinyusb/class/cdc_host.c @@ -58,6 +58,18 @@ /*STATIC_*/ cdch_data_t cdch_data[TUSB_CFG_HOST_DEVICE_MAX]; //--------------------------------------------------------------------+ +// APPLICATION API (parameter validation needed) +//--------------------------------------------------------------------+ +bool tusbh_cdc_serial_is_mounted(uint8_t dev_addr) +{ + // TODO consider all AT Command as serial candidate + return + (tusbh_device_get_mounted_class_flag(dev_addr) & BIT_(TUSB_CLASS_CDC) ) && + (CDC_COMM_PROTOCOL_ATCOMMAND <= cdch_data[dev_addr-1].interface_protocol) && + (cdch_data[dev_addr-1].interface_protocol <= CDC_COMM_PROTOCOL_ATCOMMAND_CDMA); +} + +//--------------------------------------------------------------------+ // USBH-CLASS DRIVER API //--------------------------------------------------------------------+ void cdch_init(void) diff --git a/tinyusb/class/cdc_host.h b/tinyusb/class/cdc_host.h index 5eee3670b..2b39a6fd7 100644 --- a/tinyusb/class/cdc_host.h +++ b/tinyusb/class/cdc_host.h @@ -57,11 +57,11 @@ //--------------------------------------------------------------------+ // APPLICATION PUBLIC API //--------------------------------------------------------------------+ -bool tusbh_cdc_acm_is_mounted(uint8_t dev_addr) ATTR_PURE ATTR_WARN_UNUSED_RESULT; +//bool tusbh_cdc_acm_is_mounted(uint8_t dev_addr) ATTR_PURE ATTR_WARN_UNUSED_RESULT; bool tusbh_cdc_serial_is_mounted(uint8_t dev_addr) ATTR_PURE ATTR_WARN_UNUSED_RESULT; bool tusbh_cdc_rndis_is_mounted(uint8_t dev_addr) ATTR_PURE ATTR_WARN_UNUSED_RESULT; -tusb_interface_status_t tusbh_cdc_send(void const * p_data, uint32_t length); +tusb_interface_status_t tusbh_cdc_send(void const * p_data, uint32_t length, bool is_notify); //--------------------------------------------------------------------+ // USBH-CLASS API diff --git a/tinyusb/host/ehci/ehci.c b/tinyusb/host/ehci/ehci.c index 97aaae680..3e75c265a 100644 --- a/tinyusb/host/ehci/ehci.c +++ b/tinyusb/host/ehci/ehci.c @@ -964,7 +964,7 @@ static ehci_link_t* list_find_previous_item(ehci_link_t* p_head, ehci_link_t* p_ uint32_t max_loop = 0; while( (align32(p_prev->address) != (uint32_t) p_head) && // not loop around (align32(p_prev->address) != (uint32_t) p_current) && // not found yet - !p_prev->terminate && // not advancable + !p_prev->terminate && // not advanceable max_loop < EHCI_MAX_QHD) { p_prev = list_next(p_prev); |
