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