#include "config.h"#include "conf_usb.h"#include "host_mouse_task.h"#include "modules/usb/host_chap9/usb_host_task.h"#include "modules/usb/host_chap9/usb_host_enum.h"#include "lib_mcu/usb/usb_drv.h"
Go to the source code of this file.
Defines | |
| #define | LOG_STR_CODE(str) |
Functions | |
| void | host_mouse_task_init (void) |
| This function initializes the Host USB mouse application. | |
| void | host_mouse_task (void) |
Variables | |
| U8 | mouse_connected = 0 |
| U8 | pipe_mouse_in |
Definition in file host_mouse_task.c.
| #define LOG_STR_CODE | ( | str | ) |
Definition at line 56 of file host_mouse_task.c.
Referenced by host_mem_install(), host_mouse_task(), usb_general_interrupt(), and usb_host_task().
| void host_mouse_task_init | ( | void | ) |
This function initializes the Host USB mouse application.
| none |
Definition at line 76 of file host_mouse_task.c.
References Leds_init.
00077 { 00078 Leds_init(); 00079 }
| void host_mouse_task | ( | void | ) |
This function manages the HOST mouse application
| none |
Definition at line 86 of file host_mouse_task.c.
References FALSE, Get_class, Get_ep_addr, Get_nb_supported_interface, Get_protocol, HID_CLASS, HID_PROTOCOL_MOUSE, Host_ack_in_received, Host_ack_nak_received, Host_continuous_in_mode, host_get_hid_repport_descriptor, host_get_hwd_pipe_nb(), host_hid_set_idle, Host_read_byte, Host_select_pipe, Host_send_in, Host_unfreeze_pipe, i, Is_device_disconnection_event, Is_host_in_received, Is_host_nak_received, Is_host_ready, Is_host_stall, Is_new_device_connection_event, Led0_off, Led0_on, Led1_off, Led1_on, Led2_off, Led2_on, Led3_off, Led3_on, Leds_off, LOG_STR_CODE, mouse_connected, and PIPE_MOUSE_IN.
00087 { 00088 U8 i; 00089 S8 new_x,new_y; 00090 00091 //Test HID device connection 00092 if(Is_host_ready()) 00093 { 00094 if(Is_new_device_connection_event()) //Device connection 00095 { 00096 mouse_connected=0; 00097 for(i=0;i<Get_nb_supported_interface();i++) 00098 { 00099 if(Get_class(i)==HID_CLASS && Get_protocol(i)==HID_PROTOCOL_MOUSE) 00100 { 00101 mouse_connected=1; 00102 host_hid_set_idle(); 00103 host_get_hid_repport_descriptor(); 00104 LOG_STR_CODE(log_mouse_connect); 00105 PIPE_MOUSE_IN=host_get_hwd_pipe_nb(Get_ep_addr(i,0)); 00106 Host_select_pipe(PIPE_MOUSE_IN); 00107 Host_continuous_in_mode(); 00108 Host_unfreeze_pipe(); 00109 break; 00110 } 00111 } 00112 } 00113 if(mouse_connected) 00114 { 00115 Host_select_pipe(PIPE_MOUSE_IN); 00116 if(Is_host_in_received()) 00117 { 00118 if(Is_host_stall()==FALSE) 00119 { 00120 i=Host_read_byte(); 00121 new_x=(S8)Host_read_byte(); 00122 new_y=(S8)Host_read_byte(); 00123 00124 if(new_x==0) 00125 { Led0_off(); Led1_off();} 00126 else if(new_x>0) 00127 {Led0_on(); Led1_off();} 00128 else 00129 { Led0_off(); Led1_on();} 00130 00131 if(new_y==0) 00132 { Led2_off(); Led3_off();} 00133 else if(new_y>0) 00134 { Led2_on(); Led3_off();} 00135 else 00136 { Led2_off(); Led3_on();} 00137 } 00138 Host_ack_in_received(); Host_send_in(); 00139 } 00140 if(Is_host_nak_received()) 00141 { 00142 Host_ack_nak_received(); 00143 Led0_off(); Led1_off(); 00144 Led2_off(); Led3_off(); 00145 } 00146 00147 } 00148 } 00149 //Device disconnection... 00150 if(Is_device_disconnection_event()) 00151 { 00152 Leds_off(); 00153 mouse_connected=0; 00154 } 00155 }
| U8 mouse_connected = 0 |
1.5.3