Driver for IO expander
Diff: PCA9534.h
- Revision:
- 0:fe2b1519a978
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PCA9534.h Wed Apr 02 03:49:20 2014 +0000 @@ -0,0 +1,36 @@ + +#ifndef PCA9534_H +#define PCA9534_H + +#include "mbed.h" + +class PCA9534 +{ +private: + I2C *_i2c; + InterruptIn *_irq; + int _address; + + enum BIT_LOC { + B0, B1, B2, B3, B4, B5, B6, B7 + }; + +private: + char readRegister(char reg); + int writeRegister(char reg, char val); + void irqHandler(void); + +public: + PCA9534(I2C &i2c, char address, InterruptIn &irq); + int input(char val); + int input(BIT_LOC bit); + int output(char val); + int output(BIT_LOC bit); + int read(void); + int read(BIT_LOC bit); + int write(char val); + int write(BIT_LOC bit); + +}; + +#endif