31 lines
809 B
C++
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;
|
|
}
|