ApraLinuxUtils 1.0.0
C++ utility library for embedded Linux systems
 
Loading...
Searching...
No Matches
I2CMessage.h
Go to the documentation of this file.
1/*
2 * I2CMessage.h
3 *
4 * Copyright (c) 2024 Apra Labs
5 *
6 * This file is part of ApraUtils.
7 *
8 * Licensed under the MIT License.
9 * See LICENSE file in the project root for full license information.
10 */
11
12#ifndef SRC_APRA_MODELS_I2CMESSAGE_H_
13#define SRC_APRA_MODELS_I2CMESSAGE_H_
14
15#include <stdint.h>
16#include <vector>
17#include <models/I2CError.h>
19
20#define I2C_RETRY_FAILURE_DELAY 5000
21
22using namespace std;
23namespace apra
24{
26{
27public:
29 virtual ~I2C_Message();
30 void configureWrite(vector<uint8_t> registerNumber, vector<uint8_t> data);
31 void configureWrite(uint64_t registerNumber, uint64_t data,
32 uint64_t registerSize, uint64_t dataSize);
33 void configureRead(vector<uint8_t> registerNumber, uint64_t expectedDataSize);
34 void configureRead(uint64_t registerNumber, uint64_t registerSize,
35 uint64_t expectedDataSize);
36 void configureReadWithComparison(vector<uint8_t> registerNumber,
37 uint64_t expectedDataSize, const vector<uint8_t> dataCompare,
38 bool compareEquals);
39 void configureReadWithComparison(uint64_t registerNumber,
40 uint64_t registerSize, uint64_t expectedDataSize,
41 const uint64_t dataCompare, bool compareEquals);
42 void addDelay(uint64_t delayInUsec);
43 void setRetries(uint64_t retryCount);
44 uint64_t getCombinedData();
45 uint64_t getCombinedRegister();
46 uint64_t getDataSize();
47
50 vector<uint8_t> m_registerNumber;
51 vector<uint8_t> m_data;
52 vector<uint8_t> m_compareData;
53 uint64_t m_retryCount;
54 uint64_t m_delayInUsec;
57protected:
59 uint64_t m_dataSize;
60
61};
62
63} /* namespace apra */
64
65#endif /* SRC_APRA_MODELS_I2CMESSAGE_H_ */
vector< uint8_t > m_compareData
Definition I2CMessage.h:52
uint64_t getCombinedRegister()
I2C_MESSAGE_TYPE m_type
Definition I2CMessage.h:49
uint64_t m_delayInUsec
Definition I2CMessage.h:54
uint64_t m_retryDelayInUsec
Definition I2CMessage.h:55
void setRetries(uint64_t retryCount)
uint64_t getDataSize()
uint64_t m_registerSize
Definition I2CMessage.h:58
vector< uint8_t > m_registerNumber
Definition I2CMessage.h:50
void addDelay(uint64_t delayInUsec)
void configureRead(vector< uint8_t > registerNumber, uint64_t expectedDataSize)
vector< uint8_t > m_data
Definition I2CMessage.h:51
uint64_t getCombinedData()
void configureReadWithComparison(vector< uint8_t > registerNumber, uint64_t expectedDataSize, const vector< uint8_t > dataCompare, bool compareEquals)
bool m_allowOtherProcessOnIdle
Definition I2CMessage.h:56
void configureWrite(vector< uint8_t > registerNumber, vector< uint8_t > data)
uint64_t m_retryCount
Definition I2CMessage.h:53
virtual ~I2C_Message()
uint64_t m_dataSize
Definition I2CMessage.h:59