Fork of PS/2 Keyboard lib.
Fork of PS2 by
Diff: PS2MS_INIT.h
- Revision:
- 0:62b62530a82f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PS2MS_INIT.h Thu Oct 11 20:15:09 2012 +0000 @@ -0,0 +1,64 @@ +/** + * PS/2 mouse interface control class (Version 0.0.1) + * + * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems) + * http://shinta.main.jp/ + */ +#ifndef _PS2MS_INIT_H_ +#define _PS2MS_INIT_H_ + +#include "mbed.h" + +/** + * PS2 mouse initializer. + */ +class PS2MS_INIT { +public: + + /** + * Create. + */ + PS2MS_INIT(PinName clk_pin, PinName dat_pin); + + /** + * Destroy. + */ + ~PS2MS_INIT(); +private: + DigitalInOut clk; + DigitalInOut dat; + + static const int MAX_RETRY = 1000000; + + /** + * Send a byte data. + * + * @param c a character. + * + * @return Negative value is a error number. + */ + int send(uint8_t c); + + /** + * Receive a byte data. + * + * @return return a data. Negative value is a error number. + */ + int recv(void); + + /** + * Wait a clock down edge. + * + * @return true if wait done. + */ + bool waitClockDownEdge(void); + + /** + * Wait a clock up level. + * + * @return true if wait done. + */ + bool waitClockUpLevel(void); +}; + +#endif