usb_task.h

Go to the documentation of this file.
00001 
00016 #ifndef _USB_TASK_H_
00017 #define _USB_TASK_H_
00018 
00021 
00022 //_____ I N C L U D E S ____________________________________________________
00023 
00024 
00025 //_____ M A C R O S ________________________________________________________
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 #define Is_usb_device()                 (g_usb_mode==USB_MODE_DEVICE ? TRUE : FALSE)
00037 #define Is_usb_host()                   (g_usb_mode==USB_MODE_HOST   ? TRUE : FALSE)
00038 
00039 #define EVT_USB_POWERED               1         // USB plugged
00040 #define EVT_USB_UNPOWERED             2         // USB un-plugged
00041 #define EVT_USB_DEVICE_FUNCTION       3         // USB in device
00042 #define EVT_USB_HOST_FUNCTION         4         // USB in host
00043 #define EVT_USB_SUSPEND               5         // USB suspend
00044 #define EVT_USB_WAKE_UP               6         // USB wake up
00045 #define EVT_USB_RESUME                7         // USB resume
00046 #define EVT_USB_RESET                 8         // USB reset
00047 #define EVT_HOST_SOF                  9         // Host start of frame sent
00048 #define EVT_HOST_HWUP                 10        // Host wakeup detected
00049 #define EVT_HOST_DISCONNECTION        11        // The target device is disconnected
00051 
00054    #define GET_STATUS                     0x00
00055    #define GET_DEVICE                     0x01
00056    #define CLEAR_FEATURE                  0x01           
00057    #define GET_STRING                     0x03
00058    #define SET_FEATURE                    0x03           
00059    #define SET_ADDRESS                    0x05
00060    #define GET_DESCRIPTOR                 0x06
00061    #define SET_DESCRIPTOR                 0x07
00062    #define GET_CONFIGURATION              0x08
00063    #define SET_CONFIGURATION              0x09
00064    #define GET_INTERFACE                  0x0A
00065    #define SET_INTERFACE                  0x0B
00066    #define SYNCH_FRAME                    0x0C
00067 
00068    #define GET_DEVICE_DESCRIPTOR             1
00069    #define GET_CONFIGURATION_DESCRIPTOR      4
00070 
00071    #define REQUEST_DEVICE_STATUS          0x80
00072    #define REQUEST_INTERFACE_STATUS       0x81
00073    #define REQUEST_ENDPOINT_STATUS        0x82
00074    #define ZERO_TYPE                      0x00
00075    #define INTERFACE_TYPE                 0x01
00076    #define ENDPOINT_TYPE                  0x02
00077 
00078                      // Descriptor Types
00079    #define DEVICE_DESCRIPTOR                     0x01
00080    #define CONFIGURATION_DESCRIPTOR              0x02
00081    #define STRING_DESCRIPTOR                     0x03
00082    #define INTERFACE_DESCRIPTOR                  0x04
00083    #define ENDPOINT_DESCRIPTOR                   0x05
00084    #define DEVICE_QUALIFIER_DESCRIPTOR           0x06
00085    #define OTHER_SPEED_CONFIGURATION_DESCRIPTOR  0x07
00086 
00087 
00088 
00089                     // Standard Features
00090    #define FEATURE_DEVICE_REMOTE_WAKEUP   0x01
00091    #define FEATURE_ENDPOINT_HALT          0x00
00092 
00093    #define TEST_J                         0x01
00094    #define TEST_K                         0x02
00095    #define TEST_SEO_NAK                   0x03
00096    #define TEST_PACKET                    0x04
00097    #define TEST_FORCE_ENABLE              0x05
00098 
00099 
00100                      // Device Status
00101    #define BUS_POWERED                       0
00102    #define SELF_POWERED                      1
00103 
00105 
00106 #define USB_MODE_UNDEFINED            0x00
00107 #define USB_MODE_HOST                 0x01
00108 #define USB_MODE_DEVICE               0x02
00109 
00110 //_____ D E C L A R A T I O N S ____________________________________________
00111 
00112 extern volatile U16 g_usb_event;
00113 extern U8 g_usb_mode;
00114 extern U8 usb_remote_wup_feature;
00115 
00129 void usb_task_init     (void);
00130 
00141 void usb_task          (void);
00142 
00143 extern volatile U8 private_sof_counter;
00144 
00145 
00146 
00148 
00149 #endif /* _USB_TASK_H_ */
00150 

Generated on Fri Jun 15 14:15:33 2007 for Atmel by  doxygen 1.5.1-p1