summaryrefslogtreecommitdiff
path: root/ps2_usb/main_vusb.c
diff options
context:
space:
mode:
Diffstat (limited to 'ps2_usb/main_vusb.c')
-rw-r--r--ps2_usb/main_vusb.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/ps2_usb/main_vusb.c b/ps2_usb/main_vusb.c
new file mode 100644
index 000000000..ec7c5797a
--- /dev/null
+++ b/ps2_usb/main_vusb.c
@@ -0,0 +1,62 @@
+/* PS/2 to USB keyboard converter
+ * 2011/02/20
+ * Copyright (c) 2011 tmk
+ */
+/* Name: main.c
+ * Project: hid-mouse, a very simple HID example
+ * Author: Christian Starkjohann
+ * Creation Date: 2008-04-07
+ * Tabsize: 4
+ * Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH
+ * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
+ * This Revision: $Id: main.c 790 2010-05-30 21:00:26Z cs $
+ */
+#include <stdint.h>
+#include <avr/wdt.h>
+#include <avr/interrupt.h>
+#include <util/delay.h>
+#include "usbdrv.h"
+#include "oddebug.h"
+#include "host_vusb.h"
+#include "keyboard.h"
+
+
+#if 0
+#define DEBUGP_INIT() do { DDRC = 0xFF; } while (0)
+#define DEBUGP(x) do { PORTC = x; } while (0)
+#else
+#define DEBUGP_INIT()
+#define DEBUGP(x)
+#endif
+
+
+int main(void)
+{
+ DEBUGP_INIT();
+ wdt_enable(WDTO_1S);
+ odDebugInit();
+ usbInit();
+
+ /* enforce re-enumeration, do this while interrupts are disabled! */
+ usbDeviceDisconnect();
+ uint8_t i = 0;
+ /* fake USB disconnect for > 250 ms */
+ while(--i){
+ wdt_reset();
+ _delay_ms(1);
+ }
+ usbDeviceConnect();
+
+ keyboard_init();
+
+ sei();
+ while (1) {
+ DEBUGP(0x1);
+ wdt_reset();
+ usbPoll();
+ DEBUGP(0x2);
+ keyboard_proc();
+ DEBUGP(0x3);
+ host_vusb_keyboard_send();
+ }
+}