PS2 keyboard

Dependents:   uVGAII_WebBrowser

Committer:
yaolu23
Date:
Wed Mar 12 16:15:14 2014 +0000
Revision:
0:33c8907eb27a
na

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yaolu23 0:33c8907eb27a 1 /**
yaolu23 0:33c8907eb27a 2 * PS/2 interface control class (Version 0.0.1)
yaolu23 0:33c8907eb27a 3 *
yaolu23 0:33c8907eb27a 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
yaolu23 0:33c8907eb27a 5 * http://shinta.main.jp/
yaolu23 0:33c8907eb27a 6 */
yaolu23 0:33c8907eb27a 7
yaolu23 0:33c8907eb27a 8 #ifndef _PS2_H_
yaolu23 0:33c8907eb27a 9 #define _PS2_H_
yaolu23 0:33c8907eb27a 10
yaolu23 0:33c8907eb27a 11 #include "mbed.h"
yaolu23 0:33c8907eb27a 12
yaolu23 0:33c8907eb27a 13 /**
yaolu23 0:33c8907eb27a 14 * PS/2 interface control class.
yaolu23 0:33c8907eb27a 15 */
yaolu23 0:33c8907eb27a 16 class PS2 {
yaolu23 0:33c8907eb27a 17 public:
yaolu23 0:33c8907eb27a 18 /**
yaolu23 0:33c8907eb27a 19 * Create.
yaolu23 0:33c8907eb27a 20 *
yaolu23 0:33c8907eb27a 21 * @param clk_pin Clock pin.
yaolu23 0:33c8907eb27a 22 * @param dat_pin Data pin.
yaolu23 0:33c8907eb27a 23 */
yaolu23 0:33c8907eb27a 24 PS2(PinName clk_pin, PinName dat_pin);
yaolu23 0:33c8907eb27a 25
yaolu23 0:33c8907eb27a 26 /**
yaolu23 0:33c8907eb27a 27 * Destory.
yaolu23 0:33c8907eb27a 28 */
yaolu23 0:33c8907eb27a 29 virtual ~PS2();
yaolu23 0:33c8907eb27a 30
yaolu23 0:33c8907eb27a 31 /**
yaolu23 0:33c8907eb27a 32 * Get a data from a PS/2 device.
yaolu23 0:33c8907eb27a 33 *
yaolu23 0:33c8907eb27a 34 * @return A data from a PS/2 device.
yaolu23 0:33c8907eb27a 35 */
yaolu23 0:33c8907eb27a 36 virtual int getc(void) = 0;
yaolu23 0:33c8907eb27a 37
yaolu23 0:33c8907eb27a 38 /**
yaolu23 0:33c8907eb27a 39 * Set timeout.
yaolu23 0:33c8907eb27a 40 *
yaolu23 0:33c8907eb27a 41 * @param ms Timeout ms.
yaolu23 0:33c8907eb27a 42 */
yaolu23 0:33c8907eb27a 43 virtual void setTimeout(int ms) = 0;
yaolu23 0:33c8907eb27a 44 };
yaolu23 0:33c8907eb27a 45
yaolu23 0:33c8907eb27a 46 #endif