You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
724 B

#include <stdint.h>
#include <iostream>
#include <string>
#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;
};