00001
00016 #ifndef _USB_TASK_H_
00017 #define _USB_TASK_H_
00018
00021
00022
00023
00024
00025
00026
00030 #define Usb_send_event(x) (g_usb_event |= (1<<x))
00031 #define Usb_ack_event(x) (g_usb_event &= ~(1<<x))
00032 #define Usb_clear_all_event() (g_usb_event = 0)
00033 #define Is_usb_event(x) ((g_usb_event & (1<<x)) ? TRUE : FALSE)
00034 #define Is_not_usb_event(x) ((g_usb_event & (1<<x)) ? FALSE: TRUE)
00035 #define Is_host_emergency_exit() (Is_usb_event(EVT_HOST_DISCONNECTION) || Is_usb_event(EVT_USB_DEVICE_FUNCTION))
00036
00037 #define EVT_USB_POWERED 1 // USB plugged
00038 #define EVT_USB_UNPOWERED 2 // USB un-plugged
00039 #define EVT_USB_DEVICE_FUNCTION 3 // USB in device
00040 #define EVT_USB_HOST_FUNCTION 4 // USB in host
00041 #define EVT_USB_SUSPEND 5 // USB suspend
00042 #define EVT_USB_WAKE_UP 6 // USB wake up
00043 #define EVT_USB_RESUME 7 // USB resume
00044 #define EVT_USB_RESET 8 // USB reset
00045 #define EVT_HOST_SOF 9 // Host start of frame sent
00046 #define EVT_HOST_HWUP 10 // Host wakeup detected
00047 #define EVT_HOST_DISCONNECTION 11 // The target device is disconencted
00048
00049
00050
00051 #define USB_MODE_UNDEFINED 0x00
00052 #define USB_MODE_HOST 0x01
00053 #define USB_MODE_DEVICE 0x02
00054
00055
00056
00057 extern volatile U16 g_usb_event;
00058
00072 void usb_task_init (void);
00073
00084 void usb_task (void);
00085
00086 extern volatile U8 private_sof_counter;
00087
00089
00090 #endif
00091