File reorg, step1
This commit is contained in:
36
lib/I2C/I2C_Driver.cpp
Normal file
36
lib/I2C/I2C_Driver.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "I2C_Driver.h"
|
||||
|
||||
|
||||
void I2C_Init(void) {
|
||||
Wire.begin( I2C_SDA_PIN, I2C_SCL_PIN);
|
||||
}
|
||||
|
||||
|
||||
bool I2C_Read(uint8_t Driver_addr, uint8_t Reg_addr, uint8_t *Reg_data, uint32_t Length)
|
||||
{
|
||||
Wire.beginTransmission(Driver_addr);
|
||||
Wire.write(Reg_addr);
|
||||
if ( Wire.endTransmission(true)){
|
||||
printf("The I2C transmission fails. - I2C Read\r\n");
|
||||
return -1;
|
||||
}
|
||||
Wire.requestFrom(Driver_addr, Length);
|
||||
for (int i = 0; i < Length; i++) {
|
||||
*Reg_data++ = Wire.read();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
bool I2C_Write(uint8_t Driver_addr, uint8_t Reg_addr, const uint8_t *Reg_data, uint32_t Length)
|
||||
{
|
||||
Wire.beginTransmission(Driver_addr);
|
||||
Wire.write(Reg_addr);
|
||||
for (int i = 0; i < Length; i++) {
|
||||
Wire.write(*Reg_data++);
|
||||
}
|
||||
if ( Wire.endTransmission(true))
|
||||
{
|
||||
printf("The I2C transmission fails. - I2C Write\r\n");
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
10
lib/I2C/I2C_Driver.h
Normal file
10
lib/I2C/I2C_Driver.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
#include <Wire.h>
|
||||
|
||||
#define I2C_SCL_PIN 41
|
||||
#define I2C_SDA_PIN 42
|
||||
|
||||
void I2C_Init(void);
|
||||
|
||||
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);
|
||||
Reference in New Issue
Block a user