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
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;
|
|
};
|
|
|
|
|