i2c small improvements
This commit is contained in:
parent
be015b4c66
commit
e3c968096b
@ -103,7 +103,7 @@ ReturnValue_t I2cComIF::sendMessage(CookieIF* cookie, const uint8_t* sendData, s
|
|||||||
if (fileHelper.getOpenResult() != returnvalue::OK) {
|
if (fileHelper.getOpenResult() != returnvalue::OK) {
|
||||||
return fileHelper.getOpenResult();
|
return fileHelper.getOpenResult();
|
||||||
}
|
}
|
||||||
result = openDevice(deviceFile, i2cAddress, &fd);
|
result = openI2cSlave(deviceFile, i2cAddress, fd);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -162,7 +162,7 @@ ReturnValue_t I2cComIF::requestReceiveMessage(CookieIF* cookie, size_t requestLe
|
|||||||
if (fileHelper.getOpenResult() != returnvalue::OK) {
|
if (fileHelper.getOpenResult() != returnvalue::OK) {
|
||||||
return fileHelper.getOpenResult();
|
return fileHelper.getOpenResult();
|
||||||
}
|
}
|
||||||
result = openDevice(deviceFile, i2cAddress, &fd);
|
result = openI2cSlave(deviceFile, i2cAddress, fd);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -220,9 +220,9 @@ ReturnValue_t I2cComIF::readReceivedMessage(CookieIF* cookie, uint8_t** buffer,
|
|||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t I2cComIF::openDevice(std::string deviceFile, address_t i2cAddress,
|
ReturnValue_t I2cComIF::openI2cSlave(const std::string& deviceFile, address_t i2cAddress,
|
||||||
int* fileDescriptor) {
|
int fileDescriptor) {
|
||||||
if (ioctl(*fileDescriptor, I2C_SLAVE, i2cAddress) < 0) {
|
if (ioctl(fileDescriptor, I2C_SLAVE, i2cAddress) < 0) {
|
||||||
#if FSFW_VERBOSE_LEVEL >= 1
|
#if FSFW_VERBOSE_LEVEL >= 1
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
sif::warning << "I2cComIF: Specifying target device failed with error code " << errno << "."
|
sif::warning << "I2cComIF: Specifying target device failed with error code " << errno << "."
|
||||||
|
@ -49,7 +49,7 @@ class I2cComIF : public DeviceCommunicationIF, public SystemObject {
|
|||||||
* @param fileDescriptor Pointer to device descriptor.
|
* @param fileDescriptor Pointer to device descriptor.
|
||||||
* @return returnvalue::OK if successful, otherwise returnvalue::FAILED.
|
* @return returnvalue::OK if successful, otherwise returnvalue::FAILED.
|
||||||
*/
|
*/
|
||||||
ReturnValue_t openDevice(std::string deviceFile, address_t i2cAddress, int *fileDescriptor);
|
ReturnValue_t openI2cSlave(const std::string& deviceFile, address_t i2cAddress, int fileDescriptor);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* LINUX_I2C_I2COMIF_H_ */
|
#endif /* LINUX_I2C_I2COMIF_H_ */
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include "fsfw_hal/linux/i2c/I2cCookie.h"
|
#include "fsfw_hal/linux/i2c/I2cCookie.h"
|
||||||
|
|
||||||
I2cCookie::I2cCookie(address_t i2cAddress_, size_t maxReplyLen_, std::string deviceFile_)
|
I2cCookie::I2cCookie(address_t i2cAddress_, size_t maxReplyLen_, std::string deviceFile_)
|
||||||
: i2cAddress(i2cAddress_), maxReplyLen(maxReplyLen_), deviceFile(deviceFile_) {}
|
: i2cAddress(i2cAddress_), maxReplyLen(maxReplyLen_), deviceFile(std::move(deviceFile_)) {}
|
||||||
|
|
||||||
address_t I2cCookie::getAddress() const { return i2cAddress; }
|
address_t I2cCookie::getAddress() const { return i2cAddress; }
|
||||||
|
|
||||||
size_t I2cCookie::getMaxReplyLen() const { return maxReplyLen; }
|
size_t I2cCookie::getMaxReplyLen() const { return maxReplyLen; }
|
||||||
|
|
||||||
std::string I2cCookie::getDeviceFile() const { return deviceFile; }
|
const std::string& I2cCookie::getDeviceFile() const { return deviceFile; }
|
||||||
|
|
||||||
I2cCookie::~I2cCookie() {}
|
I2cCookie::~I2cCookie() {}
|
||||||
|
@ -25,7 +25,7 @@ class I2cCookie : public CookieIF {
|
|||||||
|
|
||||||
address_t getAddress() const;
|
address_t getAddress() const;
|
||||||
size_t getMaxReplyLen() const;
|
size_t getMaxReplyLen() const;
|
||||||
std::string getDeviceFile() const;
|
const std::string& getDeviceFile() const;
|
||||||
|
|
||||||
uint8_t errorCounter = 0;
|
uint8_t errorCounter = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user