Change Details
atusb/fw/ep0.c |
56 | 56 | #define BUILD_OFFSET 7 /* '#' plus "65535" plus ' ' */ |
57 | 57 | |
58 | 58 | |
| 59 | #ifdef DEBUG_LOG |
| 60 | |
| 61 | #define LOG_SIZE 16 |
| 62 | |
| 63 | static struct { |
| 64 | uint16_t n; |
| 65 | struct setup_request setup; |
| 66 | } log_buf[LOG_SIZE]; |
| 67 | |
| 68 | static int log_pos = 0; |
| 69 | |
| 70 | #endif /* DEBUG_LOG */ |
| 71 | |
| 72 | |
59 | 73 | static int my_setup(const struct setup_request *setup) |
60 | 74 | { |
61 | 75 | uint16_t req = setup->bmRequestType | setup->bRequest << 8; |
... | ... | |
63 | 77 | uint8_t i; |
64 | 78 | uint64_t tmp64; |
65 | 79 | |
| 80 | #ifdef DEBUG_LOG |
| 81 | |
| 82 | uint8_t pos; |
| 83 | |
| 84 | pos = log_pos & (LOG_SIZE-1); |
| 85 | log_buf[pos].n = log_pos; |
| 86 | log_buf[pos].setup = *setup; |
| 87 | log_pos++; |
| 88 | |
| 89 | #endif /* DEBUG_LOG */ |
| 90 | |
66 | 91 | switch (req) { |
67 | 92 | case ATUSB_FROM_DEV(ATUSB_ID): |
68 | 93 | debug("ATUSB_ID\n"); |
... | ... | |
129 | 154 | gpio_cleanup(); |
130 | 155 | return 1; |
131 | 156 | |
| 157 | #ifdef DEBUG_LOG |
| 158 | case ATUSB_FROM_DEV(ATUSB_READ_LOG): |
| 159 | usb_send(&eps[0], log_buf, sizeof(log_buf), NULL, NULL); |
| 160 | return 1; |
| 161 | #endif |
| 162 | |
132 | 163 | case ATUSB_TO_DEV(ATUSB_SLP_TR): |
133 | 164 | debug("ATUSB_SLP_TR\n"); |
134 | 165 | slp_tr(); |
atusb/fw/include/atusb/ep0.h |
28 | 28 | * ->host ATUSB_GPIO dir+data mask+p# 3 |
29 | 29 | * host-> ATUSB_SLP_TR - - 0 |
30 | 30 | * host-> ATUSB_GPIO_CLEANUP - - 0 |
| 31 | * ->host ATUSB_READ_LOG - - #bytes |
31 | 32 | * |
32 | 33 | * host-> ATUSB_REG_WRITE value addr 0 |
33 | 34 | * ->host ATUSB_REG_READ - addr 1 |
... | ... | |
82 | 83 | ATUSB_GPIO, |
83 | 84 | ATUSB_SLP_TR, |
84 | 85 | ATUSB_GPIO_CLEANUP, |
| 86 | ATUSB_READ_LOG, |
85 | 87 | ATUSB_REG_WRITE = 0x20, /* transceiver group */ |
86 | 88 | ATUSB_REG_READ, |
87 | 89 | ATUSB_BUF_WRITE, |
Download the corresponding diff file