Преглед изворни кода

add test & code for TUSB_EVENT_INTERFACE_OPEN for tusbh_hid_keyboard_isr tusbh_hid_mouse_isr

hathach пре 13 година
родитељ
комит
e6a44b3fe9

+ 1 - 0
tests/test/host/hid/test_hidh_keyboard.c

@@ -125,6 +125,7 @@ void test_keyboard_open_ok(void)
   hidh_init();
   hidh_init();
 
 
   hcd_pipe_open_ExpectAndReturn(dev_addr, p_kdb_endpoint_desc, TUSB_CLASS_HID, pipe_hdl);
   hcd_pipe_open_ExpectAndReturn(dev_addr, p_kdb_endpoint_desc, TUSB_CLASS_HID, pipe_hdl);
+  tusbh_hid_keyboard_isr_Expect(dev_addr, 0, TUSB_EVENT_INTERFACE_OPEN);
 
 
   //------------- Code Under TEST -------------//
   //------------- Code Under TEST -------------//
   TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_kbd_interface_desc, &length));
   TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_kbd_interface_desc, &length));

+ 14 - 1
tests/test/host/hid/test_hidh_mouse.c

@@ -113,6 +113,7 @@ void test_mouse_open_ok(void)
   hidh_init();
   hidh_init();
 
 
   hcd_pipe_open_ExpectAndReturn(dev_addr, p_mouse_endpoint_desc, TUSB_CLASS_HID, pipe_hdl);
   hcd_pipe_open_ExpectAndReturn(dev_addr, p_mouse_endpoint_desc, TUSB_CLASS_HID, pipe_hdl);
+  tusbh_hid_mouse_isr_Expect(dev_addr, 0, TUSB_EVENT_INTERFACE_OPEN);
 
 
   //------------- Code Under TEST -------------//
   //------------- Code Under TEST -------------//
   TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_mouse_interface_desc, &length));
   TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_mouse_interface_desc, &length));
@@ -180,7 +181,7 @@ void test_mouse_get_ok()
   TEST_ASSERT_EQUAL(TUSB_INTERFACE_STATUS_BUSY, tusbh_hid_mouse_status(dev_addr, 0));
   TEST_ASSERT_EQUAL(TUSB_INTERFACE_STATUS_BUSY, tusbh_hid_mouse_status(dev_addr, 0));
 }
 }
 
 
-void test_mouse_isr_event_complete(void)
+void test_mouse_isr_event_xfer_complete(void)
 {
 {
   tusbh_hid_mouse_isr_Expect(dev_addr, 0, TUSB_EVENT_XFER_COMPLETE);
   tusbh_hid_mouse_isr_Expect(dev_addr, 0, TUSB_EVENT_XFER_COMPLETE);
 
 
@@ -191,4 +192,16 @@ void test_mouse_isr_event_complete(void)
   TEST_ASSERT_EQUAL(TUSB_INTERFACE_STATUS_COMPLETE, tusbh_hid_mouse_status(dev_addr, 0));
   TEST_ASSERT_EQUAL(TUSB_INTERFACE_STATUS_COMPLETE, tusbh_hid_mouse_status(dev_addr, 0));
 }
 }
 
 
+void test_mouse_isr_event_xfer_error(void)
+{
+  tusbh_hid_mouse_isr_Expect(dev_addr, 0, TUSB_EVENT_XFER_ERROR);
+
+  //------------- Code Under TEST -------------//
+  hidh_isr(p_hidh_mouse->pipe_hdl, TUSB_EVENT_XFER_ERROR);
+
+  tusbh_device_get_state_IgnoreAndReturn(TUSB_DEVICE_STATE_CONFIGURED);
+  TEST_ASSERT_EQUAL(TUSB_INTERFACE_STATUS_ERROR, tusbh_hid_mouse_status(dev_addr, 0));
+}
+
+
 
 

+ 25 - 24
tests/test/host/integration/test_hidh_keyboard.c → tests/test/host/integration/test_hidh_keyboard_integrate.c

@@ -35,33 +35,34 @@
  * This file is part of the tiny usb stack.
  * This file is part of the tiny usb stack.
  */
  */
 
 
-#include "stdlib.h"
-#include "unity.h"
-#include "type_helper.h"
-#include "tusb_option.h"
-#include "errors.h"
-
-#include "mock_osal.h"
-#include "hcd.h"
-#include "usbh.h"
-#include "tusb.h"
-#include "hid_host.h"
-
-#include "descriptor_test.h"
-
-uint8_t dev_addr;
-uint8_t hostid;
-
+//#include "stdlib.h"
+//#include "unity.h"
+//#include "type_helper.h"
+//#include "tusb_option.h"
+//#include "errors.h"
+//
+//#include "mock_osal.h"
+//#include "hcd.h"
+//#include "usbh.h"
+//#include "tusb.h"
+//#include "hid_host.h"
+////#include "ehci_controller.h"
+//
+//#include "descriptor_test.h"
+//
+//uint8_t dev_addr;
+//uint8_t hostid;
+//
 void setUp(void)
 void setUp(void)
 {
 {
-  dev_addr = RANDOM(TUSB_CFG_HOST_DEVICE_MAX)+1;
-  hostid = RANDOM(CONTROLLER_HOST_NUMBER) + TEST_CONTROLLER_HOST_START_INDEX;
-
-  ehci_controller_init();
-  tusb_init();
-
+//  dev_addr = RANDOM(TUSB_CFG_HOST_DEVICE_MAX)+1;
+//  hostid = RANDOM(CONTROLLER_HOST_NUMBER) + TEST_CONTROLLER_HOST_START_INDEX;
+//
+////  ehci_controller_init();
+//  tusb_init();
+//
 }
 }
-
+//
 void tearDown(void)
 void tearDown(void)
 {
 {
 }
 }

+ 8 - 0
tinyusb/class/hid_host.c

@@ -199,12 +199,20 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
       #if TUSB_CFG_HOST_HID_KEYBOARD
       #if TUSB_CFG_HOST_HID_KEYBOARD
       case HID_PROTOCOL_KEYBOARD:
       case HID_PROTOCOL_KEYBOARD:
         ASSERT_STATUS ( hidh_interface_open(dev_addr, (tusb_descriptor_endpoint_t const *) p_desc, &keyboard_data[dev_addr-1]) );
         ASSERT_STATUS ( hidh_interface_open(dev_addr, (tusb_descriptor_endpoint_t const *) p_desc, &keyboard_data[dev_addr-1]) );
+        if ( tusbh_hid_keyboard_isr )
+        {
+          tusbh_hid_keyboard_isr(dev_addr, 0, TUSB_EVENT_INTERFACE_OPEN);
+        }
       break;
       break;
       #endif
       #endif
 
 
       #if TUSB_CFG_HOST_HID_MOUSE
       #if TUSB_CFG_HOST_HID_MOUSE
       case HID_PROTOCOL_MOUSE:
       case HID_PROTOCOL_MOUSE:
         ASSERT_STATUS ( hidh_interface_open(dev_addr, (tusb_descriptor_endpoint_t const *) p_desc, &mouse_data[dev_addr-1]) );
         ASSERT_STATUS ( hidh_interface_open(dev_addr, (tusb_descriptor_endpoint_t const *) p_desc, &mouse_data[dev_addr-1]) );
+        if (tusbh_hid_mouse_isr)
+        {
+          tusbh_hid_mouse_isr(dev_addr, 0, TUSB_EVENT_INTERFACE_OPEN);
+        }
       break;
       break;
       #endif
       #endif