Переход на C++
Очередная попытка реализовать чтение IMU как в рабочей прошивке оказалась провальной. Поэтому было принято решение перенести проект на C++ и писать его подобно рабочей прошивке. Реализован драйвер для I2C. Добавлены файлы интерфейса IMU и конкретного ICM20948.
This commit is contained in:
@@ -51,6 +51,20 @@ typedef struct
|
||||
static I2C_Request* i2c_head = 0;
|
||||
static uint8_t i2c_busy = 0;*/
|
||||
|
||||
/*typedef struct I2C_Request
|
||||
{
|
||||
void (*Callback)(uint8_t* data, uint8_t size);
|
||||
|
||||
uint8_t* Buffer;
|
||||
uint8_t Size;
|
||||
|
||||
uint8_t Address;
|
||||
uint8_t Write;
|
||||
uint8_t Read;
|
||||
|
||||
struct I2C_Request* Next;
|
||||
} I2C_Request;*/
|
||||
|
||||
static void (*i2c_callback)(uint8_t* buf) = 0;
|
||||
|
||||
void imu_pow_init();
|
||||
@@ -65,10 +79,10 @@ void imu_tim6_init(const uint16_t freq);
|
||||
|
||||
void i2c_read(uint8_t addr, uint8_t reg, uint8_t* buf, uint8_t len);
|
||||
|
||||
/*void i2c_enqueue(I2C_Request* req);
|
||||
void i2c_start_next();*/
|
||||
//void i2c_enqueue(I2C_Request* req);
|
||||
void i2c_start_next();
|
||||
|
||||
void i2c_read_async(uint8_t addr, uint8_t reg, uint8_t len, void (*cb)(uint8_t*));
|
||||
void imu_get_async(void (*cb)(uint8_t* data, uint8_t size));
|
||||
|
||||
void i2c_write(uint8_t addr, uint8_t reg, uint8_t data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user