monorepo
This commit is contained in:
39
P5_SETR1/Core/Src/LSM6DSL.c
Executable file
39
P5_SETR1/Core/Src/LSM6DSL.c
Executable file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* LSM6DSL.c
|
||||
*
|
||||
* Created on: Feb 7, 2025
|
||||
* Author: Angel Jimenez
|
||||
*/
|
||||
|
||||
#include "stm32l4xx_hal.h"
|
||||
#include "LSM6DSL.h"
|
||||
|
||||
extern I2C_HandleTypeDef hi2c2;
|
||||
|
||||
void LSM6DSL_Init(){
|
||||
|
||||
uint8_t buffer[1];
|
||||
buffer[0] = ODR_XL_104Hz;
|
||||
HAL_I2C_Mem_Write(&hi2c2, LSM6DSL_ADDR, REG_CTRL1_XL, I2C_MEMADD_SIZE_8BIT, buffer, 1, 1000);
|
||||
|
||||
}
|
||||
|
||||
uint8_t LSM6DSL_DataReady(){
|
||||
|
||||
uint8_t buffer[1];
|
||||
HAL_I2C_Mem_Read(&hi2c2, LSM6DSL_ADDR, REG_STATUS, I2C_MEMADD_SIZE_8BIT, buffer, 1, 1000);
|
||||
return ((buffer[0] & 0x01) != 0);
|
||||
|
||||
}
|
||||
|
||||
void LSM6DSL_ReadAccel(float accel[]){
|
||||
|
||||
uint8_t buffer[6];
|
||||
|
||||
HAL_I2C_Mem_Read(&hi2c2, LSM6DSL_ADDR, REG_OUTX_L_XL, I2C_MEMADD_SIZE_8BIT, buffer, 6, 1000);
|
||||
|
||||
for(uint8_t i = 0; i < 3; i++){
|
||||
accel[i] = ((int16_t)(buffer[2*i+1]<<8) | buffer[2*i])*0.061f;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user