]> rtime.felk.cvut.cz Git - lincan.git/blob - embedded/libs4c/usb/base/usbdebug.c
Merge branch 'master' into can-usb1
[lincan.git] / embedded / libs4c / usb / base / usbdebug.c
1 /* Global debug macros, variables, functions - header file */
2 /* R.B. - 23.4.2003 */
3
4 #include <usb/usbdebug.h>
5 #include <usb/usb_spec.h>
6
7 #ifdef DEBUG
8
9 /* debug can be enabled in run-time */
10 #if defined(DEBUG_USE_DYNAMIC_LEVEL) /* use dynamic debug level */
11   unsigned char usb_debug_level = DEBUG_LEVEL_NONE;
12 #endif  
13
14 /*************************************************************
15  *** Debug infos
16  *************************************************************/
17
18   void usb_debug_set_level(int level) {
19    #if defined(DEBUG_USE_DYNAMIC_LEVEL) /* use dynamic debug level */
20     usb_debug_level = level;
21    #endif  
22   }
23
24   
25   char *usb_debug_get_req_recipient( char rqt) {
26     switch ( rqt & USB_RECIPIENT) {
27       case USB_RECIPIENT_DEVICE:    return "DEVICE";
28       case USB_RECIPIENT_INTERFACE: return "INTERFACE";
29       case USB_RECIPIENT_ENDPOINT:  return "ENDPOINT";
30     }
31     return "OTHER";
32   }
33   char *usb_debug_get_req_type( char rqt) {
34     switch ( rqt & USB_REQUEST_TYPE_MASK) {
35       case USB_STANDARD_REQUEST: return "STANDARD";
36       case USB_CLASS_REQUEST:    return "CLASS";
37       case USB_VENDOR_REQUEST:   return "VENDOR";
38     }
39     return "RESERVED";
40   }
41   char *usb_debug_get_std_request( char req) {
42     switch ( req & USB_REQUEST_MASK) {
43       case USB_REQUEST_GET_STATUS:        return "GET STATUS";
44       case USB_REQUEST_CLEAR_FEATURE:     return "CLEAR FEATURE";
45       case USB_REQUEST_SET_FEATURE:       return "SET FEATURE";
46       case USB_REQUEST_SET_ADDRESS:       return "SET ADDRESS";
47
48       case USB_REQUEST_GET_DESCRIPTOR:    return "GET DESCRIPTOR";
49       case USB_REQUEST_SET_DESCRIPTOR:    return "SET DESCRIPTOR";
50       case USB_REQUEST_GET_CONFIGURATION: return "GET CONFIGURATION";
51       case USB_REQUEST_SET_CONFIGURATION: return "SET CONFIGURATION";
52       case USB_REQUEST_GET_INTERFACE:     return "GET INTERFACE";
53       case USB_REQUEST_SET_INTERFACE:     return "SET INTERFACE";
54       case USB_REQUEST_SYNC_FRAME:        return "SYNC FRAME";
55     }
56     return "UNKNOWN";
57   }
58   char *usb_debug_get_std_descriptor( unsigned char desc) {
59
60     switch ( desc) {
61       case USB_DESCRIPTOR_TYPE_DEVICE:                    return "DEVICE";
62       case USB_DESCRIPTOR_TYPE_CONFIGURATION:             return "CONFIGURATION";
63       case USB_DESCRIPTOR_TYPE_STRING:                    return "STRING";
64       case USB_DESCRIPTOR_TYPE_INTERFACE:                 return "INTERFACE";
65       case USB_DESCRIPTOR_TYPE_ENDPOINT:                  return "ENDPOINT";
66       case USB_DESCRIPTOR_TYPE_DEVICE_QUALIFIER:          return "DEVICE_QUALIFIER";
67       case USB_DESCRIPTOR_TYPE_OTHER_SPEED_CONFIGURATION: return "OTHER_SPEED_CONFIG";
68       case USB_DESCRIPTOR_TYPE_POWER:                     return "POWER";
69     }
70     return "UNKNOWN";
71   }
72
73 #else /*DEBUG*/  
74   void usb_debug_set_level(int level) {
75   }
76 #endif /* DEBUG */