#ifndef _I2C_CH1_PIMPL_H_ #define _I2C_CH1_PIMPL_H_ #include #include #include #include #include #include #include #include #include #include #define PORT_I2C "/dev/i2c-1" #include "../../systems/systemCall.h" #include "../../management/errorHandling.h" #include "i2c.hpp" class i2c_ch1_pImpL { public: i2c_ch1_pImpL(const uint8_t& mode, ErrorHandler* err); // Mode : Master or Slave uint8_t readByte(const uint8_t& address, const uint8_t& reg); uint16_t readWord(const uint8_t& address, const uint8_t& reg); uint8_t writeByte(const uint8_t& address, const uint8_t& data); uint8_t writeWord(const uint8_t& address, const uint8_t& reg, const uint8_t& data); uint8_t writeWordWithReg(const uint8_t& address, const uint8_t& reg, const uint16_t& data); // retuns 0 when a sucsessful transation ocures private: ErrorHandler *errorHandling; int16_t deviceDescriptor; uint8_t device_address; uint8_t device_reg; uint8_t send_buffer[32]; uint8_t recieve_buffer[32]; uint8_t blocks; uint8_t channel; uint8_t mode; }; #endif // _I2C_CH1_PIMPL_H_