#include "ii2c.hpp" #include #include // // implementation // /** * dummy implementation version */ class I2C::I2C_impl { public: I2C_impl() { std::cout << "dummy I2C Ctor" << std::endl; } uint8_t readByte(const uint8_t& address, const uint8_t& reg) { std::cout << "dummy I2C readByte()" << std::endl; std::cout << "address: " << static_cast(address) << std::endl; std::cout << "reg : " << static_cast(reg) << std::endl; std::cout << "returning 0" << std::endl; return 0; } void writeByte(const uint8_t& address, const uint8_t& reg, const uint8_t& byte) { std::cout << "dummy I2C writeByte()" << std::endl; std::cout << "address: " << static_cast(address) << std::endl; std::cout << "reg : " << static_cast(reg) << std::endl; std::cout << "byte : " << static_cast(byte) << std::endl; } uint16_t readWord(const uint8_t& address, const uint8_t& reg) { std::cout << "dummy I2C readWord()" << std::endl; std::cout << "address: " << static_cast(address) << std::endl; std::cout << "reg : " << static_cast(reg) << std::endl; std::cout << "returning 0" << std::endl; return 0; } void writeWord(const uint8_t& address, const uint8_t& reg, const uint16_t& word) { std::cout << "dummy I2C writeWord()" << std::endl; std::cout << "address: " << static_cast(address) << std::endl; std::cout << "reg : " << static_cast(reg) << std::endl; std::cout << "word : " << static_cast(word) << std::endl; } #if 0 void readBuffer(const uint8_t& address, const uint8_t& reg, uint8_t data[], uint8_t len); void writeBuffer(const uint8_t& address, const uint8_t& reg, const uint8_t data[], uint8_t len); #endif }; // // information relay // I2C::I2C() : impl{std::make_unique()} { } I2C::~I2C() { } uint8_t I2C::readByte(const uint8_t& address, const uint8_t& reg) { return impl->readByte(address, reg); } void I2C::writeByte(const uint8_t& address, const uint8_t& reg, const uint8_t& word) { impl->writeByte(address, reg, word); } uint16_t I2C::readWord(const uint8_t& address, const uint8_t& reg) { return impl->readWord(address, reg); } void I2C::writeWord(const uint8_t& address, const uint8_t& reg, const uint16_t& word) { impl->writeWord(address, reg, word); } #if 0 void readBuffer(const uint8_t& address, const uint8_t& reg, uint8_t data[], uint8_t len); void writeBuffer(const uint8_t& address, const uint8_t& reg, const uint8_t data[], uint8_t len); #endif