#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; } #if 0 uint16_t readWord(const uint8_t& address, const uint8_t& reg); void writeWord(const uint8_t& address, const uint8_t& reg, const uint16_t& byte); 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& byte) { impl->writeByte(address, reg, byte); } #if 0 uint16_t readWord(const uint8_t& address, const uint8_t& reg); void writeWord(const uint8_t& address, const uint8_t& reg, const uint16_t& byte); 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