summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-06-29 21:00:33 +0700
committerhathach <[email protected]>2013-06-29 21:00:33 +0700
commita943cce99110eabeaea98a390a41842a15de715f (patch)
tree8b6a99e5f33ba0593f342ffc8cd31ba4756bdde5
parent9e607f6deec487ae3da5f94547753070687ca2e7 (diff)
test refractor
-rw-r--r--demos/device/keyboard/tusb_descriptors.h19
-rw-r--r--tests/lpc175x_6x/test/test_usbd.c48
-rw-r--r--tests/lpc18xx_43xx/project.yml7
-rw-r--r--tests/lpc18xx_43xx/test/device/usbd/test_usbd.c136
-rw-r--r--tests/lpc18xx_43xx/test/host/ehci/test_ehci_usbh_hcd_integration.c1
-rw-r--r--tests/lpc18xx_43xx/test/host/usbh/test_usbh.c2
-rw-r--r--tinyusb/class/cdc.h6
-rw-r--r--tinyusb/core/tusb_types.h23
-rw-r--r--tinyusb/osal/osal.h10
-rw-r--r--tinyusb/tusb_option.h7
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