Shinichiro Nakamura
/
PS2_TestProgram
A test program for PS2 library.
main.cpp@3:a3ba8d3e3958, 2010-09-29 (annotated)
- Committer:
- shintamainjp
- Date:
- Wed Sep 29 22:15:15 2010 +0000
- Revision:
- 3:a3ba8d3e3958
- Parent:
- 2:b06d5cea5b11
Who changed what in which revision?
User | Revision | Line number | New 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 | } |