VulcanoLE/src/VulcanoLE/API/I2C.cpp

31 lines
809 B
C++

#include <VulcanoLE/API/I2C.h>
#include <VUtils/FileHandler.h>
#include <VUtils/Logging.h>
#include <string>
#include <vector>
#include <linux/i2c-dev.h>
#include <linux/i2c.h>
#include <sys/ioctl.h>
#include <fcntl.h>
// @Todo Implement Reading and creating all busses!
int I2C::readDevices() {
std::vector<std::string> files = VUtils::FileHandler::readDir("/sys/bus/i2c/devices/");
if (files.empty()) {
WARN("No I2C Devices found");
return 1;
}
for (auto &file : files) {
if (file.find("i2c-") != std::string::npos) {
auto device = file + "/name";
auto dev = open(device.c_str(), O_RDONLY);
if(dev) {
} else {
ERR("Cannot open device %s", device.c_str())
}
}
}
return 1;
}