|
|
@@ -36,6 +36,7 @@
|
|
|
*/
|
|
|
/**************************************************************************/
|
|
|
|
|
|
+#include <stdlib.h>
|
|
|
#include "unity.h"
|
|
|
#include "tusb_option.h"
|
|
|
#include "errors.h"
|
|
|
@@ -74,22 +75,28 @@ void setUp(void)
|
|
|
memclr_(usbh_devices, sizeof(usbh_device_info_t)*(TUSB_CFG_HOST_DEVICE_MAX+1));
|
|
|
memclr_(xfer_data, sizeof(xfer_data));
|
|
|
|
|
|
- hcd_init();
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_init() );
|
|
|
|
|
|
dev_addr = 1;
|
|
|
|
|
|
hostid = RANDOM(CONTROLLER_HOST_NUMBER) + TEST_CONTROLLER_HOST_START_INDEX;
|
|
|
- for (uint8_t i=0; i<TUSB_CFG_HOST_DEVICE_MAX+1; i++)
|
|
|
- {
|
|
|
- usbh_devices[i].core_id = hostid;
|
|
|
- usbh_devices[i].hub_addr = hub_addr;
|
|
|
- usbh_devices[i].hub_port = hub_port;
|
|
|
- usbh_devices[i].speed = TUSB_SPEED_HIGH;
|
|
|
- }
|
|
|
+
|
|
|
+ usbh_devices[0].core_id = hostid;
|
|
|
+ usbh_devices[0].hub_addr = hub_addr;
|
|
|
+ usbh_devices[0].hub_port = hub_port;
|
|
|
+ usbh_devices[0].speed = TUSB_SPEED_HIGH;
|
|
|
+
|
|
|
+ usbh_devices[dev_addr].core_id = hostid;
|
|
|
+ usbh_devices[dev_addr].hub_addr = hub_addr;
|
|
|
+ usbh_devices[dev_addr].hub_port = hub_port;
|
|
|
+ usbh_devices[dev_addr].speed = TUSB_SPEED_HIGH;
|
|
|
|
|
|
async_head = get_async_head( hostid );
|
|
|
|
|
|
- hcd_pipe_control_open(dev_addr, control_max_packet_size);
|
|
|
+ //------------- pipe open -------------//
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_open(dev_addr, control_max_packet_size) );
|
|
|
|
|
|
p_control_qhd = &ehci_data.device[dev_addr-1].control.qhd;
|
|
|
|
|
|
@@ -147,10 +154,12 @@ void test_control_addr0_xfer_get_check_qhd_qtd_mapping(void)
|
|
|
dev_addr = 0;
|
|
|
ehci_qhd_t * const p_qhd = async_head;
|
|
|
|
|
|
- hcd_pipe_control_open(dev_addr, control_max_packet_size);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_open(dev_addr, control_max_packet_size) );
|
|
|
|
|
|
//------------- Code Under TEST -------------//
|
|
|
- hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
|
|
|
|
|
p_setup = &ehci_data.addr0_qtd[0];
|
|
|
p_data = &ehci_data.addr0_qtd[1];
|
|
|
@@ -162,7 +171,7 @@ void test_control_addr0_xfer_get_check_qhd_qtd_mapping(void)
|
|
|
TEST_ASSERT_EQUAL_HEX( p_status , p_data->next.address );
|
|
|
TEST_ASSERT_TRUE( p_status->next.terminate );
|
|
|
|
|
|
- verify_qtd(p_setup, &request_get_dev_desc, 8);
|
|
|
+ verify_qtd(p_setup, (uint8_t*) &request_get_dev_desc, 8);
|
|
|
}
|
|
|
|
|
|
//--------------------------------------------------------------------+
|
|
|
@@ -171,7 +180,8 @@ void test_control_addr0_xfer_get_check_qhd_qtd_mapping(void)
|
|
|
void test_control_xfer_get(void)
|
|
|
{
|
|
|
//------------- Code Under TEST -------------//
|
|
|
- hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
|
|
|
|
|
TEST_ASSERT_EQUAL_HEX( p_setup, p_control_qhd->qtd_overlay.next.address );
|
|
|
TEST_ASSERT_EQUAL_HEX( p_setup , p_control_qhd->p_qtd_list_head);
|
|
|
@@ -180,7 +190,7 @@ void test_control_xfer_get(void)
|
|
|
TEST_ASSERT_TRUE( p_status->next.terminate );
|
|
|
|
|
|
//------------- SETUP -------------//
|
|
|
- verify_qtd(p_setup, &request_get_dev_desc, 8);
|
|
|
+ verify_qtd(p_setup, (uint8_t*) &request_get_dev_desc, 8);
|
|
|
|
|
|
TEST_ASSERT_FALSE(p_setup->int_on_complete);
|
|
|
TEST_ASSERT_FALSE(p_setup->data_toggle);
|
|
|
@@ -206,7 +216,8 @@ void test_control_xfer_get(void)
|
|
|
void test_control_xfer_set(void)
|
|
|
{
|
|
|
//------------- Code Under TEST -------------//
|
|
|
- hcd_pipe_control_xfer(dev_addr, &request_set_dev_addr, xfer_data);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_xfer(dev_addr, &request_set_dev_addr, xfer_data) );
|
|
|
|
|
|
TEST_ASSERT_EQUAL_HEX( p_setup, p_control_qhd->qtd_overlay.next.address );
|
|
|
TEST_ASSERT_EQUAL_HEX( p_setup , p_control_qhd->p_qtd_list_head);
|
|
|
@@ -226,7 +237,9 @@ void test_control_xfer_set(void)
|
|
|
|
|
|
void test_control_xfer_complete_isr(void)
|
|
|
{
|
|
|
- hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
|
|
+
|
|
|
usbh_isr_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, TUSB_EVENT_XFER_COMPLETE);
|
|
|
|
|
|
//------------- Code Under TEST -------------//
|
|
|
@@ -243,7 +256,9 @@ void test_control_xfer_complete_isr(void)
|
|
|
|
|
|
void test_control_xfer_error_isr(void)
|
|
|
{
|
|
|
- hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data);
|
|
|
+ TEST_ASSERT_EQUAL( TUSB_ERROR_NONE,
|
|
|
+ hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
|
|
+
|
|
|
usbh_isr_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, TUSB_EVENT_XFER_ERROR);
|
|
|
|
|
|
//------------- Code Under TEST -------------//
|