29 lines
515 B
C
Executable File
29 lines
515 B
C
Executable File
/*
|
|
* LSM6DSL.c
|
|
*
|
|
* Created on: Mar 3, 2025
|
|
* Author: jomaa
|
|
*/
|
|
|
|
#include "stm32l4xx_hal.h"
|
|
#include "LSM6DSL.h"
|
|
|
|
extern I2C_HandleTypeDef hi2c2;
|
|
|
|
void LSM6DSL_Init(void)
|
|
{
|
|
uint8_t buffer[1];
|
|
buffer[0] = 0x40;
|
|
|
|
HAL_I2C_Mem_Write(&hi2c2, 0xD4, 0x10,
|
|
I2C_MEMADD_SIZE_8BIT, buffer, 1, 1000);
|
|
}
|
|
|
|
int16_t LSM6DSL_ReadAccel(uint8_t axis)
|
|
{
|
|
uint8_t buffer[2];
|
|
HAL_I2C_Mem_Read(&hi2c2, 0xD4, 0x28+2*axis,
|
|
I2C_MEMADD_SIZE_8BIT, buffer, 2, 1000);
|
|
return ((int16_t)(buffer[1]<<8) | buffer[0]) * 0.061f;
|
|
}
|