IEEE 802.15.4 subsystem
Sign in or create your account | Project List | Help
IEEE 802.15.4 subsystem Commit Details
Date: | 2011-06-23 18:03:34 (12 years 9 months ago) |
---|---|
Author: | Werner Almesberger |
Commit: | 23c592250e0ff0cf86ae6c6be8b465faeef1bc44 |
Message: | atusb/fw/board_app.c: do not read and accumulate IRQs; flash LED
when EP1 busy To indicate an interrupt, we just send a zero byte. |
Files: |
atusb/fw/board_app.c (1 diff) |
Change Details
atusb/fw/board_app.c | ||
---|---|---|
144 | 144 | } |
145 | 145 | |
146 | 146 | |
147 | static uint8_t irqs = 0; | |
148 | ||
149 | ||
150 | static void irqs_more(void *user) | |
147 | static void done(void *user) | |
151 | 148 | { |
152 | static uint8_t buf; | |
153 | ||
154 | if (!irqs) | |
155 | return; | |
156 | buf = irqs; | |
157 | usb_send(&eps[1], &buf, 1, irqs_more, NULL); | |
158 | irqs = 0; | |
149 | led(0); | |
159 | 150 | } |
160 | 151 | |
161 | 152 | |
162 | 153 | ISR(INT0_vect) |
163 | 154 | { |
164 | spi_begin(); | |
165 | spi_send(AT86RF230_REG_READ | REG_IRQ_STATUS); | |
166 | irqs |= spi_recv(); | |
167 | spi_end(); | |
168 | if (eps[1].state == EP_IDLE) | |
169 | irqs_more(NULL); | |
155 | static uint8_t buf; | |
156 | ||
157 | if (eps[1].state == EP_IDLE) { | |
158 | led(1); | |
159 | usb_send(&eps[1], &buf, 1, done, NULL); | |
160 | } | |
170 | 161 | } |
171 | 162 | |
172 | 163 |