diff options
| author | Yuval Adam <yuval@y3xz.com> | 2016-03-26 00:00:04 +0300 |
|---|---|---|
| committer | Yuval Adam <yuval@y3xz.com> | 2016-03-26 00:00:04 +0300 |
| commit | ea0cb3cf80556d164d9350cdfa7768624cf137d4 (patch) | |
| tree | 7158ae4e478b9b73058daa732c09809f663599cb /keyboard | |
| parent | 6ffcc5b0d8bd15d62634228545ce8d7f52ffffd8 (diff) | |
Implement a basic USB function
Diffstat (limited to 'keyboard')
| -rw-r--r-- | keyboard/keyboard.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/keyboard/keyboard.c b/keyboard/keyboard.c index c0a51d6..5c67f8a 100644 --- a/keyboard/keyboard.c +++ b/keyboard/keyboard.c @@ -6,11 +6,26 @@ #include <util/delay.h> +#define USB_LED_OFF 0 +#define USB_LED_ON 1 + USB_PUBLIC uchar usbFunctionSetup(uchar data[8]) { - return 0; // do nothing for now + usbRequest_t *rq = (void *)data; + + switch(rq->bRequest) { + case USB_LED_ON: + PORTB |= 1; + return 0; + case USB_LED_OFF: + PORTB &= ~1; + return 0; + } + + return 0; } int main() { + DDRB = 1; uchar i; wdt_enable(WDTO_1S); |
