#include #include #include #include "../../management/errorHandling.h" #include "../../systems/systemCall.h" class I2C_Driver { public: I2C_Driver(const uint8_t& channel, const uint8_t& mode); 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 uint16_t& data); private: 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; };