summaryrefslogtreecommitdiff
path: root/keyboard
diff options
context:
space:
mode:
authorYuval Adam <yuval@y3xz.com>2016-03-26 00:00:04 +0300
committerYuval Adam <yuval@y3xz.com>2016-03-26 00:00:04 +0300
commitea0cb3cf80556d164d9350cdfa7768624cf137d4 (patch)
tree7158ae4e478b9b73058daa732c09809f663599cb /keyboard
parent6ffcc5b0d8bd15d62634228545ce8d7f52ffffd8 (diff)
Implement a basic USB function
Diffstat (limited to 'keyboard')
-rw-r--r--keyboard/keyboard.c17
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);