A test program for PS2 library.

Dependencies:   mbed

Committer:
shintamainjp
Date:
Wed Oct 13 10:50:55 2010 +0000
Revision:
4:47b51250a168
Parent:
3:a3ba8d3e3958
First version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:aabf6427c82e 1 /**
shintamainjp 0:aabf6427c82e 2 * Test program.
shintamainjp 0:aabf6427c82e 3 *
shintamainjp 0:aabf6427c82e 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:aabf6427c82e 5 * http://shinta.main.jp/
shintamainjp 0:aabf6427c82e 6 */
shintamainjp 0:aabf6427c82e 7
shintamainjp 0:aabf6427c82e 8 #include "mbed.h"
shintamainjp 2:b06d5cea5b11 9 #include "TextLCD.h"
shintamainjp 2:b06d5cea5b11 10 #include "PS2Mouse.h"
shintamainjp 2:b06d5cea5b11 11 #include "PS2Keyboard.h"
shintamainjp 0:aabf6427c82e 12
shintamainjp 2:b06d5cea5b11 13 TextLCD lcd(p24, p26, p27, p28, p29, p30);
shintamainjp 2:b06d5cea5b11 14 PS2Keyboard ps2kb(p12, p11);
shintamainjp 2:b06d5cea5b11 15 PS2Mouse ps2ms(p23, p22);
shintamainjp 0:aabf6427c82e 16
shintamainjp 0:aabf6427c82e 17 int main() {
shintamainjp 2:b06d5cea5b11 18 PS2Mouse::mouse_event_t evt_ms;
shintamainjp 2:b06d5cea5b11 19 PS2Keyboard::keyboard_event_t evt_kb;
shintamainjp 3:a3ba8d3e3958 20
shintamainjp 2:b06d5cea5b11 21 lcd.locate(0, 0);
shintamainjp 2:b06d5cea5b11 22 lcd.printf("> Mouse <");
shintamainjp 2:b06d5cea5b11 23 lcd.locate(0, 1);
shintamainjp 2:b06d5cea5b11 24 lcd.printf("> Keyboard <");
shintamainjp 1:e5eac8a97060 25
shintamainjp 3:a3ba8d3e3958 26 int div = 0;
shintamainjp 0:aabf6427c82e 27 while (1) {
shintamainjp 3:a3ba8d3e3958 28 div++;
shintamainjp 3:a3ba8d3e3958 29 if (div % 2) {
shintamainjp 3:a3ba8d3e3958 30 if (ps2ms.processing(&evt_ms)) {
shintamainjp 3:a3ba8d3e3958 31 lcd.locate(0, 0);
shintamainjp 3:a3ba8d3e3958 32 lcd.printf("%c%c%c:%4d,%4d,%2d",
shintamainjp 3:a3ba8d3e3958 33 evt_ms.left ? 'L' : '.',
shintamainjp 3:a3ba8d3e3958 34 evt_ms.center ? 'C' : '.',
shintamainjp 3:a3ba8d3e3958 35 evt_ms.right ? 'R' : '.',
shintamainjp 3:a3ba8d3e3958 36 evt_ms.x, evt_ms.y, evt_ms.z);
shintamainjp 1:e5eac8a97060 37 }
shintamainjp 3:a3ba8d3e3958 38 } else {
shintamainjp 3:a3ba8d3e3958 39 if (ps2kb.processing(&evt_kb)) {
shintamainjp 3:a3ba8d3e3958 40 lcd.locate(0, 1);
shintamainjp 3:a3ba8d3e3958 41 for (int i = 0; i < evt_kb.length; i++) {
shintamainjp 3:a3ba8d3e3958 42 lcd.printf("%02X", evt_kb.scancode[i]);
shintamainjp 3:a3ba8d3e3958 43 }
shintamainjp 3:a3ba8d3e3958 44 for (int i = 0; i < 16 - evt_kb.length * 2; i++) {
shintamainjp 3:a3ba8d3e3958 45 lcd.printf("-");
shintamainjp 3:a3ba8d3e3958 46 }
shintamainjp 2:b06d5cea5b11 47 }
shintamainjp 1:e5eac8a97060 48 }
shintamainjp 0:aabf6427c82e 49 }
shintamainjp 0:aabf6427c82e 50 }