From ea0cb3cf80556d164d9350cdfa7768624cf137d4 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Sat, 26 Mar 2016 00:00:04 +0300 Subject: Implement a basic USB function --- keyboard/keyboard.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'keyboard') 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 +#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); -- cgit v1.3.1