Shinichiro Nakamura
/
PS2_TestProgram
A test program for PS2 library.
Diff: main.cpp
- Revision:
- 2:b06d5cea5b11
- Parent:
- 1:e5eac8a97060
- Child:
- 3:a3ba8d3e3958
diff -r e5eac8a97060 -r b06d5cea5b11 main.cpp --- 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); } }