Synchronous USART support for PS/2 on V-USB stack
[tmk_keyboard.git] / ps2_vusb / main.c
1 /* PS/2 to USB keyboard converter
2 * 2011/02/20
3 * Copyright (c) 2011 tmk
4 */
5 /* Name: main.c
6 * Project: hid-mouse, a very simple HID example
7 * Author: Christian Starkjohann
8 * Creation Date: 2008-04-07
9 * Tabsize: 4
10 * Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH
11 * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
12 * This Revision: $Id: main.c 790 2010-05-30 21:00:26Z cs $
13 */
14 #include <stdint.h>
15 #include <avr/wdt.h>
16 #include <avr/interrupt.h>
17 #include <util/delay.h>
18 #include "usbdrv.h"
19 #include "oddebug.h"
20 #include "host_vusb.h"
21 #include "keyboard.h"
22
23
24 #if 0
25 #define DEBUGP_INIT() do { DDRC = 0xFF; } while (0)
26 #define DEBUGP(x) do { PORTC = x; } while (0)
27 #else
28 #define DEBUGP_INIT()
29 #define DEBUGP(x)
30 #endif
31
32
33 int main(void)
34 {
35 DEBUGP_INIT();
36 wdt_enable(WDTO_1S);
37 odDebugInit();
38 usbInit();
39
40 /* enforce re-enumeration, do this while interrupts are disabled! */
41 usbDeviceDisconnect();
42 uint8_t i = 0;
43 /* fake USB disconnect for > 250 ms */
44 while(--i){
45 wdt_reset();
46 _delay_ms(1);
47 }
48 usbDeviceConnect();
49 sei();
50
51 keyboard_init();
52
53 while (1) {
54 DEBUGP(0x1);
55 wdt_reset();
56 usbPoll();
57 DEBUGP(0x2);
58 keyboard_proc();
59 DEBUGP(0x3);
60 host_vusb_keyboard_send();
61 }
62 }
Imprint / Impressum