New LiquidCrystal library  1.3.2
Generic LCD control library
/Users/fmalpartida/Documents/development/mercurial repos/SW/NewliquidCrystal/SI2CIO.h
1 // ---------------------------------------------------------------------------
2 // Created by Francisco Malpartida on 20/08/11.
3 // Copyright 2011 - Under creative commons license 3.0:
4 // Attribution-ShareAlike CC BY-SA
5 //
6 // This software is furnished "as is", without technical support, and with no
7 // warranty, express or implied, as to its usefulness for any purpose.
8 //
9 // Thread Safe: No
10 // Extendable: Yes
11 //
12 // @file SI2CIO.h
13 // This file implements a basic IO library using the PCF8574 I2C IO Expander
14 // chip, but using software I2C.
15 //
16 // @brief
17 // Implement a basic IO library to drive the PCF8574* I2C IO Expander ASIC.
18 // The library implements basic IO general methods to configure IO pin direction
19 // read and write uint8_t operations and basic pin level routines to set or read
20 // a particular IO port.
21 //
22 // @version API 1.0.0
23 //
24 // @author F. Malpartida - fmalpartida@gmail.com
25 // Adapted to SoftIC2 by Adrian Piccioli - adrianpiccioli@gmail.com
26 // ---------------------------------------------------------------------------
27 
28 #ifndef _SI2CIO_H_
29 #define _SI2CIO_H_
30 
31 #include <inttypes.h>
32 
33 #define _SI2CIO_VERSION "1.0.0"
34 
42 class SI2CIO
43 {
44 public:
50  SI2CIO ( );
51 
63  int begin ( uint8_t i2cAddr );
64 
74  void pinMode ( uint8_t pin, uint8_t dir );
75 
84  void portMode ( uint8_t dir );
85 
95  uint8_t read ( void );
96 
109  uint8_t digitalRead ( uint8_t pin );
110 
124  int write ( uint8_t value );
125 
137  int digitalWrite ( uint8_t pin, uint8_t level );
138 
139 
140 
141 private:
142  uint8_t _shadow; // Shadow output
143  uint8_t _dirMask; // Direction mask
144  uint8_t _i2cAddr; // I2C address
145  bool _initialised; // Initialised object
146 
147 };
148 
149 #endif
int digitalWrite(uint8_t pin, uint8_t level)
int write(uint8_t value)
Definition: SI2CIO.h:42
void portMode(uint8_t dir)
uint8_t read(void)
void pinMode(uint8_t pin, uint8_t dir)
int begin(uint8_t i2cAddr)
uint8_t digitalRead(uint8_t pin)