diff options
| author | hathach <[email protected]> | 2013-07-03 12:46:12 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2013-07-03 12:46:12 +0700 |
| commit | 4a8686e86891b839f3e8483c8968aeba47463096 (patch) | |
| tree | 1caab4935e18b014a9091efe22cc950ad7e606e0 /tinyusb | |
| parent | b0f45b3651432c4d4c3072b2a900efbbbf6944a3 (diff) | |
adding _mounted_isr & _umounted_isr callback for host keyboard & mouse
remove TUSB_EVENT_INTERFACE_OPEN & TUSB_EVENT_INTERFACE_CLOSE
Diffstat (limited to 'tinyusb')
| -rw-r--r-- | tinyusb/class/hid_host.c | 16 | ||||
| -rw-r--r-- | tinyusb/class/hid_host.h | 4 | ||||
| -rw-r--r-- | tinyusb/core/tusb_types.h | 3 |
3 files changed, 16 insertions, 7 deletions
diff --git a/tinyusb/class/hid_host.c b/tinyusb/class/hid_host.c index 13949c0d4..4b5a31f0c 100644 --- a/tinyusb/class/hid_host.c +++ b/tinyusb/class/hid_host.c @@ -257,9 +257,9 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con if ( HID_PROTOCOL_KEYBOARD == p_interface_desc->bInterfaceProtocol) { SUBTASK_ASSERT_STATUS ( hidh_interface_open(dev_addr, p_interface_desc->bInterfaceNumber, p_endpoint_desc, &keyboard_data[dev_addr-1]) ); - if ( tusbh_hid_keyboard_isr ) + if ( tusbh_hid_keyboard_mounted_isr ) { - tusbh_hid_keyboard_isr(dev_addr, TUSB_EVENT_INTERFACE_OPEN); + tusbh_hid_keyboard_mounted_isr(dev_addr); } } else #endif @@ -268,9 +268,9 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con if ( HID_PROTOCOL_MOUSE == p_interface_desc->bInterfaceProtocol) { SUBTASK_ASSERT_STATUS ( hidh_interface_open(dev_addr, p_interface_desc->bInterfaceNumber, p_endpoint_desc, &mouse_data[dev_addr-1]) ); - if (tusbh_hid_mouse_isr) + if (tusbh_hid_mouse_mounted_isr) { - tusbh_hid_mouse_isr(dev_addr, TUSB_EVENT_INTERFACE_OPEN); + tusbh_hid_mouse_mounted_isr(dev_addr); } } else #endif @@ -324,10 +324,18 @@ void hidh_close(uint8_t dev_addr) { #if TUSB_CFG_HOST_HID_KEYBOARD hidh_interface_close(dev_addr, &keyboard_data[dev_addr-1]); + if (tusbh_hid_keyboard_unmounted_isr) + { + tusbh_hid_keyboard_unmounted_isr(dev_addr); + } #endif #if TUSB_CFG_HOST_HID_MOUSE hidh_interface_close(dev_addr, &mouse_data[dev_addr-1]); + if( tusbh_hid_mouse_unmounted_isr ) + { + tusbh_hid_mouse_unmounted_isr( dev_addr ); + } #endif #if TUSB_CFG_HOST_HID_GENERIC diff --git a/tinyusb/class/hid_host.h b/tinyusb/class/hid_host.h index 510cbc950..7d5876990 100644 --- a/tinyusb/class/hid_host.h +++ b/tinyusb/class/hid_host.h @@ -64,6 +64,8 @@ tusb_error_t tusbh_hid_keyboard_get_report(uint8_t dev_addr, void * report) ATT tusb_interface_status_t tusbh_hid_keyboard_status(uint8_t dev_addr) ATTR_WARN_UNUSED_RESULT; //------------- Application Callback -------------// void tusbh_hid_keyboard_isr(uint8_t dev_addr, tusb_event_t event) ATTR_WEAK; +void tusbh_hid_keyboard_mounted_isr(uint8_t dev_addr) ATTR_WEAK; +void tusbh_hid_keyboard_unmounted_isr(uint8_t dev_addr) ATTR_WEAK; //--------------------------------------------------------------------+ // MOUSE Application API @@ -73,6 +75,8 @@ tusb_error_t tusbh_hid_mouse_get_report(uint8_t dev_addr, void* report) ATTR_WA tusb_interface_status_t tusbh_hid_mouse_status(uint8_t dev_addr) ATTR_WARN_UNUSED_RESULT; //------------- Application Callback -------------// void tusbh_hid_mouse_isr(uint8_t dev_addr, tusb_event_t event) ATTR_WEAK; +void tusbh_hid_mouse_mounted_isr(uint8_t dev_addr) ATTR_WEAK; +void tusbh_hid_mouse_unmounted_isr(uint8_t dev_addr) ATTR_WEAK; //--------------------------------------------------------------------+ // GENERIC Application API diff --git a/tinyusb/core/tusb_types.h b/tinyusb/core/tusb_types.h index 34a110523..4d4d976e1 100644 --- a/tinyusb/core/tusb_types.h +++ b/tinyusb/core/tusb_types.h @@ -200,9 +200,6 @@ typedef enum { TUSB_EVENT_XFER_ERROR, TUSB_EVENT_XFER_STALLED, - TUSB_EVENT_INTERFACE_OPEN, - TUSB_EVENT_INTERFACE_CLOSE, - TUSB_EVENT_BUS_RESET, // TODO refractor TUSB_EVENT_SETUP_RECEIVED, }tusb_event_t; |
