8 #include "../Interfaces/IDevice.h"
15 #include <sys/ioctl.h>
16 #include <linux/i2c-dev.h>
20 #define I2C_BUS_COUNT 1
21 #define I2C_1 "/dev/i2c-1"
92 int stop( pthread_t threadHandle );
171 char*
validateBusPath(
char* _busProposedPath ) throw( i2cSetupException& );
191 virtual
void setBusId(
int _busId ) = 0;
219 short readDevice(
size_t _bufferSize ) throw( i2cSetupException& );
void selectABusPath()
Definition: i2cDevice.cpp:72
const char * getFilePath()
Definition: i2cDevice.cpp:78
unsigned char registerAddress
Definition: i2cDevice.h:225
int fileHandle
Definition: i2cDevice.h:231
virtual void setBusId(int _busId)=0
void initDevice()
Definition: i2cDevice.cpp:33
int stop(pthread_t threadHandle)
Definition: i2cDevice.cpp:179
#define MAX_BUFF
Used to store fatal error.
Definition: i2cDevice.h:25
Definition: i2cSetupException.h:24
Definition: i2cDevice.h:34
i2cDevice()
Definition: i2cDevice.cpp:22
int openDevice()
Definition: i2cDevice.cpp:144
Status On (thread is active)
Definition: i2cDevice.h:111
~i2cDevice()
Definition: i2cDevice.cpp:29
int getDeviceFileHandle()
Definition: i2cDevice.cpp:90
void setStatus(deviceStatus _status)
Definition: i2cDevice.cpp:80
Status Off (thread is disabled)
Definition: i2cDevice.h:112
char errMessage[MAX_BUFF]
Definition: i2cDevice.h:230
int validateBusId()
Definition: i2cDevice.cpp:92
char writeBufferOnly[ONE_BYTE]
Definition: i2cDevice.h:228
void setRegisterValue(unsigned char _registerValue)
Definition: i2cDevice.cpp:76
int busId
Definition: i2cDevice.h:232
unsigned char deviceAddress
Definition: i2cDevice.h:223
#define I2C_BUS_COUNT
How many I2C buses are available. Add paths below as required.
Definition: i2cDevice.h:20
virtual void setDeviceAddress(unsigned char _deviceAddress)=0
int getStatus()
Definition: i2cDevice.cpp:85
Definition: aeronautics.h:23
bool deviceInitialised
Definition: i2cDevice.h:234
int writeToDevice(size_t _bufferSize)
Definition: i2cDevice.cpp:155
unsigned char registerValue
Definition: i2cDevice.h:224
#define ONE_BYTE
Used for specifying how many bytes to read.
Definition: i2cDevice.h:23
deviceStatus
Definition: i2cDevice.h:110
Status Error (thread is disabled)
Definition: i2cDevice.h:113
short readDevice(size_t _bufferSize)
Definition: i2cDevice.cpp:130
int connectToDevice()
Definition: i2cDevice.h:201
char readAndWriteBuffer[TWO_BYTES]
Definition: i2cDevice.h:227
void setRegisterAddress(unsigned char _registerAddress)
Definition: i2cDevice.cpp:74
const char * deviceBusPath
Definition: i2cDevice.h:221
char * validateBusPath(char *_busProposedPath)
Definition: i2cDevice.cpp:103
short getValueFromRegister(unsigned char _registerAddress)
Definition: i2cDevice.cpp:114
#define TWO_BYTES
Used for specifying how many bytes to write.
Definition: i2cDevice.h:24
void setBusPaths()
Definition: i2cDevice.cpp:67