1 #ifndef MP7_OPENCORESI2C_H 2 #define MP7_OPENCORESI2C_H 9 #include "uhal/DerivedNode.hpp" 25 class OpenCoresI2C :
public uhal::Node {
30 OpenCoresI2C(
const uhal::Node& aNode, uint8_t aSlaveAddress );
44 uint8_t
readI2C( uint32_t i2cAddress )
const;
45 void writeI2C( uint32_t i2cAddress, uint32_t
data )
const;
48 std::vector<uint8_t>
readBlockI2C(
const uint32_t numBytes )
const;
56 bool requireBusIdleAtEnd=
false )
const;
66 static const std::string
mTx;
67 static const std::string
mRx;
68 static const std::string
mCmd;
static const std::string mCmd
Definition: OpenCoresI2C.hpp:68
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
static const std::string mCtrl
Definition: OpenCoresI2C.hpp:65
static const std::string mTx
Definition: OpenCoresI2C.hpp:66
void writeBlockI2C( const std::vector<uint8_t>& data ) const
Definition: OpenCoresI2C.cpp:109
static const std::string mPreHi
Definition: OpenCoresI2C.hpp:63
uint8_t getI2CSlaveAddress( ) const
Definition: OpenCoresI2C.hpp:35
uint8_t mSlaveAddress
Definition: OpenCoresI2C.hpp:75
static const std::string mRx
Definition: OpenCoresI2C.hpp:67
virtual ~OpenCoresI2C( )
Definition: OpenCoresI2C.cpp:65
static const std::string mStatus
Definition: OpenCoresI2C.hpp:69
uint8_t readI2C( uint32_t i2cAddress ) const
Definition: OpenCoresI2C.cpp:94
uint16_t mClockPrescale
Definition: OpenCoresI2C.hpp:72
std::vector<uint8_t> readBlockI2C( const uint32_t numBytes ) const
Definition: OpenCoresI2C.cpp:163
void waitUntilFinished( bool requireAcknowledgement=true, bool requireBusIdleAtEnd=false ) const
Definition: OpenCoresI2C.cpp:220
OpenCoresI2C( const uhal::Node& aNode )
Definition: OpenCoresI2C.cpp:36
void reset( ) const
Definition: OpenCoresI2C.cpp:68
UHAL_DERIVEDNODE( OpenCoresI2C )
dictionary data
Definition: test-datavalid.py:31
uint8_t getI2CClockPrescale( ) const
Definition: OpenCoresI2C.hpp:39
void writeI2C( uint32_t i2cAddress, uint32_t data ) const
Definition: OpenCoresI2C.cpp:102
static const std::string mPreLo
Definition: OpenCoresI2C.hpp:64