| #include "i2c.hpp" |
| |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <unistd.h> |
| |
| #include <cerrno> |
| |
| namespace i2c |
| { |
| |
| void I2CDevice::open() |
| { |
| fd = ::open(busStr.c_str(), O_RDWR); |
| if (fd == -1) |
| { |
| throw I2CException("Failed to open", busStr, devAddr, errno); |
| } |
| } |
| |
| void I2CDevice::close() |
| { |
| ::close(fd); |
| } |
| |
| void I2CDevice::read(uint8_t& data) |
| { |
| // TODO |
| (void)data; |
| } |
| |
| void I2CDevice::read(uint8_t addr, uint8_t& data) |
| { |
| // TODO |
| (void)addr; |
| (void)data; |
| } |
| |
| void I2CDevice::read(uint8_t addr, uint16_t& data) |
| { |
| // TODO |
| (void)addr; |
| (void)data; |
| } |
| |
| void I2CDevice::read(uint8_t addr, uint8_t& size, uint8_t* data) |
| { |
| // TODO |
| (void)addr; |
| (void)size; |
| (void)data; |
| } |
| |
| void I2CDevice::write(uint8_t data) |
| { |
| // TODO |
| (void)data; |
| } |
| |
| void I2CDevice::write(uint8_t addr, uint8_t data) |
| { |
| // TODO |
| (void)addr; |
| (void)data; |
| } |
| |
| void I2CDevice::write(uint8_t addr, uint16_t data) |
| { |
| // TODO |
| (void)addr; |
| (void)data; |
| } |
| |
| void I2CDevice::write(uint8_t addr, uint8_t size, const uint8_t* data) |
| { |
| // TODO |
| (void)addr; |
| (void)size; |
| (void)data; |
| } |
| |
| std::unique_ptr<I2CInterface> I2CDevice::create(uint8_t busId, uint8_t devAddr) |
| { |
| std::unique_ptr<I2CDevice> dev(new I2CDevice(busId, devAddr)); |
| return dev; |
| } |
| |
| std::unique_ptr<I2CInterface> create(uint8_t busId, uint8_t devAddr) |
| { |
| return I2CDevice::create(busId, devAddr); |
| } |
| |
| } // namespace i2c |