summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2014-03-06 23:48:44 +0700
committerhathach <[email protected]>2014-03-06 23:48:44 +0700
commit26b1b879dde0312c22236885eb70b43fb8f3352e (patch)
tree6bcef1a9937bca24eb47e1d201791d6c43fb10d7
parent4b8c0d97c6e7694dbab39d155e1ebda0db11b5ff (diff)
refractor device mouse app to use board_buttons
-rw-r--r--demos/device/src/keyboardd_app.c6
-rw-r--r--demos/device/src/moused_app.c26
-rw-r--r--demos/device/src/tusb_config.h4
3 files changed, 19 insertions, 17 deletions
diff --git a/demos/device/src/keyboardd_app.c b/demos/device/src/keyboardd_app.c
index 9c00972a4..5940b4c0d 100644
--- a/demos/device/src/keyboardd_app.c
+++ b/demos/device/src/keyboardd_app.c
@@ -54,14 +54,12 @@ OSAL_TASK_DEF(keyboardd_app_task, 128, KEYBOARDD_APP_TASK_PRIO);
ATTR_USB_MIN_ALIGNMENT hid_keyboard_report_t keyboard_report TUSB_CFG_ATTR_USBRAM;
-static uint8_t keyboardd_report_count; // number of reports sent each mounted
-
//--------------------------------------------------------------------+
// tinyusb Callbacks
//--------------------------------------------------------------------+
void tusbd_hid_keyboard_mounted_cb(uint8_t coreid)
{
- keyboardd_report_count = 0;
+
}
void tusbd_hid_keyboard_unmounted_cb(uint8_t coreid)
@@ -135,7 +133,7 @@ OSAL_TASK_FUNCTION( keyboardd_app_task ) (void* p_task_para)
uint32_t new_button_mask = board_buttons();
- //------------- Key pressed -------------//
+ //------------- button pressed -------------//
if ( (button_mask != new_button_mask) && !tusbd_hid_keyboard_is_busy(0) )
{
button_mask = new_button_mask;
diff --git a/demos/device/src/moused_app.c b/demos/device/src/moused_app.c
index dd6600131..dfce5a43c 100644
--- a/demos/device/src/moused_app.c
+++ b/demos/device/src/moused_app.c
@@ -54,14 +54,12 @@ OSAL_TASK_DEF(moused_app_task, 128, MOUSED_APP_TASK_PRIO);
ATTR_USB_MIN_ALIGNMENT hid_mouse_report_t mouse_report TUSB_CFG_ATTR_USBRAM;
-static uint8_t moused_report_count; // number of reports sent each mounted
-
//--------------------------------------------------------------------+
// tinyusb Callbacks
//--------------------------------------------------------------------+
void tusbd_hid_mouse_mounted_cb(uint8_t coreid)
{
- moused_report_count = 0;
+
}
void tusbd_hid_mouse_unmounted_cb(uint8_t coreid)
@@ -90,8 +88,7 @@ uint16_t tusbd_hid_mouse_get_report_cb(uint8_t coreid, hid_request_report_type_t
void tusbd_hid_mouse_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t report_data[], uint16_t length)
{
- // mouse demo does not support set report --> return 0 will result in rejecting (STALL) this request
- return 0;
+ // mouse demo does not support set report --> do nothing
}
//--------------------------------------------------------------------+
// APPLICATION CODE
@@ -105,18 +102,25 @@ OSAL_TASK_FUNCTION( moused_app_task ) (void* p_task_para)
{
OSAL_TASK_LOOP_BEGIN
- // only send 5 reports
- if (tusbd_is_configured(0) && (moused_report_count++ < 5) )
+ osal_task_delay(100);
+
+ if ( tusbd_is_configured(0) )
{
- if ( !tusbd_hid_mouse_is_busy(0) )
+ static uint32_t button_mask = 0;
+
+ uint32_t new_button_mask = board_buttons();
+
+ //------------- button pressed -------------//
+ if ( (button_mask != new_button_mask) && !tusbd_hid_mouse_is_busy(0) )
{
- mouse_report.x = mouse_report.y = 20;
+ button_mask = new_button_mask;
+
+ mouse_report.x = mouse_report.y = BIT_TEST_(button_mask, 0) ? 10 : 0;
+
tusbd_hid_mouse_send(0, &mouse_report );
}
}
- osal_task_delay(1000);
-
OSAL_TASK_LOOP_END
}
diff --git a/demos/device/src/tusb_config.h b/demos/device/src/tusb_config.h
index bfc225351..c0a26ffd3 100644
--- a/demos/device/src/tusb_config.h
+++ b/demos/device/src/tusb_config.h
@@ -82,8 +82,8 @@
#define TUSB_CFG_DEVICE_FULLSPEED 1 // TODO refractor, remove
//------------- CLASS -------------//
-#define TUSB_CFG_DEVICE_HID_KEYBOARD 1
-#define TUSB_CFG_DEVICE_HID_MOUSE 0
+#define TUSB_CFG_DEVICE_HID_KEYBOARD 0
+#define TUSB_CFG_DEVICE_HID_MOUSE 1
#define TUSB_CFG_DEVICE_HID_GENERIC 0
#define TUSB_CFG_DEVICE_MSC 0
#define TUSB_CFG_DEVICE_CDC 0