Skip to content

Commit f14aec2

Browse files
authored
Merge pull request #3 from cparata/master
Add MLC API
2 parents 1e6a6e0 + 368c319 commit f14aec2

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

keywords.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ Get_FIFO_X_Axes KEYWORD2
8282
Set_FIFO_X_BDR KEYWORD2
8383
Get_FIFO_G_Axes KEYWORD2
8484
Set_FIFO_G_BDR KEYWORD2
85+
Get_MLC_Status KEYWORD2
86+
Get_MLC_Output KEYWORD2
8587

8688
#######################################
8789
# Constants (LITERAL1)

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=STM32duino LSM6DSOX
2-
version=1.0.0
2+
version=1.1.0
33
author=SRA
44
maintainer=stm32duino
55
sentence=Ultra Low Power inertial measurement unit.

src/LSM6DSOXSensor.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2698,7 +2698,25 @@ LSM6DSOXStatusTypeDef LSM6DSOXSensor::Set_FIFO_G_BDR(float Bdr)
26982698
return LSM6DSOX_OK;
26992699
}
27002700

2701+
LSM6DSOXStatusTypeDef LSM6DSOXSensor::Get_MLC_Status(LSM6DSOX_MLC_Status_t *Status)
2702+
{
2703+
if (lsm6dsox_mlc_status_get(&reg_ctx, (lsm6dsox_mlc_status_mainpage_t *)Status) != LSM6DSOX_OK)
2704+
{
2705+
return LSM6DSOX_ERROR;
2706+
}
2707+
2708+
return LSM6DSOX_OK;
2709+
}
27012710

2711+
LSM6DSOXStatusTypeDef LSM6DSOXSensor::Get_MLC_Output(uint8_t *Output)
2712+
{
2713+
if (lsm6dsox_mlc_out_get(&reg_ctx, Output) != LSM6DSOX_OK)
2714+
{
2715+
return LSM6DSOX_ERROR;
2716+
}
2717+
2718+
return LSM6DSOX_OK;
2719+
}
27022720

27032721
int32_t LSM6DSOX_io_write(void *handle, uint8_t WriteAddr, uint8_t *pBuffer, uint16_t nBytesToWrite)
27042722
{

src/LSM6DSOXSensor.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,17 @@ typedef struct
8989
unsigned int SleepStatus : 1;
9090
} LSM6DSOX_Event_Status_t;
9191

92+
typedef struct {
93+
unsigned int is_mlc1 : 1;
94+
unsigned int is_mlc2 : 1;
95+
unsigned int is_mlc3 : 1;
96+
unsigned int is_mlc4 : 1;
97+
unsigned int is_mlc5 : 1;
98+
unsigned int is_mlc6 : 1;
99+
unsigned int is_mlc7 : 1;
100+
unsigned int is_mlc8 : 1;
101+
} LSM6DSOX_MLC_Status_t;
102+
92103

93104
/* Class Declaration ---------------------------------------------------------*/
94105

@@ -182,6 +193,9 @@ class LSM6DSOXSensor
182193
LSM6DSOXStatusTypeDef Set_FIFO_X_BDR(float Bdr);
183194
LSM6DSOXStatusTypeDef Get_FIFO_G_Axes(int32_t *AngularVelocity);
184195
LSM6DSOXStatusTypeDef Set_FIFO_G_BDR(float Bdr);
196+
197+
LSM6DSOXStatusTypeDef Get_MLC_Status(LSM6DSOX_MLC_Status_t *Status);
198+
LSM6DSOXStatusTypeDef Get_MLC_Output(uint8_t *Output);
185199

186200
/**
187201
* @brief Utility function to read data.

0 commit comments

Comments
 (0)