A test program for PS2 library.

Dependencies:   mbed

Revision:
2:b06d5cea5b11
Parent:
1:e5eac8a97060
Child:
3:a3ba8d3e3958
--- a/main.cpp	Mon Sep 13 23:00:29 2010 +0000
+++ b/main.cpp	Wed Sep 29 14:12:59 2010 +0000
@@ -6,61 +6,40 @@
  */
 
 #include "mbed.h"
-#include "PS2_Reader.h"
-#include "PS2_Writer.h"
+#include "TextLCD.h"
+#include "PS2Mouse.h"
+#include "PS2Keyboard.h"
 
-Ticker tick;
-DigitalOut led(LED1);
-
-void func_tick() {
-    led = !led;
-}
+TextLCD lcd(p24, p26, p27, p28, p29, p30);
+PS2Keyboard ps2kb(p12, p11);
+PS2Mouse ps2ms(p23, p22);
 
 int main() {
-    tick.attach_us(&func_tick, 200 * 1000);
-
-    {
-        PS2_Writer ps2ms_write(p15, p16);
-        ps2ms_write.write(0xff);
-        ps2ms_write.write(0xff);
-        ps2ms_write.write(0xff);
-        ps2ms_write.write(0xf3);
-        ps2ms_write.write(0xc8);
-        ps2ms_write.write(0xf3);
-        ps2ms_write.write(0x64);
-        ps2ms_write.write(0xf3);
-        ps2ms_write.write(0x50);
-        ps2ms_write.write(0xf4);
-    }
-
-    PS2_Reader ps2kb(p11, p12, PS2_Reader::TIMEOUT_US_KEYBOARD);
-    PS2_Reader ps2ms(p15, p16, PS2_Reader::TIMEOUT_US_MOUSE);
-
-    uint8_t buf[1024];
+    PS2Mouse::mouse_event_t evt_ms;
+    PS2Keyboard::keyboard_event_t evt_kb;
+    
+    lcd.locate(0, 0);
+    lcd.printf("> Mouse        <");
+    lcd.locate(0, 1);
+    lcd.printf("> Keyboard     <");
 
     while (1) {
-        /*
-         * Keyboard.
-         */
-        const int nkb = ps2kb.read(buf, sizeof(buf));
-        if (0 < nkb) {
-            printf("KB[%02d]:", nkb);
-            for (int i = 0; i < nkb; i++) {
-                printf("%02X ", buf[i]);
-            }
-            printf("\n");
+        if (ps2ms.processing(&evt_ms)) {
+            lcd.locate(0, 0);
+            lcd.printf("%c%c%c:%4d,%4d,%2d",
+                       evt_ms.left ? 'L' : '.',
+                       evt_ms.center ? 'C' : '.',
+                       evt_ms.right ? 'R' : '.',
+                       evt_ms.x, evt_ms.y, evt_ms.z);
         }
-        /*
-         * Mouse.
-         */
-        const int nms = ps2ms.read(buf, sizeof(buf));
-        if (0 < nms) {
-            printf("MS[%02d]:", nms);
-            for (int i = 0; i < nms; i++) {
-                printf("%02X ", buf[i]);
+        if (ps2kb.processing(&evt_kb)) {
+            lcd.locate(0, 1);
+            for (int i = 0; i < evt_kb.length; i++) {
+                lcd.printf("%02X", evt_kb.scancode[i]);
             }
-            printf("\n");
+            for (int i = 0; i < 16 - evt_kb.length * 2; i++) {
+                lcd.printf("-");
+            }
         }
-        wait_ms(20);
     }
 }