#ifndef _PCF8574_H #define _PCF8574_H #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #else #include "WProgram.h" #endif #define PCF8574_LIB_VERSION "0.1.9" #define PCF8574_OK 0x00 #define PCF8574_PIN_ERROR 0x81 #define PCF8574_I2C_ERROR 0x82 class PCF8574 { public: explicit PCF8574(const uint8_t deviceAddress); void begin(uint8_t val=0xFF); uint8_t read8(); uint8_t read(uint8_t pin); uint8_t value() const { return _dataIn; }; void write8(const uint8_t value); void write(const uint8_t pin, const uint8_t value); uint8_t valueOut() const { return _dataOut; } int lastError(); private: uint8_t _address; uint8_t _dataIn; uint8_t _dataOut; int _error; }; #endif