I2C driver
This commit is contained in:
@@ -1,10 +1,25 @@
|
||||
#pragma once
|
||||
#include <Wire.h>
|
||||
#include <vector>
|
||||
#include <mutex>
|
||||
|
||||
#define I2C_SCL_PIN 41
|
||||
#define I2C_SDA_PIN 42
|
||||
#define I2C_SCL_PIN 41
|
||||
#define I2C_SDA_PIN 42
|
||||
|
||||
void I2C_Init(void);
|
||||
namespace drivers {
|
||||
|
||||
class I2C {
|
||||
private:
|
||||
bool isInitialized = false;
|
||||
std::mutex busy;
|
||||
|
||||
bool I2C_Read(uint8_t Driver_addr, uint8_t Reg_addr, uint8_t *Reg_data, uint32_t Length);
|
||||
bool I2C_Write(uint8_t Driver_addr, uint8_t Reg_addr, const uint8_t *Reg_data, uint32_t Length);
|
||||
public:
|
||||
I2C(void);
|
||||
~I2C(void);
|
||||
|
||||
const bool Read(const uint8_t deviceAddr, const uint8_t deviceReg, const uint8_t len, std::vector<uint8_t> &data);
|
||||
const bool Write(const uint8_t deviceAddr, const uint8_t deviceReg, const std::vector<uint8_t> &data);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user