Libraries and Example of mbed parallel bus using I2C port expanders

Dependencies:   HDSP253X mbed PCF8574_Bus

Committer:
wim
Date:
Sat Aug 20 12:49:44 2011 +0000
Revision:
2:1dab1089c332
First commit, testloop

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 2:1dab1089c332 1 /* PCF8574_DataBus - Use the PCF8574 I2C Port Extender for controlling the Data Bus
wim 2:1dab1089c332 2 * Copyright (c) 2011 Wim Huiskamp
wim 2:1dab1089c332 3 *
wim 2:1dab1089c332 4 * Released under the MIT License: http://mbed.org/license/mit
wim 2:1dab1089c332 5 *
wim 2:1dab1089c332 6 * version 0.2 Initial Release
wim 2:1dab1089c332 7 */
wim 2:1dab1089c332 8 #ifndef _PCF8574_DATABUS_H
wim 2:1dab1089c332 9 #define _PCF8574_DATABUS_H
wim 2:1dab1089c332 10
wim 2:1dab1089c332 11 //Pin Defines for PCF8574 Data Bus
wim 2:1dab1089c332 12 #define D_D0 0x01
wim 2:1dab1089c332 13 #define D_D1 0x02
wim 2:1dab1089c332 14 #define D_D2 0x04
wim 2:1dab1089c332 15 #define D_D3 0x08
wim 2:1dab1089c332 16 #define D_D4 0x10
wim 2:1dab1089c332 17 #define D_D5 0x20
wim 2:1dab1089c332 18 #define D_D6 0x40
wim 2:1dab1089c332 19 #define D_D7 0x80
wim 2:1dab1089c332 20
wim 2:1dab1089c332 21 #define D_DATA_MSK 0xFF
wim 2:1dab1089c332 22
wim 2:1dab1089c332 23 //Enums for Data Bus
wim 2:1dab1089c332 24 #include "BusEnums.h"
wim 2:1dab1089c332 25
wim 2:1dab1089c332 26
wim 2:1dab1089c332 27 /** Create an PCF8574_DataBus object connected to the specified I2C object and using the specified deviceAddress
wim 2:1dab1089c332 28 *
wim 2:1dab1089c332 29 * @param I2C &i2c the I2C port to connect to
wim 2:1dab1089c332 30 * @param char deviceAddress the address of the PCF8574
wim 2:1dab1089c332 31 */
wim 2:1dab1089c332 32 class PCF8574_DataBus {
wim 2:1dab1089c332 33 public:
wim 2:1dab1089c332 34 PCF8574_DataBus(I2C &i2c, char deviceAddress);
wim 2:1dab1089c332 35 char read();
wim 2:1dab1089c332 36 void write(char byte);
wim 2:1dab1089c332 37 void busdir (Bus_Dir bus_dir);
wim 2:1dab1089c332 38 protected:
wim 2:1dab1089c332 39 I2C &_i2c;
wim 2:1dab1089c332 40 char _readOpcode;
wim 2:1dab1089c332 41 char _writeOpcode;
wim 2:1dab1089c332 42 void _init();
wim 2:1dab1089c332 43 };
wim 2:1dab1089c332 44
wim 2:1dab1089c332 45 #endif