12#ifndef SRC_APRA_CONTROLLERS_I2CINTERFACE_H_
13#define SRC_APRA_CONTROLLERS_I2CINTERFACE_H_
28 I2C_Interface(
string i2cPath,
string processName, uint64_t processFpsHz,
47 uint64_t
getNormalizedDelay(int64_t largerTime, int64_t smallerTime, uint64_t timeDelay);
bool isSuccessfullSetup()
void processI2CTransaction(I2C_Transaction_Message *txMessage)
uint64_t registerEvent(I2C_Transaction_Message message)
I2CError performCompareRead(uint8_t chipNumber, I2C_Message &message, bool compareEquals)
void unregisterEvent(uint64_t messageHandle)
virtual void processEvents()
apra::Mutex m_eventMessageLock
virtual void processSingleEvent()
I2CError performWrite(uint8_t chipNumber, I2C_Message &message)
vector< uint64_t > m_processedEvents
void processMessage(I2C_Transaction_Message *txMessage)
int64_t m_lastProcessedEventTs
map< uint64_t, I2C_Transaction_Message > m_registeredEvents
apra::Mutex m_processLock
void performTransactionDelay(const uint64_t timeDelay)
virtual void process(Message *obj)
uint64_t getNormalizedDelay(int64_t largerTime, int64_t smallerTime, uint64_t timeDelay)
I2CError performRead(uint8_t chipNumber, I2C_Message &message)