00001
00002
00048 #ifndef _USB_TASK_H_
00049 #define _USB_TASK_H_
00050
00051
00052
00053 #define EVT_USB_POWERED 1
00054 #define EVT_USB_UNPOWERED 2
00055 #define EVT_USB_DEVICE_FUNCTION 3
00056 #define EVT_USB_HOST_FUNCTION 4
00057 #define EVT_USB_SUSPEND 5
00058 #define EVT_USB_WAKE_UP 6
00059 #define EVT_USB_RESUME 7
00060 #define EVT_USB_RESET 8
00061 #define EVT_HOST_SOF 9
00062 #define EVT_HOST_HWUP 10
00063 #define EVT_HOST_DISCONNECTION 11
00064
00065 #define USB_MODE_UNDEFINED 0x00
00066 #define USB_MODE_HOST 0x01
00067 #define USB_MODE_DEVICE 0x02
00068
00069
00070
00071 #define Usb_send_event(x) (g_usb_event |= (1<<x))
00072 #define Usb_ack_event(x) (g_usb_event &= ~(1<<x))
00073 #define Usb_clear_all_event() (g_usb_event = 0)
00074 #define Is_usb_event(x) ((g_usb_event & (1<<x)) ? true : false)
00075 #define Is_not_usb_event(x) ((g_usb_event & (1<<x)) ? false: true)
00076 #define Is_host_emergency_exit() (Is_usb_event(EVT_HOST_DISCONNECTION) || Is_usb_event(EVT_USB_DEVICE_FUNCTION))
00077
00078
00079
00080
00081 void usb_task_init (void);
00082 void usb_task (void);
00083 extern volatile uint16_t g_usb_event;
00084 extern volatile uint8_t private_sof_counter;
00085
00086 #endif
00087