History log of /device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dcfd0aac21120d9df5f16ebab4eba2d221d3b2d7 26-Oct-2017 Ben Fennema <fennema@google.com> nanohub:drivers:st_lsm6dsm: sync with mag cal changes

Test: builds with and without DIVERSITY_CHECK_ENABLED #define'd
Change-Id: Ie339683b664f70b904657933e02bcfbfc4a39b2e
Signed-off-by: Ben Fennema <fennema@google.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
b6f95b69331caa8356ba3e1e9d8e77cb0d43c17b 31-Aug-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: fix correct slave num op and optimize slave part

This patch is fixing the slave num op number. Only engineering samples
support the possibility to use slave 0 only if write once is enabled.
Strange behavior happen in other cases. Follow AN description.
Few optimizations are also included for I2C master interface.

Change-Id: I0d57adf3002654eed6659398aa38edf28ff3428d
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
ecf1977a19e5ce90bdcce12df2eb9a912ff00a36 17-Aug-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: use delay after write on slave if necessary

If necessary driver should wait delay time after writing to an
i2c slave.
In this case during reboot procedure ak09916 block i2c data line if
new i2c command is delivered without waiting boot is completed.

Change-Id: I0067aaf9f250b911c9bb33d75c55a47c55f52950
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
857931f3211fb2002a4b28385376788d2d8aad3d 25-May-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: define macro instead of using const number directly

Change-Id: Ib6c965df76eb6c8a38336c492ad67d2f660d30a7
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
05955407e366aef06e676c1e4f9269e3ca934771 22-May-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: added sensorCfgData and Calibration functions

This patch will allow driver to receive configuration data from HAL and be
able to perform `factory` calibration using nanotool -x calibrate -s sensorName.

Change-Id: I6316fd64d97b1ff10ca0242f09d3dec0696d1ac2
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
83dfc8e70ccfb866034c7d8a35ba383b72f45d60 11-May-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: fix array index issue that cause hard fault

samplesCounter[] array is indexed by SensorFifoIndex and not by SensorIndex.
With wrong indexing sometimes pushData function was called while no memory
was allocated for sensor data.
The patch 1870f068 show immediatly the access to memory location 0 causing
hard fault.

Change-Id: I891b2a720faa0e7062694b6c558f3f28c6a0f4cc
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
9728144996747042397d265056c745868476c8c8 17-Mar-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: added self-test procedure for accel, gyro and magn sensors

Change-Id: I003ad27788eae5dbc044df919b950c36a3d1f120
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
3d52d3010b32175bcd640a36725915a7881b953d 01-Mar-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: verify config macros are all set

Change-Id: I6cf800a5dc7b5d8cc4a77d3b68b3a9d007bda95a
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
1de8fa17b382ae04d38d6b1dc0dd00de6226b25a 21-Feb-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: update driver in order to use internal FIFO

This patch introduce a big change of driver architecture. Internal FIFO
is now used to store accel, gyro, magn and timestamp in order to
be able to fully support android batch mode.
Driver is still able to use one single interrupt pad (INT1) to manage all the
interrupts coming from sensor.
Thanks to FIFO driver is now able to support 416Hz as maximum output data
rate and thanks to FIFO decimators it can also achieve 0.81Hz as minimum.

Change-Id: I997c66d504a4a132ed22bdba00da8feb2f79449e
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
5aae6b3c7f39c50daa496a9ac5accc561286e275 01-Mar-2017 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers:st_lsm6dsm: calibration algorithms driver updates

This patch includes the changes required to support new calibration
algorithms.

Test: tested by partner
Change-Id: I0b923022276b428d9338da9f4496ab150cfa0495
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c
93d7b24cffadfe730a15eaff743b759a5a2ad93a 26-Aug-2016 Denis Ciocca <denis.ciocca@st.com> nanohub:drivers: add STMicroelectronics LSM6DSM IMU driver

This patch adds support for LSM6DSM combo sensor.
Driver support SPI interface only and INT1 is used as interrupt source.

Current implementation include:
- Accel & Gyro data;
- Accel bias calibration through accel_cal lib;
- Gyro bias calibration through gyro_cal & gyro_stillnes_detect libs;
- Step detector & counter;
- Significant motion;
- Magnetometer sensor connected through I2C master interface (LIS3MDL, LSM303AGR, AK09916);
- Magnetometer calibration though mag_cal lib;
- Pressure sensor connected through I2C master interface (LPS22HB);

Test: tested by partner
Change-Id: I8e4d314d550f06972292374931e7f8dbd392d631
Signed-off-by: Denis Ciocca <denis.ciocca@st.com>
/device/google/contexthub/firmware/os/drivers/st_lsm6dsm/st_lsm6dsm.c