cancel
Showing results for 
Search instead for 
Did you mean: 

For Lsm6dsl chip, Is there anyway to set power mode? The interface may similar as setIMUPowerMode(int powerMode, int sensorType)

jimbo
Associate

Hi :

We are using lsm6dsl chip on i2c bus.   Our customer request to implement a api interface similar as 

int setIMUPowerMode(int powerMode, int sensorType); 
 
Noted that in "table 5/6"  the powemode is not a one-to-one correspondence with some registers.  In my unstanding the power mode can't be set directly.
 
Is there anyway to implement the interface?
 

jimbo_1-1763619927588.png

 

jimbo_2-1763619941133.png

 

 

 

2 REPLIES 2
Federica Bossi
ST Employee

Hi @jimbo ,

You can enable/disable the high performance mode through the XL_HM_MODE (reg 15h) and G_HM_MODE (reg 16h).

If G_HM_MODE is set to '0', high-performance mode is valid for all ODRs (from 12.5 Hz up to 6.66 kHz).

To enable the low-power and normal mode, the G_HM_MODE bit has to be set to '1'. Low power mode is available for lower ODRs (12.5, 26, 52 Hz) while normal mode is available for ODRs equal to 104 and 208 Hz.

If XL_HM_MODE is set to '0', high-performance mode is valid for all ODRs (from 12.5 Hz up
to 6.66 kHz).
To enable the low-power and normal mode, the XL_HM_MODE bit has to be set to '1'. Low power mode is available for lower ODRs (1.6, 12.5, 26, 52 Hz) while normal mode is available for ODRs equal to 104 and 208 Hz.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi Federica,

Thanks for your reply. 

According to the sensor spec document, one power-mode does not correspond to one state. I don't know which one to choose.

For example: If customer request to set to High Performance Mode to Gyroscope sensor, Should I set G_HM_MODE to 0 or set G_HM_MODE to 1 and setting odr to several values greater than 0110 at the same time?

 

Does it exist a register to stores the power mode?