#include <I2CInterface.h>
Public Member Functions | |
| I2C_Interface (string i2cPath, string processName, uint64_t processFpsHz, bool shouldPrint) | |
| virtual | ~I2C_Interface () |
| virtual void | process (Message *obj) |
| uint64_t | registerEvent (I2C_Transaction_Message message) |
| void | unregisterEvent (uint64_t messageHandle) |
| I2CError | reSetupI2CBus () |
| bool | isSuccessfullSetup () |
Public Member Functions inherited from apra::ProcessThread | |
| ProcessThread (string name, int64_t freq=0) | |
| virtual | ~ProcessThread () |
| void | setType (THREAD_TYPE t) |
| int32_t | begin () |
| virtual int32_t | end () |
| bool | shouldIquit () |
| string | getName () |
| void | enque (Message *p) |
| THREAD_TYPE | getType () |
| void | setFPS (int64_t fps) |
| Message * | dequeue () |
Protected Member Functions | |
| virtual void | processEvents () |
| virtual void | processSingleEvent () |
| void | processMessage (I2C_Transaction_Message *txMessage) |
| void | processI2CTransaction (I2C_Transaction_Message *txMessage) |
| I2CError | performRead (uint8_t chipNumber, I2C_Message &message) |
| I2CError | performCompareRead (uint8_t chipNumber, I2C_Message &message, bool compareEquals) |
| I2CError | performWrite (uint8_t chipNumber, I2C_Message &message) |
| void | performTransactionDelay (const uint64_t timeDelay) |
| uint64_t | getNormalizedDelay (int64_t largerTime, int64_t smallerTime, uint64_t timeDelay) |
Protected Member Functions inherited from apra::ProcessThread | |
| int32_t | mainLoop () |
| void | someFunction (bool &executedOnce) |
| void | enqueResponse (Message *message) |
| void | trimQueue (std::queue< Message * > &queue) |
Protected Attributes | |
| string | m_i2cPath |
| I2C_Bus | m_i2cBus |
| map< uint64_t, I2C_Transaction_Message > | m_registeredEvents |
| vector< uint64_t > | m_processedEvents |
| apra::Mutex | m_eventMessageLock |
| int64_t | m_lastProcessedEventTs |
| bool | m_setupSuccess |
| apra::Mutex | m_processLock |
Protected Attributes inherited from apra::ProcessThread | |
| string | m_threadname |
| pthread_t | m_threadID |
| int64_t | m_frequSec |
| std::queue< Message * > | m_requestQueue |
| std::queue< Message * > | m_responseQueue |
| THREAD_TYPE | m_typeofThread |
| Mutex | m_requestLock |
| Mutex | m_responseLock |
| bool | m_shouldIquit |
| uint32_t | m_queueSizeLimit |
Additional Inherited Members | |
Static Protected Member Functions inherited from apra::ProcessThread | |
| static void * | beginProxy (void *arg) |
Definition at line 25 of file I2CInterface.h.
| apra::I2C_Interface::I2C_Interface | ( | string | i2cPath, |
| string | processName, | ||
| uint64_t | processFpsHz, | ||
| bool | shouldPrint | ||
| ) |
Definition at line 21 of file I2CInterface.cpp.
References apra::GenericError::getDebugMessage(), apra::GenericError::getMessage(), apra::GenericError::isError(), m_i2cBus, m_i2cPath, m_setupSuccess, and apra::I2C_Bus::openBus().
|
virtual |
Definition at line 40 of file I2CInterface.cpp.
References apra::I2C_Bus::closeBus(), and m_i2cBus.
|
protected |
Definition at line 393 of file I2CInterface.cpp.
Referenced by performTransactionDelay(), and processMessage().
| bool apra::I2C_Interface::isSuccessfullSetup | ( | ) |
Definition at line 56 of file I2CInterface.cpp.
References m_setupSuccess.
|
protected |
Definition at line 236 of file I2CInterface.cpp.
References apra::I2C_Bus::genericRead(), apra::I2C_Message::getDataSize(), apra::GenericError::isError(), apra::I2C_Message::m_allowOtherProcessOnIdle, apra::I2C_Message::m_compareData, apra::I2C_Message::m_data, apra::I2C_Message::m_error, m_i2cBus, m_processLock, apra::I2C_Message::m_registerNumber, apra::I2C_Message::m_retryCount, apra::I2C_Message::m_retryDelayInUsec, performTransactionDelay(), and apra::I2C_Bus::setSize().
Referenced by processI2CTransaction().
|
protected |
Definition at line 203 of file I2CInterface.cpp.
References apra::I2C_Bus::genericRead(), apra::I2C_Message::getDataSize(), apra::GenericError::isError(), apra::I2C_Message::m_allowOtherProcessOnIdle, apra::I2C_Message::m_data, apra::I2C_Message::m_error, m_i2cBus, m_processLock, apra::I2C_Message::m_registerNumber, apra::I2C_Message::m_retryCount, apra::I2C_Message::m_retryDelayInUsec, performTransactionDelay(), and apra::I2C_Bus::setSize().
Referenced by processI2CTransaction().
|
protected |
Definition at line 369 of file I2CInterface.cpp.
References getNormalizedDelay(), m_processedEvents, m_registeredEvents, MONOCURRTIME, MONOTIMEUS, and processSingleEvent().
Referenced by performCompareRead(), performRead(), performWrite(), and processI2CTransaction().
|
protected |
Definition at line 281 of file I2CInterface.cpp.
References apra::I2C_Bus::genericWrite(), apra::GenericError::isError(), apra::I2C_Message::m_allowOtherProcessOnIdle, apra::I2C_Message::m_data, apra::I2C_Message::m_error, m_i2cBus, m_processLock, apra::I2C_Message::m_registerNumber, apra::I2C_Message::m_retryCount, apra::I2C_Message::m_retryDelayInUsec, performTransactionDelay(), and apra::I2C_Bus::setSize().
Referenced by processI2CTransaction().
|
virtual |
Implements apra::ProcessThread.
Definition at line 74 of file I2CInterface.cpp.
References apra::ProcessThread::m_requestLock, apra::ProcessThread::m_requestQueue, m_setupSuccess, processEvents(), and processMessage().
|
protectedvirtual |
Definition at line 111 of file I2CInterface.cpp.
References m_eventMessageLock, apra::ProcessThread::m_frequSec, m_lastProcessedEventTs, m_processedEvents, m_registeredEvents, MONOCURRTIME, MONOTIMEUS, processI2CTransaction(), and apra::I2C_Transaction_Message::publishTransaction().
Referenced by process(), and processMessage().
|
protected |
Definition at line 314 of file I2CInterface.cpp.
References apra::I2C_READ, apra::I2C_READ_COMPARE_EQUAL, apra::I2C_READ_COMPARE_NOT_EQUAL, apra::I2C_WRITE, apra::GenericError::isError(), apra::I2C_Transaction_Message::m_chipNumber, apra::I2C_Transaction_Message::m_messages, apra::I2C_Transaction_Message::m_stopOnAnyTransactionFailure, performCompareRead(), performRead(), performTransactionDelay(), performWrite(), and apra::I2C_Transaction_Message::setError().
Referenced by processEvents(), processMessage(), and processSingleEvent().
|
protected |
Definition at line 178 of file I2CInterface.cpp.
References apra::ProcessThread::enqueResponse(), getNormalizedDelay(), apra::ProcessThread::m_frequSec, m_lastProcessedEventTs, apra::I2C_Transaction_Message::m_transactionDelayUsec, MONOCURRTIME, processEvents(), and processI2CTransaction().
Referenced by process().
|
protectedvirtual |
Definition at line 145 of file I2CInterface.cpp.
References m_eventMessageLock, apra::ProcessThread::m_frequSec, m_lastProcessedEventTs, m_processedEvents, m_registeredEvents, MONOCURRTIME, MONOTIMEUS, processI2CTransaction(), and apra::I2C_Transaction_Message::publishTransaction().
Referenced by performTransactionDelay().
| uint64_t apra::I2C_Interface::registerEvent | ( | I2C_Transaction_Message | message | ) |
Definition at line 61 of file I2CInterface.cpp.
References apra::Message::getHandle(), m_eventMessageLock, and m_registeredEvents.
| I2CError apra::I2C_Interface::reSetupI2CBus | ( | ) |
Definition at line 45 of file I2CInterface.cpp.
References apra::I2C_Bus::closeBus(), apra::GenericError::isError(), m_i2cBus, m_processLock, m_setupSuccess, and apra::I2C_Bus::openBus().
| void apra::I2C_Interface::unregisterEvent | ( | uint64_t | messageHandle | ) |
Definition at line 68 of file I2CInterface.cpp.
References m_eventMessageLock, and m_registeredEvents.
|
protected |
Definition at line 53 of file I2CInterface.h.
Referenced by processEvents(), processSingleEvent(), registerEvent(), and unregisterEvent().
|
protected |
Definition at line 50 of file I2CInterface.h.
Referenced by I2C_Interface(), performCompareRead(), performRead(), performWrite(), reSetupI2CBus(), and ~I2C_Interface().
|
protected |
Definition at line 49 of file I2CInterface.h.
Referenced by I2C_Interface().
|
protected |
Definition at line 54 of file I2CInterface.h.
Referenced by processEvents(), processMessage(), and processSingleEvent().
|
protected |
Definition at line 52 of file I2CInterface.h.
Referenced by performTransactionDelay(), processEvents(), and processSingleEvent().
|
protected |
Definition at line 56 of file I2CInterface.h.
Referenced by performCompareRead(), performRead(), performWrite(), and reSetupI2CBus().
|
protected |
Definition at line 51 of file I2CInterface.h.
Referenced by performTransactionDelay(), processEvents(), processSingleEvent(), registerEvent(), and unregisterEvent().
|
protected |
Definition at line 55 of file I2CInterface.h.
Referenced by I2C_Interface(), isSuccessfullSetup(), process(), and reSetupI2CBus().