refractor device mouse main.c & tusbd_hid_mouse_send_report

This commit is contained in:
hathach 2013-06-03 14:37:41 +07:00
parent b527e6ec4a
commit 52f18f3784
3 changed files with 23 additions and 15 deletions

View File

@ -18,6 +18,7 @@ void print_greeting(void);
void led_blinking_task(void * p_para);
void keyboard_device_app_task(void * p_para);
void mouse_device_app_task(void * p_para);
int main(void)
{
@ -40,15 +41,7 @@ int main(void)
#endif
#if TUSB_CFG_DEVICE_HID_MOUSE
if (usb_isConfigured())
{
static uint32_t count =0;
if (count < 8)
{
count++;
tusb_hid_mouse_send(0, 20, 20);
}
}
mouse_device_app_task(NULL);
#endif
}
@ -116,6 +109,24 @@ void keyboard_device_app_task(void * p_para)
}
#endif
#if TUSB_CFG_DEVICE_HID_MOUSE
void mouse_device_app_task(void * p_para)
{
if (usb_isConfigured())
{
static uint32_t count =0;
if (count < 8)
{
count++;
tusbd_hid_mouse_send_report(
&(tusb_mouse_report_t) {
.x = 20,
.y = 20 } );
}
}
}
#endif
//--------------------------------------------------------------------+
// HELPER FUNCTION
//--------------------------------------------------------------------+

View File

@ -200,7 +200,7 @@ tusb_error_t tusbd_hid_keyboard_send_report(tusb_keyboard_report_t *p_kbd_report
#endif
#if TUSB_CFG_DEVICE_HID_MOUSE
tusb_error_t tusb_hid_mouse_send(uint8_t buttons, int8_t x, int8_t y)
tusb_error_t tusbd_hid_mouse_send_report(tusb_mouse_report_t *p_mouse_report)
{
// uint32_t start_time = systickGetSecondsActive();
// while (bMouseChanged) // TODO Block while previous key hasn't been sent - can use fifo to improve this
@ -213,10 +213,7 @@ tusb_error_t tusb_hid_mouse_send(uint8_t buttons, int8_t x, int8_t y)
return TUSB_ERROR_FAILED;
}
hid_mouse_report.buttons = buttons;
hid_mouse_report.x = x;
hid_mouse_report.y = y;
hid_mouse_report = *p_mouse_report;
bMouseChanged = true;
return TUSB_ERROR_NONE;

View File

@ -58,7 +58,7 @@
// KEYBOARD Application API
//--------------------------------------------------------------------+
tusb_error_t tusbd_hid_keyboard_send_report(tusb_keyboard_report_t *p_kbd_report);
tusb_error_t tusbd_hid_mouse_send_report(uint8_t buttons, int8_t x, int8_t y);
tusb_error_t tusbd_hid_mouse_send_report(tusb_mouse_report_t *p_mouse_report);
//--------------------------------------------------------------------+
// USBD-CLASS DRIVER API