diff options
| author | hathach <[email protected]> | 2013-06-29 21:00:33 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2013-06-29 21:00:33 +0700 |
| commit | a943cce99110eabeaea98a390a41842a15de715f (patch) | |
| tree | 8b6a99e5f33ba0593f342ffc8cd31ba4756bdde5 | |
| parent | 9e607f6deec487ae3da5f94547753070687ca2e7 (diff) | |
test refractor
| -rw-r--r-- | demos/device/keyboard/tusb_descriptors.h | 19 | ||||
| -rw-r--r-- | tests/lpc175x_6x/test/test_usbd.c | 48 | ||||
| -rw-r--r-- | tests/lpc18xx_43xx/project.yml | 7 | ||||
| -rw-r--r-- | tests/lpc18xx_43xx/test/device/usbd/test_usbd.c | 136 | ||||
| -rw-r--r-- | tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c | 1 | ||||
| -rw-r--r-- | tests/lpc18xx_43xx/test/host/usbh/test_usbh.c | 2 | ||||
| -rw-r--r-- | tinyusb/class/cdc.h | 6 | ||||
| -rw-r--r-- | tinyusb/core/tusb_types.h | 23 | ||||
| -rw-r--r-- | tinyusb/osal/osal.h | 10 | ||||
| -rw-r--r-- | tinyusb/tusb_option.h | 7 |
10 files changed, 80 insertions, 179 deletions
diff --git a/demos/device/keyboard/tusb_descriptors.h b/demos/device/keyboard/tusb_descriptors.h index 2cdee40cf..81c629fd7 100644 --- a/demos/device/keyboard/tusb_descriptors.h +++ b/demos/device/keyboard/tusb_descriptors.h @@ -76,25 +76,6 @@ typedef ATTR_PACKED_STRUCT(struct) { tusb_descriptor_configuration_t configuration; -#if IAD_DESC_REQUIRED - tusb_descriptor_interface_association_t CDC_IAD; -#endif - -#if TUSB_CFG_DEVICE_CDC - //CDC - Serial - //CDC Control Interface - tusb_descriptor_interface_t CDC_CCI_Interface; - CDC_HEADER_DESCRIPTOR CDC_Header; - CDC_ABSTRACT_CONTROL_MANAGEMENT_DESCRIPTOR CDC_ACM; - CDC_UNION_1SLAVE_DESCRIPTOR CDC_Union; - tusb_descriptor_endpoint_t CDC_NotificationEndpoint; - - //CDC Data Interface - tusb_descriptor_interface_t CDC_DCI_Interface; - tusb_descriptor_endpoint_t CDC_DataOutEndpoint; - tusb_descriptor_endpoint_t CDC_DataInEndpoint; -#endif - //------------- HID Keyboard -------------// #if TUSB_CFG_DEVICE_HID_KEYBOARD tusb_descriptor_interface_t keyboard_interface; diff --git a/tests/lpc175x_6x/test/test_usbd.c b/tests/lpc175x_6x/test/test_usbd.c index 0e724ef6e..0fe37083a 100644 --- a/tests/lpc175x_6x/test/test_usbd.c +++ b/tests/lpc175x_6x/test/test_usbd.c @@ -103,3 +103,51 @@ void test_usbd_init(void) //------------- Code Under Test -------------// TEST_ASSERT_STATUS( usbd_init() ); } + + +void test_usbd_init_ok(void) +{ + TEST_IGNORE_MESSAGE("pause device stack"); + dcd_init_ExpectAndReturn(TUSB_ERROR_NONE); + + hidd_init_StubWithCallback(stub_hidd_init); + + dcd_controller_connect_Expect(0); + + //------------- Code Under Test -------------// + TEST_ASSERT_EQUAL( TUSB_ERROR_NONE, usbd_init() ); + +} + +void test_usbd_string_descriptor(void) +{ + dcd_init_IgnoreAndReturn(TUSB_ERROR_FAILED); + + //------------- Code Under Test -------------// + TEST_ASSERT_EQUAL( TUSB_ERROR_FAILED, usbd_init() ); + + + //------------- manufacturer string descriptor -------------// + uint32_t const manufacturer_len = sizeof(TUSB_CFG_DEVICE_STRING_MANUFACTURER) - 1; + TEST_ASSERT_EQUAL(manufacturer_len*2 + 2, app_tusb_desc_strings.manufacturer.bLength); + for(uint32_t i=0; i<manufacturer_len; i++) + { + TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_MANUFACTURER[i], app_tusb_desc_strings.manufacturer.unicode_string[i]); + } + + //------------- product string descriptor -------------// + uint32_t const product_len = sizeof(TUSB_CFG_DEVICE_STRING_PRODUCT) - 1; + TEST_ASSERT_EQUAL(product_len*2 + 2, app_tusb_desc_strings.product.bLength); + for(uint32_t i=0; i < product_len; i++) + { + TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_PRODUCT[i], app_tusb_desc_strings.product.unicode_string[i]); + } + + //------------- serial string descriptor -------------// + uint32_t const serial_len = sizeof(TUSB_CFG_DEVICE_STRING_SERIAL) - 1; + TEST_ASSERT_EQUAL(serial_len*2 + 2, app_tusb_desc_strings.serial.bLength); + for(uint32_t i=0; i<serial_len; i++) + { + TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_SERIAL[i], app_tusb_desc_strings.serial.unicode_string[i]); + } +} diff --git a/tests/lpc18xx_43xx/project.yml b/tests/lpc18xx_43xx/project.yml index 5cf2c6104..8340d83e9 100644 --- a/tests/lpc18xx_43xx/project.yml +++ b/tests/lpc18xx_43xx/project.yml @@ -26,6 +26,10 @@ :paths: :test: - +:test/** + + :support: + - ../support + :source: - ../../tinyusb/** - +:../../demos/bsp/lpc43xx/** @@ -33,9 +37,6 @@ - -:../../demos/ - ../../vendor/freertos/freertos/Source/* - ../../vendor/freertos/freertos/Source/portable/MSVC-MingW/* - - :support: - - ../support :defines: # in order to add common defines: diff --git a/tests/lpc18xx_43xx/test/device/usbd/test_usbd.c b/tests/lpc18xx_43xx/test/device/usbd/test_usbd.c deleted file mode 100644 index c241fa5a1..000000000 --- a/tests/lpc18xx_43xx/test/device/usbd/test_usbd.c +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************/ -/*! - @file test_usbd.c - @author hathach (tinyusb.org) - - @section LICENSE - - Software License Agreement (BSD License) - - Copyright (c) 2013, hathach (tinyusb.org) - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This file is part of the tinyusb stack. -*/ -/**************************************************************************/ - -#include <stdlib.h> -#include "unity.h" -#include "errors.h" -#include "type_helper.h" - -#include "tusb_descriptors.h" - -#include "usbd.h" -#include "mock_dcd.h" -#include "mock_hid_device.h" - -void setUp(void) -{ - -} - -void tearDown(void) -{ -} - -void test_dcd_init_failed(void) -{ - dcd_init_ExpectAndReturn(TUSB_ERROR_FAILED); - - //------------- Code Under Test -------------// - TEST_ASSERT_EQUAL( TUSB_ERROR_FAILED, usbd_init() ); -} - -tusb_error_t stub_hidd_init(tusb_descriptor_interface_t const* p_interface_desc, uint16_t* p_length, int num_call) -{ - printf("hidd_init num_call = %d\n", num_call); - switch(num_call) - { - case 0: - TEST_ASSERT_EQUAL_HEX32(&app_tusb_desc_configuration.keyboard_interface, p_interface_desc); - break; - - case 1: - TEST_ASSERT_EQUAL_HEX32(&app_tusb_desc_configuration.mouse_interface, p_interface_desc); - break; - - case 2: - break; - - default: - return TUSB_ERROR_HIDD_DESCRIPTOR_INTERFACE; - } - - return TUSB_ERROR_NONE; -} - -void test_usbd_init_ok(void) -{ - TEST_IGNORE_MESSAGE("pause device stack"); - dcd_init_ExpectAndReturn(TUSB_ERROR_NONE); - - hidd_init_StubWithCallback(stub_hidd_init); - - dcd_controller_connect_Expect(0); - - //------------- Code Under Test -------------// - TEST_ASSERT_EQUAL( TUSB_ERROR_NONE, usbd_init() ); - -} - -void test_usbd_string_descriptor(void) -{ - dcd_init_IgnoreAndReturn(TUSB_ERROR_FAILED); - - //------------- Code Under Test -------------// - TEST_ASSERT_EQUAL( TUSB_ERROR_FAILED, usbd_init() ); - - - //------------- manufacturer string descriptor -------------// - uint32_t const manufacturer_len = sizeof(TUSB_CFG_DEVICE_STRING_MANUFACTURER) - 1; - TEST_ASSERT_EQUAL(manufacturer_len*2 + 2, app_tusb_desc_strings.manufacturer.bLength); - for(uint32_t i=0; i<manufacturer_len; i++) - { - TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_MANUFACTURER[i], app_tusb_desc_strings.manufacturer.unicode_string[i]); - } - - //------------- product string descriptor -------------// - uint32_t const product_len = sizeof(TUSB_CFG_DEVICE_STRING_PRODUCT) - 1; - TEST_ASSERT_EQUAL(product_len*2 + 2, app_tusb_desc_strings.product.bLength); - for(uint32_t i=0; i < product_len; i++) - { - TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_PRODUCT[i], app_tusb_desc_strings.product.unicode_string[i]); - } - - //------------- serial string descriptor -------------// - uint32_t const serial_len = sizeof(TUSB_CFG_DEVICE_STRING_SERIAL) - 1; - TEST_ASSERT_EQUAL(serial_len*2 + 2, app_tusb_desc_strings.serial.bLength); - for(uint32_t i=0; i<serial_len; i++) - { - TEST_ASSERT_EQUAL(TUSB_CFG_DEVICE_STRING_SERIAL[i], app_tusb_desc_strings.serial.unicode_string[i]); - } -} - diff --git a/tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c b/tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c index cf5669487..8490feb54 100644 --- a/tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c +++ b/tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c @@ -46,6 +46,7 @@ #include "hal.h" #include "mock_osal.h" #include "mock_hid_host.h" +#include "mock_cdc_host.h" #include "hcd.h" #include "usbh_hcd.h" diff --git a/tests/lpc18xx_43xx/test/host/usbh/test_usbh.c b/tests/lpc18xx_43xx/test/host/usbh/test_usbh.c index 30f4a4dfc..90f7d1824 100644 --- a/tests/lpc18xx_43xx/test/host/usbh/test_usbh.c +++ b/tests/lpc18xx_43xx/test/host/usbh/test_usbh.c @@ -45,10 +45,10 @@ #include "usbh.h" #include "usbh_hcd.h" #include "mock_hcd.h" -#include "usbh_hcd.h" #include "mock_tusb_callback.h" #include "mock_hid_host.h" +#include "mock_cdc_host.h" #include "host_helper.h" uint8_t dev_addr; diff --git a/tinyusb/class/cdc.h b/tinyusb/class/cdc.h index cd1341e25..0835dfbd9 100644 --- a/tinyusb/class/cdc.h +++ b/tinyusb/class/cdc.h @@ -77,7 +77,7 @@ enum { }; enum { - CDC_COMM_PROTOCOL_ATCOMMAND_ITU_V250 = 0x01 , // ITU-T V2.50 + CDC_COMM_PROTOCOL_ATCOMMAND = 0x01 , // ITU-T V2.50 CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101 , CDC_COMM_PROTOCOL_ATCOMMAND_PCCA_101_AND_ANNEXO , CDC_COMM_PROTOCOL_ATCOMMAND_GSM_707 , @@ -217,8 +217,8 @@ typedef ATTR_PACKED_STRUCT(struct) { uint8_t bLength ; ///< Size of this descriptor in bytes. uint8_t bDescriptorType ; ///< Descriptor Type, must be Class-Specific uint8_t bDescriptorSubType ; ///< Descriptor SubType one of above CDC_FUCN_DESC_ - uint8_t bControlInterface ; ///< Interface number of Data Interface (zero-based) - uint8_t bSubordinateInterface[0] ; ///< Variable length array + uint8_t bControlInterface ; ///< Interface number of Communication Interface + uint8_t bSubordinateInterface[0] ; ///< Interface number of Data Interface }tusb_cdc_func_union_t; typedef ATTR_PACKED_STRUCT(struct) { diff --git a/tinyusb/core/tusb_types.h b/tinyusb/core/tusb_types.h index ceabb6484..1197edfec 100644 --- a/tinyusb/core/tusb_types.h +++ b/tinyusb/core/tusb_types.h @@ -79,17 +79,18 @@ typedef enum { /// USB Descriptor Types (section 9.4 table 9-5) typedef enum { - TUSB_DESC_TYPE_DEVICE =1 , ///< 1 - TUSB_DESC_TYPE_CONFIGURATION , ///< 2 - TUSB_DESC_TYPE_STRING , ///< 3 - TUSB_DESC_TYPE_INTERFACE , ///< 4 - TUSB_DESC_TYPE_ENDPOINT , ///< 5 - TUSB_DESC_TYPE_DEVICE_QUALIFIER , ///< 6 - TUSB_DESC_TYPE_OTHER_SPEED_CONFIGURATION , ///< 7 - TUSB_DESC_TYPE_INTERFACE_POWER , ///< 8 - TUSB_DESC_TYPE_OTG , ///< 9 - TUSB_DESC_TYPE_DEBUG , ///< 10 - TUSB_DESC_TYPE_INTERFACE_ASSOCIATION ///< 11 + TUSB_DESC_TYPE_DEVICE = 0x01 , + TUSB_DESC_TYPE_CONFIGURATION = 0x02 , + TUSB_DESC_TYPE_STRING = 0x03 , + TUSB_DESC_TYPE_INTERFACE = 0x04 , + TUSB_DESC_TYPE_ENDPOINT = 0x05 , + TUSB_DESC_TYPE_DEVICE_QUALIFIER = 0x06 , + TUSB_DESC_TYPE_OTHER_SPEED_CONFIGURATION = 0x07 , + TUSB_DESC_TYPE_INTERFACE_POWER = 0x08 , + TUSB_DESC_TYPE_OTG = 0x09 , + TUSB_DESC_TYPE_DEBUG = 0x0A , + TUSB_DESC_TYPE_INTERFACE_ASSOCIATION = 0x0B , + TUSB_DESC_TYPE_INTERFACE_CLASS_SPECIFIC = 0x24 }tusb_std_descriptor_type_t; typedef enum { diff --git a/tinyusb/osal/osal.h b/tinyusb/osal/osal.h index 01609cae2..7f61731bb 100644 --- a/tinyusb/osal/osal.h +++ b/tinyusb/osal/osal.h @@ -160,11 +160,11 @@ void osal_mutex_reset(osal_mutex_handle_t mutex_hdl); // QUEUE API //--------------------------------------------------------------------+ typedef struct{ - uint32_t * const buffer ; ///< buffer pointer - uint8_t const depth ; ///< buffer size - volatile uint8_t count ; ///< bytes in fifo - volatile uint8_t wr_idx ; ///< write pointer - volatile uint8_t rd_idx ; ///< read pointer + uint32_t * const buffer ; ///< buffer pointer + uint8_t const depth ; ///< buffer size + volatile uint8_t count ; ///< bytes in fifo + volatile uint8_t wr_idx ; ///< write pointer + volatile uint8_t rd_idx ; ///< read pointer } osal_queue_t; typedef osal_queue_t * osal_queue_handle_t; diff --git a/tinyusb/tusb_option.h b/tinyusb/tusb_option.h index 025d3a0af..ba1ebf1e1 100644 --- a/tinyusb/tusb_option.h +++ b/tinyusb/tusb_option.h @@ -68,7 +68,12 @@ /// define this symbol will make tinyusb look for external configure file #include "mcu_capacity.h" -#include "tusb_config.h" + +#ifdef TUSB_CFG_CONFIG_FILE + #include TUSB_CFG_CONFIG_FILE +#else + #include "tusb_config.h" +#endif //--------------------------------------------------------------------+ // CONTROLLER |
