Firmware Library for X-NUCLEO-IKS01A2 (MEMS Inertial & Environmental Sensors) Expansion Board

Dependencies:   LPS22HB LSM6DSL LSM303AGR HTS221

Dependents:   Giroscopio_main HelloWorld_IKS01A2 DuckieTownCar HelloWorld_IKS01A2 ... more

Fork of X_NUCLEO_IKS01A2 by ST Expansion SW Team

X-NUCLEO-IKS01A2 MEMS Inertial & Environmental Sensor Nucleo Expansion Board Firmware Package

Introduction

This firmware package includes Components Device Drivers and Board Support Package for STMicroelectronics' X-NUCLEO-IKS01A2 MEMS Inertial & Environmental Sensors Nucleo Expansion Board.

Firmware Library

Class X_NUCLEO_IKS01A2 is intended to represent the MEMS inertial & environmental sensors expansion board with the same name.

The expansion board is basically featuring four IPs:

  1. a HTS221 Relative Humidity and Temperature Sensor,
  2. a LSM303AGR 3-Axis Magnetometer and 3-Axis Accelerometer
  3. a LPS22HB MEMS Pressure and Temperature Sensor
  4. a LSM6DSL 3-Axis Accelerometer and 3-Axis Gyroscope

The expansion board features also a DIL 24-pin socket which makes it possible to add further MEMS adapters and other sensors (e.g. UV index).

It is intentionally implemented as a singleton because only one X_NUCLEO_IKS01A2 at a time might be deployed in a HW component stack. In order to get the singleton instance you have to call class method `instance()`, e.g.:

// Sensors expansion board singleton instance
static X_NUCLEO_IKS01A2 *mems_expansion_board = X_NUCLEO_IKS01A2::instance(D14, D15, D4, D5);


Furthermore, library ST_INTERFACES contains all abstract classes which together constitute the common API to which all existing and future ST components will adhere to.

Example Applications

Files at this revision

API Documentation at this revision

Comitter:
davide.aliprandi@st.com
Date:
Tue Mar 14 15:39:53 2017 +0100
Parent:
9:038121268b07
Child:
11:cf0f610e813e
Commit message:
Renamed status_t into mems_status_t to avoid conflicts with other expansion boards.

Changed in this revision

Components/LSM303AGRSensor/LSM303AGR_acc_driver.c Show annotated file Show diff for this revision Revisions of this file
Components/LSM303AGRSensor/LSM303AGR_acc_driver.h Show annotated file Show diff for this revision Revisions of this file
Components/LSM303AGRSensor/LSM303AGR_mag_driver.c Show annotated file Show diff for this revision Revisions of this file
Components/LSM303AGRSensor/LSM303AGR_mag_driver.h Show annotated file Show diff for this revision Revisions of this file
Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.c Show annotated file Show diff for this revision Revisions of this file
Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.h Show annotated file Show diff for this revision Revisions of this file
--- a/Components/LSM303AGRSensor/LSM303AGR_acc_driver.c	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM303AGRSensor/LSM303AGR_acc_driver.c	Tue Mar 14 15:39:53 2017 +0100
@@ -60,7 +60,7 @@
 * Output            : Data REad
 * Return            : None
 *******************************************************************************/
-status_t LSM303AGR_ACC_read_reg(void *handle, u8_t Reg, u8_t* Data) 
+mems_status_t LSM303AGR_ACC_read_reg(void *handle, u8_t Reg, u8_t* Data) 
 {
   
   if (LSM303AGR_ACC_io_read(handle, Reg, Data, 1))
@@ -81,7 +81,7 @@
 * Output            : None
 * Return            : None
 *******************************************************************************/
-status_t LSM303AGR_ACC_write_reg(void *handle, u8_t Reg, u8_t Data) 
+mems_status_t LSM303AGR_ACC_write_reg(void *handle, u8_t Reg, u8_t Data) 
 {
     
   if (LSM303AGR_ACC_io_write(handle, Reg, &Data, 1))
@@ -134,7 +134,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_x_data_avail(void *handle, LSM303AGR_ACC_1DA_t *value)
+mems_status_t LSM303AGR_ACC_R_x_data_avail(void *handle, LSM303AGR_ACC_1DA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -151,7 +151,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_y_data_avail(void *handle, LSM303AGR_ACC_2DA__t *value)
+mems_status_t LSM303AGR_ACC_R_y_data_avail(void *handle, LSM303AGR_ACC_2DA__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -168,7 +168,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_z_data_avail(void *handle, LSM303AGR_ACC_3DA__t *value)
+mems_status_t LSM303AGR_ACC_R_z_data_avail(void *handle, LSM303AGR_ACC_3DA__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -185,7 +185,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_xyz_data_avail(void *handle, LSM303AGR_ACC_321DA__t *value)
+mems_status_t LSM303AGR_ACC_R_xyz_data_avail(void *handle, LSM303AGR_ACC_321DA__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -202,7 +202,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_DataXOverrun(void *handle, LSM303AGR_ACC_1OR__t *value)
+mems_status_t LSM303AGR_ACC_R_DataXOverrun(void *handle, LSM303AGR_ACC_1OR__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -219,7 +219,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_DataYOverrun(void *handle, LSM303AGR_ACC_2OR__t *value)
+mems_status_t LSM303AGR_ACC_R_DataYOverrun(void *handle, LSM303AGR_ACC_2OR__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -236,7 +236,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_DataZOverrun(void *handle, LSM303AGR_ACC_3OR__t *value)
+mems_status_t LSM303AGR_ACC_R_DataZOverrun(void *handle, LSM303AGR_ACC_3OR__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -253,7 +253,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_DataXYZOverrun(void *handle, LSM303AGR_ACC_321OR__t *value)
+mems_status_t LSM303AGR_ACC_R_DataXYZOverrun(void *handle, LSM303AGR_ACC_321OR__t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG_AUX, (u8_t *)value) )
     return MEMS_ERROR;
@@ -270,7 +270,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_int_counter(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_int_counter(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT_COUNTER_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -288,7 +288,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_WHO_AM_I(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_WHO_AM_I(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_WHO_AM_I_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -305,7 +305,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t newValue)
+mems_status_t LSM303AGR_ACC_W_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t newValue)
 {
   u8_t value;
 
@@ -329,7 +329,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t *value)
+mems_status_t LSM303AGR_ACC_R_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_TEMP_CFG_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -345,7 +345,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t newValue)
+mems_status_t LSM303AGR_ACC_W_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t newValue)
 {
   u8_t value;
 
@@ -369,7 +369,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t *value)
+mems_status_t LSM303AGR_ACC_R_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_TEMP_CFG_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -385,7 +385,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_XEN(void *handle, LSM303AGR_ACC_XEN_t newValue)
+mems_status_t LSM303AGR_ACC_W_XEN(void *handle, LSM303AGR_ACC_XEN_t newValue)
 {
   u8_t value;
 
@@ -409,7 +409,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XEN(void *handle, LSM303AGR_ACC_XEN_t *value)
+mems_status_t LSM303AGR_ACC_R_XEN(void *handle, LSM303AGR_ACC_XEN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG1, (u8_t *)value) )
     return MEMS_ERROR;
@@ -425,7 +425,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_YEN(void *handle, LSM303AGR_ACC_YEN_t newValue)
+mems_status_t LSM303AGR_ACC_W_YEN(void *handle, LSM303AGR_ACC_YEN_t newValue)
 {
   u8_t value;
 
@@ -449,7 +449,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_YEN(void *handle, LSM303AGR_ACC_YEN_t *value)
+mems_status_t LSM303AGR_ACC_R_YEN(void *handle, LSM303AGR_ACC_YEN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG1, (u8_t *)value) )
     return MEMS_ERROR;
@@ -465,7 +465,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ZEN(void *handle, LSM303AGR_ACC_ZEN_t newValue)
+mems_status_t LSM303AGR_ACC_W_ZEN(void *handle, LSM303AGR_ACC_ZEN_t newValue)
 {
   u8_t value;
 
@@ -489,7 +489,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ZEN(void *handle, LSM303AGR_ACC_ZEN_t *value)
+mems_status_t LSM303AGR_ACC_R_ZEN(void *handle, LSM303AGR_ACC_ZEN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG1, (u8_t *)value) )
     return MEMS_ERROR;
@@ -505,7 +505,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t newValue)
+mems_status_t LSM303AGR_ACC_W_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t newValue)
 {
   u8_t value;
 
@@ -529,7 +529,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t *value)
+mems_status_t LSM303AGR_ACC_R_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG1, (u8_t *)value) )
     return MEMS_ERROR;
@@ -545,7 +545,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ODR(void *handle, LSM303AGR_ACC_ODR_t newValue)
+mems_status_t LSM303AGR_ACC_W_ODR(void *handle, LSM303AGR_ACC_ODR_t newValue)
 {
   u8_t value;
 
@@ -569,7 +569,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ODR(void *handle, LSM303AGR_ACC_ODR_t *value)
+mems_status_t LSM303AGR_ACC_R_ODR(void *handle, LSM303AGR_ACC_ODR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG1, (u8_t *)value) )
     return MEMS_ERROR;
@@ -585,7 +585,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t newValue)
+mems_status_t LSM303AGR_ACC_W_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t newValue)
 {
   u8_t value;
 
@@ -609,7 +609,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t *value)
+mems_status_t LSM303AGR_ACC_R_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -625,7 +625,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t newValue)
+mems_status_t LSM303AGR_ACC_W_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t newValue)
 {
   u8_t value;
 
@@ -649,7 +649,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t *value)
+mems_status_t LSM303AGR_ACC_R_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -665,7 +665,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t newValue)
+mems_status_t LSM303AGR_ACC_W_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t newValue)
 {
   u8_t value;
 
@@ -689,7 +689,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t *value)
+mems_status_t LSM303AGR_ACC_R_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -705,7 +705,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t newValue)
+mems_status_t LSM303AGR_ACC_W_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t newValue)
 {
   u8_t value;
 
@@ -729,7 +729,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t *value)
+mems_status_t LSM303AGR_ACC_R_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -745,7 +745,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t newValue)
+mems_status_t LSM303AGR_ACC_W_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t newValue)
 {
   u8_t value;
 
@@ -769,7 +769,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t *value)
+mems_status_t LSM303AGR_ACC_R_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -785,7 +785,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t newValue)
+mems_status_t LSM303AGR_ACC_W_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t newValue)
 {
   u8_t value;
 
@@ -809,7 +809,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t *value)
+mems_status_t LSM303AGR_ACC_R_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -825,7 +825,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t newValue)
 {
   u8_t value;
 
@@ -849,7 +849,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -865,7 +865,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t newValue)
 {
   u8_t value;
 
@@ -889,7 +889,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -905,7 +905,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t newValue)
 {
   u8_t value;
 
@@ -929,7 +929,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -945,7 +945,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t newValue)
 {
   u8_t value;
 
@@ -969,7 +969,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -985,7 +985,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t newValue)
 {
   u8_t value;
 
@@ -1009,7 +1009,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1025,7 +1025,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t newValue)
 {
   u8_t value;
 
@@ -1049,7 +1049,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1065,7 +1065,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t newValue)
 {
   u8_t value;
 
@@ -1089,7 +1089,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG3, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1105,7 +1105,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t newValue)
+mems_status_t LSM303AGR_ACC_W_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t newValue)
 {
   u8_t value;
 
@@ -1129,7 +1129,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t *value)
+mems_status_t LSM303AGR_ACC_R_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1145,7 +1145,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_SelfTest(void *handle, LSM303AGR_ACC_ST_t newValue)
+mems_status_t LSM303AGR_ACC_W_SelfTest(void *handle, LSM303AGR_ACC_ST_t newValue)
 {
   u8_t value;
 
@@ -1169,7 +1169,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_SelfTest(void *handle, LSM303AGR_ACC_ST_t *value)
+mems_status_t LSM303AGR_ACC_R_SelfTest(void *handle, LSM303AGR_ACC_ST_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1185,7 +1185,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_HiRes(void *handle, LSM303AGR_ACC_HR_t newValue)
+mems_status_t LSM303AGR_ACC_W_HiRes(void *handle, LSM303AGR_ACC_HR_t newValue)
 {
   u8_t value;
 
@@ -1209,7 +1209,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_HiRes(void *handle, LSM303AGR_ACC_HR_t *value)
+mems_status_t LSM303AGR_ACC_R_HiRes(void *handle, LSM303AGR_ACC_HR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1225,7 +1225,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FullScale(void *handle, LSM303AGR_ACC_FS_t newValue)
+mems_status_t LSM303AGR_ACC_W_FullScale(void *handle, LSM303AGR_ACC_FS_t newValue)
 {
   u8_t value;
 
@@ -1249,7 +1249,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FullScale(void *handle, LSM303AGR_ACC_FS_t *value)
+mems_status_t LSM303AGR_ACC_R_FullScale(void *handle, LSM303AGR_ACC_FS_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1265,7 +1265,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t newValue)
+mems_status_t LSM303AGR_ACC_W_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t newValue)
 {
   u8_t value;
 
@@ -1289,7 +1289,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t *value)
+mems_status_t LSM303AGR_ACC_R_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1305,7 +1305,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t newValue)
+mems_status_t LSM303AGR_ACC_W_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t newValue)
 {
   u8_t value;
 
@@ -1329,7 +1329,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t *value)
+mems_status_t LSM303AGR_ACC_R_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG4, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1345,7 +1345,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t newValue)
+mems_status_t LSM303AGR_ACC_W_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t newValue)
 {
   u8_t value;
 
@@ -1369,7 +1369,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t *value)
+mems_status_t LSM303AGR_ACC_R_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1385,7 +1385,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t newValue)
+mems_status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t newValue)
 {
   u8_t value;
 
@@ -1409,7 +1409,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t *value)
+mems_status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1426,7 +1426,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t newValue)
+mems_status_t LSM303AGR_ACC_W_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t newValue)
 {
   u8_t value;
 
@@ -1450,7 +1450,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t *value)
+mems_status_t LSM303AGR_ACC_R_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1466,7 +1466,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t newValue)
+mems_status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t newValue)
 {
   u8_t value;
 
@@ -1490,7 +1490,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t *value)
+mems_status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1507,7 +1507,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t newValue)
+mems_status_t LSM303AGR_ACC_W_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t newValue)
 {
   u8_t value;
 
@@ -1531,7 +1531,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t *value)
+mems_status_t LSM303AGR_ACC_R_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1547,7 +1547,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t newValue)
+mems_status_t LSM303AGR_ACC_W_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t newValue)
 {
   u8_t value;
 
@@ -1571,7 +1571,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t *value)
+mems_status_t LSM303AGR_ACC_R_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG5, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1587,7 +1587,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t newValue)
+mems_status_t LSM303AGR_ACC_W_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t newValue)
 {
   u8_t value;
 
@@ -1611,7 +1611,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t *value)
+mems_status_t LSM303AGR_ACC_R_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1628,7 +1628,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t newValue)
+mems_status_t LSM303AGR_ACC_W_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t newValue)
 {
   u8_t value;
 
@@ -1652,7 +1652,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t *value)
+mems_status_t LSM303AGR_ACC_R_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1669,7 +1669,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t newValue)
+mems_status_t LSM303AGR_ACC_W_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t newValue)
 {
   u8_t value;
 
@@ -1693,7 +1693,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t *value)
+mems_status_t LSM303AGR_ACC_R_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1709,7 +1709,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t newValue)
+mems_status_t LSM303AGR_ACC_W_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t newValue)
 {
   u8_t value;
 
@@ -1733,7 +1733,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t *value)
+mems_status_t LSM303AGR_ACC_R_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1749,7 +1749,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t newValue)
+mems_status_t LSM303AGR_ACC_W_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t newValue)
 {
   u8_t value;
 
@@ -1773,7 +1773,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t *value)
+mems_status_t LSM303AGR_ACC_R_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1789,7 +1789,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t newValue)
+mems_status_t LSM303AGR_ACC_W_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t newValue)
 {
   u8_t value;
 
@@ -1813,7 +1813,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t *value)
+mems_status_t LSM303AGR_ACC_R_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CTRL_REG6, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1829,7 +1829,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ReferenceVal(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_ReferenceVal(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -1856,7 +1856,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ReferenceVal(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_ReferenceVal(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_REFERENCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1874,7 +1874,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XDataAvail(void *handle, LSM303AGR_ACC_XDA_t *value)
+mems_status_t LSM303AGR_ACC_R_XDataAvail(void *handle, LSM303AGR_ACC_XDA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1891,7 +1891,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_YDataAvail(void *handle, LSM303AGR_ACC_YDA_t *value)
+mems_status_t LSM303AGR_ACC_R_YDataAvail(void *handle, LSM303AGR_ACC_YDA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1908,7 +1908,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ZDataAvail(void *handle, LSM303AGR_ACC_ZDA_t *value)
+mems_status_t LSM303AGR_ACC_R_ZDataAvail(void *handle, LSM303AGR_ACC_ZDA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1925,7 +1925,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XYZDataAvail(void *handle, LSM303AGR_ACC_ZYXDA_t *value)
+mems_status_t LSM303AGR_ACC_R_XYZDataAvail(void *handle, LSM303AGR_ACC_ZYXDA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1942,7 +1942,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XDataOverrun(void *handle, LSM303AGR_ACC_XOR_t *value)
+mems_status_t LSM303AGR_ACC_R_XDataOverrun(void *handle, LSM303AGR_ACC_XOR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1959,7 +1959,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_YDataOverrun(void *handle, LSM303AGR_ACC_YOR_t *value)
+mems_status_t LSM303AGR_ACC_R_YDataOverrun(void *handle, LSM303AGR_ACC_YOR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1976,7 +1976,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ZDataOverrun(void *handle, LSM303AGR_ACC_ZOR_t *value)
+mems_status_t LSM303AGR_ACC_R_ZDataOverrun(void *handle, LSM303AGR_ACC_ZOR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1993,7 +1993,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XYZDataOverrun(void *handle, LSM303AGR_ACC_ZYXOR_t *value)
+mems_status_t LSM303AGR_ACC_R_XYZDataOverrun(void *handle, LSM303AGR_ACC_ZYXOR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_STATUS_REG2, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2009,7 +2009,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FifoThreshold(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_FifoThreshold(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -2036,7 +2036,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FifoThreshold(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_FifoThreshold(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2053,7 +2053,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_TriggerSel(void *handle, LSM303AGR_ACC_TR_t newValue)
+mems_status_t LSM303AGR_ACC_W_TriggerSel(void *handle, LSM303AGR_ACC_TR_t newValue)
 {
   u8_t value;
 
@@ -2077,7 +2077,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_TriggerSel(void *handle, LSM303AGR_ACC_TR_t *value)
+mems_status_t LSM303AGR_ACC_R_TriggerSel(void *handle, LSM303AGR_ACC_TR_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2093,7 +2093,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_FifoMode(void *handle, LSM303AGR_ACC_FM_t newValue)
+mems_status_t LSM303AGR_ACC_W_FifoMode(void *handle, LSM303AGR_ACC_FM_t newValue)
 {
   u8_t value;
 
@@ -2117,7 +2117,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FifoMode(void *handle, LSM303AGR_ACC_FM_t *value)
+mems_status_t LSM303AGR_ACC_R_FifoMode(void *handle, LSM303AGR_ACC_FM_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2134,7 +2134,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FifoSamplesAvail(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_FifoSamplesAvail(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_SRC_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2152,7 +2152,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FifoEmpty(void *handle, LSM303AGR_ACC_EMPTY_t *value)
+mems_status_t LSM303AGR_ACC_R_FifoEmpty(void *handle, LSM303AGR_ACC_EMPTY_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_SRC_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2169,7 +2169,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_FifoOverrun(void *handle, LSM303AGR_ACC_OVRN_FIFO_t *value)
+mems_status_t LSM303AGR_ACC_R_FifoOverrun(void *handle, LSM303AGR_ACC_OVRN_FIFO_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_SRC_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2186,7 +2186,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_WatermarkLevel(void *handle, LSM303AGR_ACC_WTM_t *value)
+mems_status_t LSM303AGR_ACC_R_WatermarkLevel(void *handle, LSM303AGR_ACC_WTM_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_FIFO_SRC_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2202,7 +2202,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue)
 {
   u8_t value;
 
@@ -2226,7 +2226,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2242,7 +2242,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue)
 {
   u8_t value;
 
@@ -2266,7 +2266,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2282,7 +2282,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue)
 {
   u8_t value;
 
@@ -2306,7 +2306,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2322,7 +2322,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue)
 {
   u8_t value;
 
@@ -2346,7 +2346,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2362,7 +2362,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue)
 {
   u8_t value;
 
@@ -2386,7 +2386,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2402,7 +2402,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue)
 {
   u8_t value;
 
@@ -2426,7 +2426,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2442,7 +2442,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1_6D(void *handle, LSM303AGR_ACC_6D_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1_6D(void *handle, LSM303AGR_ACC_6D_t newValue)
 {
   u8_t value;
 
@@ -2466,7 +2466,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_6D(void *handle, LSM303AGR_ACC_6D_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_6D(void *handle, LSM303AGR_ACC_6D_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2482,7 +2482,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue)
 {
   u8_t value;
 
@@ -2506,7 +2506,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2522,7 +2522,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue)
 {
   u8_t value;
 
@@ -2546,7 +2546,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2562,7 +2562,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue)
 {
   u8_t value;
 
@@ -2586,7 +2586,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2602,7 +2602,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue)
 {
   u8_t value;
 
@@ -2626,7 +2626,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2642,7 +2642,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue)
 {
   u8_t value;
 
@@ -2666,7 +2666,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2682,7 +2682,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue)
 {
   u8_t value;
 
@@ -2706,7 +2706,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2722,7 +2722,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue)
 {
   u8_t value;
 
@@ -2746,7 +2746,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2762,7 +2762,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2_6D(void *handle, LSM303AGR_ACC_6D_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2_6D(void *handle, LSM303AGR_ACC_6D_t newValue)
 {
   u8_t value;
 
@@ -2786,7 +2786,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_6D(void *handle, LSM303AGR_ACC_6D_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_6D(void *handle, LSM303AGR_ACC_6D_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2802,7 +2802,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue)
 {
   u8_t value;
 
@@ -2826,7 +2826,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2844,7 +2844,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_Xlo(void *handle, LSM303AGR_ACC_XL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_Xlo(void *handle, LSM303AGR_ACC_XL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2861,7 +2861,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_XHi(void *handle, LSM303AGR_ACC_XH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_XHi(void *handle, LSM303AGR_ACC_XH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2878,7 +2878,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_YLo(void *handle, LSM303AGR_ACC_YL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_YLo(void *handle, LSM303AGR_ACC_YL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2895,7 +2895,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_YHi(void *handle, LSM303AGR_ACC_YH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_YHi(void *handle, LSM303AGR_ACC_YH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2912,7 +2912,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2929,7 +2929,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2946,7 +2946,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_IA(void *handle, LSM303AGR_ACC_IA_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_IA(void *handle, LSM303AGR_ACC_IA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2964,7 +2964,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_Xlo(void *handle, LSM303AGR_ACC_XL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_Xlo(void *handle, LSM303AGR_ACC_XL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2981,7 +2981,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_XHi(void *handle, LSM303AGR_ACC_XH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_XHi(void *handle, LSM303AGR_ACC_XH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -2998,7 +2998,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_YLo(void *handle, LSM303AGR_ACC_YL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_YLo(void *handle, LSM303AGR_ACC_YL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3015,7 +3015,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_YHi(void *handle, LSM303AGR_ACC_YH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_YHi(void *handle, LSM303AGR_ACC_YH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3032,7 +3032,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3049,7 +3049,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3066,7 +3066,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_IA(void *handle, LSM303AGR_ACC_IA_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_IA(void *handle, LSM303AGR_ACC_IA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_SOURCE, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3083,7 +3083,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1_Threshold(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1_Threshold(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3110,7 +3110,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_Threshold(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_Threshold(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_THS, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3128,7 +3128,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2_Threshold(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2_Threshold(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3155,7 +3155,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_Threshold(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_Threshold(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_THS, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3173,7 +3173,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int1_Duration(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int1_Duration(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3200,7 +3200,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int1_Duration(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_Int1_Duration(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT1_DURATION, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3218,7 +3218,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_Int2_Duration(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_Int2_Duration(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3245,7 +3245,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_Int2_Duration(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_Int2_Duration(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_INT2_DURATION, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3263,7 +3263,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_XSingle(void *handle, LSM303AGR_ACC_XS_t newValue)
+mems_status_t LSM303AGR_ACC_W_XSingle(void *handle, LSM303AGR_ACC_XS_t newValue)
 {
   u8_t value;
 
@@ -3287,7 +3287,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XSingle(void *handle, LSM303AGR_ACC_XS_t *value)
+mems_status_t LSM303AGR_ACC_R_XSingle(void *handle, LSM303AGR_ACC_XS_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3303,7 +3303,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_XDouble(void *handle, LSM303AGR_ACC_XD_t newValue)
+mems_status_t LSM303AGR_ACC_W_XDouble(void *handle, LSM303AGR_ACC_XD_t newValue)
 {
   u8_t value;
 
@@ -3327,7 +3327,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_XDouble(void *handle, LSM303AGR_ACC_XD_t *value)
+mems_status_t LSM303AGR_ACC_R_XDouble(void *handle, LSM303AGR_ACC_XD_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3343,7 +3343,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_YSingle(void *handle, LSM303AGR_ACC_YS_t newValue)
+mems_status_t LSM303AGR_ACC_W_YSingle(void *handle, LSM303AGR_ACC_YS_t newValue)
 {
   u8_t value;
 
@@ -3367,7 +3367,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_YSingle(void *handle, LSM303AGR_ACC_YS_t *value)
+mems_status_t LSM303AGR_ACC_R_YSingle(void *handle, LSM303AGR_ACC_YS_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3383,7 +3383,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_YDouble(void *handle, LSM303AGR_ACC_YD_t newValue)
+mems_status_t LSM303AGR_ACC_W_YDouble(void *handle, LSM303AGR_ACC_YD_t newValue)
 {
   u8_t value;
 
@@ -3407,7 +3407,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_YDouble(void *handle, LSM303AGR_ACC_YD_t *value)
+mems_status_t LSM303AGR_ACC_R_YDouble(void *handle, LSM303AGR_ACC_YD_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3423,7 +3423,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ZSingle(void *handle, LSM303AGR_ACC_ZS_t newValue)
+mems_status_t LSM303AGR_ACC_W_ZSingle(void *handle, LSM303AGR_ACC_ZS_t newValue)
 {
   u8_t value;
 
@@ -3447,7 +3447,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ZSingle(void *handle, LSM303AGR_ACC_ZS_t *value)
+mems_status_t LSM303AGR_ACC_R_ZSingle(void *handle, LSM303AGR_ACC_ZS_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3463,7 +3463,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ZDouble(void *handle, LSM303AGR_ACC_ZD_t newValue)
+mems_status_t LSM303AGR_ACC_W_ZDouble(void *handle, LSM303AGR_ACC_ZD_t newValue)
 {
   u8_t value;
 
@@ -3487,7 +3487,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ZDouble(void *handle, LSM303AGR_ACC_ZD_t *value)
+mems_status_t LSM303AGR_ACC_R_ZDouble(void *handle, LSM303AGR_ACC_ZD_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_CFG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3504,7 +3504,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickX(void *handle, LSM303AGR_ACC_X_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickX(void *handle, LSM303AGR_ACC_X_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3521,7 +3521,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickY(void *handle, LSM303AGR_ACC_Y_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickY(void *handle, LSM303AGR_ACC_Y_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3538,7 +3538,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickZ(void *handle, LSM303AGR_ACC_Z_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickZ(void *handle, LSM303AGR_ACC_Z_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3555,7 +3555,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickSign(void *handle, LSM303AGR_ACC_SIGN_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickSign(void *handle, LSM303AGR_ACC_SIGN_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3572,7 +3572,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_SingleCLICK(void *handle, LSM303AGR_ACC_SCLICK_t *value)
+mems_status_t LSM303AGR_ACC_R_SingleCLICK(void *handle, LSM303AGR_ACC_SCLICK_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3589,7 +3589,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_DoubleCLICK(void *handle, LSM303AGR_ACC_DCLICK_t *value)
+mems_status_t LSM303AGR_ACC_R_DoubleCLICK(void *handle, LSM303AGR_ACC_DCLICK_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3606,7 +3606,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_CLICK_IA(void *handle, LSM303AGR_ACC_CLICK_IA_t *value)
+mems_status_t LSM303AGR_ACC_R_CLICK_IA(void *handle, LSM303AGR_ACC_CLICK_IA_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_SRC, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3622,7 +3622,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ClickThreshold(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_ClickThreshold(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3649,7 +3649,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickThreshold(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickThreshold(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_CLICK_THS, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3666,7 +3666,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ClickTimeLimit(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_ClickTimeLimit(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3693,7 +3693,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickTimeLimit(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickTimeLimit(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_TIME_LIMIT, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3710,7 +3710,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ClickTimeLatency(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_ClickTimeLatency(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3737,7 +3737,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickTimeLatency(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickTimeLatency(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_TIME_LATENCY, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3754,7 +3754,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_ACC_W_ClickTimeWindow(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_ACC_W_ClickTimeWindow(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -3781,7 +3781,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_ACC_R_ClickTimeWindow(void *handle, u8_t *value)
+mems_status_t LSM303AGR_ACC_R_ClickTimeWindow(void *handle, u8_t *value)
 {
  if( !LSM303AGR_ACC_read_reg(handle, LSM303AGR_ACC_TIME_WINDOW, (u8_t *)value) )
     return MEMS_ERROR;
@@ -3792,13 +3792,13 @@
   return MEMS_SUCCESS;
 }
 /*******************************************************************************
-* Function Name  : status_t LSM303AGR_ACC_Get_Voltage_ADC(u8_t *buff)
+* Function Name  : mems_status_t LSM303AGR_ACC_Get_Voltage_ADC(u8_t *buff)
 * Description    : Read Voltage_ADC output register
 * Input          : pointer to [u8_t]
 * Output         : Voltage_ADC buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM303AGR_ACC_Get_Voltage_ADC(void *handle, u8_t *buff) 
+mems_status_t LSM303AGR_ACC_Get_Voltage_ADC(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -3820,13 +3820,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM303AGR_ACC_Get_Raw_Acceleration(u8_t *buff)
+* Function Name  : mems_status_t LSM303AGR_ACC_Get_Raw_Acceleration(u8_t *buff)
 * Description    : Read Acceleration output register
 * Input          : pointer to [u8_t]
 * Output         : Acceleration buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM303AGR_ACC_Get_Raw_Acceleration(void *handle, u8_t *buff) 
+mems_status_t LSM303AGR_ACC_Get_Raw_Acceleration(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -3880,7 +3880,7 @@
 /*
  * Values returned are espressed in mg.
  */
-status_t LSM303AGR_ACC_Get_Acceleration(void *handle, int *buff)
+mems_status_t LSM303AGR_ACC_Get_Acceleration(void *handle, int *buff)
 {
   Type3Axis16bit_U raw_data_tmp;
   u8_t op_mode = 0, fs_mode = 0, shift = 0;
--- a/Components/LSM303AGRSensor/LSM303AGR_acc_driver.h	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM303AGRSensor/LSM303AGR_acc_driver.h	Tue Mar 14 15:39:53 2017 +0100
@@ -85,7 +85,7 @@
 typedef enum {
   MEMS_SUCCESS = 0x01,
   MEMS_ERROR   = 0x00   
-} status_t;
+} mems_status_t;
 
 #endif /*__SHARED__TYPES*/
 
@@ -107,8 +107,8 @@
 
 /* Public Function Prototypes ------------------------------------------------*/
 
-status_t LSM303AGR_ACC_read_reg( void *handle, u8_t Reg, u8_t* Data );
-status_t LSM303AGR_ACC_write_reg( void *handle, u8_t Reg, u8_t Data ); 
+mems_status_t LSM303AGR_ACC_read_reg( void *handle, u8_t Reg, u8_t* Data );
+mems_status_t LSM303AGR_ACC_write_reg( void *handle, u8_t Reg, u8_t Data ); 
 
 
 /************** Device Register  *******************/
@@ -164,8 +164,8 @@
     LSM303AGR_ACC_1DA_AVAILABLE          =0x01,
 } LSM303AGR_ACC_1DA_t;
 
-#define     LSM303AGR_ACC_1DA_MASK      0x01
-status_t LSM303AGR_ACC_R_x_data_avail(void *handle, LSM303AGR_ACC_1DA_t *value);
+#define       LSM303AGR_ACC_1DA_MASK      0x01
+mems_status_t LSM303AGR_ACC_R_x_data_avail(void *handle, LSM303AGR_ACC_1DA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -178,8 +178,8 @@
     LSM303AGR_ACC_2DA__AVAILABLE         =0x02,
 } LSM303AGR_ACC_2DA__t;
 
-#define     LSM303AGR_ACC_2DA__MASK     0x02
-status_t LSM303AGR_ACC_R_y_data_avail(void *handle, LSM303AGR_ACC_2DA__t *value);
+#define       LSM303AGR_ACC_2DA__MASK     0x02
+mems_status_t LSM303AGR_ACC_R_y_data_avail(void *handle, LSM303AGR_ACC_2DA__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -192,8 +192,8 @@
     LSM303AGR_ACC_3DA__AVAILABLE         =0x04,
 } LSM303AGR_ACC_3DA__t;
 
-#define     LSM303AGR_ACC_3DA__MASK     0x04
-status_t LSM303AGR_ACC_R_z_data_avail(void *handle, LSM303AGR_ACC_3DA__t *value);
+#define       LSM303AGR_ACC_3DA__MASK     0x04
+mems_status_t LSM303AGR_ACC_R_z_data_avail(void *handle, LSM303AGR_ACC_3DA__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -206,8 +206,8 @@
     LSM303AGR_ACC_321DA__AVAILABLE       =0x08,
 } LSM303AGR_ACC_321DA__t;
 
-#define     LSM303AGR_ACC_321DA__MASK   0x08
-status_t LSM303AGR_ACC_R_xyz_data_avail(void *handle, LSM303AGR_ACC_321DA__t *value);
+#define       LSM303AGR_ACC_321DA__MASK   0x08
+mems_status_t LSM303AGR_ACC_R_xyz_data_avail(void *handle, LSM303AGR_ACC_321DA__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -220,8 +220,8 @@
     LSM303AGR_ACC_1OR__OVERRUN       =0x10,
 } LSM303AGR_ACC_1OR__t;
 
-#define     LSM303AGR_ACC_1OR__MASK     0x10
-status_t LSM303AGR_ACC_R_DataXOverrun(void *handle, LSM303AGR_ACC_1OR__t *value);
+#define       LSM303AGR_ACC_1OR__MASK     0x10
+mems_status_t LSM303AGR_ACC_R_DataXOverrun(void *handle, LSM303AGR_ACC_1OR__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -234,8 +234,8 @@
     LSM303AGR_ACC_2OR__OVERRUN       =0x20,
 } LSM303AGR_ACC_2OR__t;
 
-#define     LSM303AGR_ACC_2OR__MASK     0x20
-status_t LSM303AGR_ACC_R_DataYOverrun(void *handle, LSM303AGR_ACC_2OR__t *value);
+#define       LSM303AGR_ACC_2OR__MASK     0x20
+mems_status_t LSM303AGR_ACC_R_DataYOverrun(void *handle, LSM303AGR_ACC_2OR__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -248,8 +248,8 @@
     LSM303AGR_ACC_3OR__OVERRUN       =0x40,
 } LSM303AGR_ACC_3OR__t;
 
-#define     LSM303AGR_ACC_3OR__MASK     0x40
-status_t LSM303AGR_ACC_R_DataZOverrun(void *handle, LSM303AGR_ACC_3OR__t *value);
+#define       LSM303AGR_ACC_3OR__MASK     0x40
+mems_status_t LSM303AGR_ACC_R_DataZOverrun(void *handle, LSM303AGR_ACC_3OR__t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG_AUX
@@ -262,8 +262,8 @@
     LSM303AGR_ACC_321OR__OVERRUN         =0x80,
 } LSM303AGR_ACC_321OR__t;
 
-#define     LSM303AGR_ACC_321OR__MASK   0x80
-status_t LSM303AGR_ACC_R_DataXYZOverrun(void *handle, LSM303AGR_ACC_321OR__t *value);
+#define       LSM303AGR_ACC_321OR__MASK   0x80
+mems_status_t LSM303AGR_ACC_R_DataXYZOverrun(void *handle, LSM303AGR_ACC_321OR__t *value);
 
 /*******************************************************************************
 * Register      : INT_COUNTER_REG
@@ -271,9 +271,9 @@
 * Bit Group Name: IC
 * Permission    : RO
 *******************************************************************************/
-#define     LSM303AGR_ACC_IC_MASK   0xFF
-#define     LSM303AGR_ACC_IC_POSITION   0
-status_t LSM303AGR_ACC_R_int_counter(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_IC_MASK   0xFF
+#define       LSM303AGR_ACC_IC_POSITION   0
+mems_status_t LSM303AGR_ACC_R_int_counter(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : WHO_AM_I
@@ -281,9 +281,9 @@
 * Bit Group Name: WHO_AM_I
 * Permission    : RO
 *******************************************************************************/
-#define     LSM303AGR_ACC_WHO_AM_I_MASK     0xFF
-#define     LSM303AGR_ACC_WHO_AM_I_POSITION     0
-status_t LSM303AGR_ACC_R_WHO_AM_I(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_WHO_AM_I_MASK     0xFF
+#define       LSM303AGR_ACC_WHO_AM_I_POSITION     0
+mems_status_t LSM303AGR_ACC_R_WHO_AM_I(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : TEMP_CFG_REG
@@ -296,9 +296,9 @@
     LSM303AGR_ACC_TEMP_EN_ENABLED        =0x40,
 } LSM303AGR_ACC_TEMP_EN_t;
 
-#define     LSM303AGR_ACC_TEMP_EN_MASK      0x40
-status_t  LSM303AGR_ACC_W_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t newValue);
-status_t LSM303AGR_ACC_R_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t *value);
+#define       LSM303AGR_ACC_TEMP_EN_MASK      0x40
+mems_status_t LSM303AGR_ACC_W_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t newValue);
+mems_status_t LSM303AGR_ACC_R_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t *value);
 
 /*******************************************************************************
 * Register      : TEMP_CFG_REG
@@ -311,9 +311,9 @@
     LSM303AGR_ACC_ADC_PD_ENABLED         =0x80,
 } LSM303AGR_ACC_ADC_PD_t;
 
-#define     LSM303AGR_ACC_ADC_PD_MASK   0x80
-status_t  LSM303AGR_ACC_W_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t newValue);
-status_t LSM303AGR_ACC_R_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t *value);
+#define       LSM303AGR_ACC_ADC_PD_MASK   0x80
+mems_status_t LSM303AGR_ACC_W_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t newValue);
+mems_status_t LSM303AGR_ACC_R_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG1
@@ -326,9 +326,9 @@
     LSM303AGR_ACC_XEN_ENABLED        =0x01,
 } LSM303AGR_ACC_XEN_t;
 
-#define     LSM303AGR_ACC_XEN_MASK      0x01
-status_t  LSM303AGR_ACC_W_XEN(void *handle, LSM303AGR_ACC_XEN_t newValue);
-status_t LSM303AGR_ACC_R_XEN(void *handle, LSM303AGR_ACC_XEN_t *value);
+#define       LSM303AGR_ACC_XEN_MASK      0x01
+mems_status_t LSM303AGR_ACC_W_XEN(void *handle, LSM303AGR_ACC_XEN_t newValue);
+mems_status_t LSM303AGR_ACC_R_XEN(void *handle, LSM303AGR_ACC_XEN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG1
@@ -341,9 +341,9 @@
     LSM303AGR_ACC_YEN_ENABLED        =0x02,
 } LSM303AGR_ACC_YEN_t;
 
-#define     LSM303AGR_ACC_YEN_MASK      0x02
-status_t  LSM303AGR_ACC_W_YEN(void *handle, LSM303AGR_ACC_YEN_t newValue);
-status_t LSM303AGR_ACC_R_YEN(void *handle, LSM303AGR_ACC_YEN_t *value);
+#define       LSM303AGR_ACC_YEN_MASK      0x02
+mems_status_t LSM303AGR_ACC_W_YEN(void *handle, LSM303AGR_ACC_YEN_t newValue);
+mems_status_t LSM303AGR_ACC_R_YEN(void *handle, LSM303AGR_ACC_YEN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG1
@@ -356,9 +356,9 @@
     LSM303AGR_ACC_ZEN_ENABLED        =0x04,
 } LSM303AGR_ACC_ZEN_t;
 
-#define     LSM303AGR_ACC_ZEN_MASK      0x04
-status_t  LSM303AGR_ACC_W_ZEN(void *handle, LSM303AGR_ACC_ZEN_t newValue);
-status_t LSM303AGR_ACC_R_ZEN(void *handle, LSM303AGR_ACC_ZEN_t *value);
+#define       LSM303AGR_ACC_ZEN_MASK      0x04
+mems_status_t LSM303AGR_ACC_W_ZEN(void *handle, LSM303AGR_ACC_ZEN_t newValue);
+mems_status_t LSM303AGR_ACC_R_ZEN(void *handle, LSM303AGR_ACC_ZEN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG1
@@ -371,9 +371,9 @@
     LSM303AGR_ACC_LPEN_ENABLED       =0x08,
 } LSM303AGR_ACC_LPEN_t;
 
-#define     LSM303AGR_ACC_LPEN_MASK     0x08
-status_t  LSM303AGR_ACC_W_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t newValue);
-status_t LSM303AGR_ACC_R_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t *value);
+#define       LSM303AGR_ACC_LPEN_MASK     0x08
+mems_status_t LSM303AGR_ACC_W_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t newValue);
+mems_status_t LSM303AGR_ACC_R_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG1
@@ -394,9 +394,9 @@
     LSM303AGR_ACC_ODR_DO_1_25KHz         =0x90,
 } LSM303AGR_ACC_ODR_t;
 
-#define     LSM303AGR_ACC_ODR_MASK      0xF0
-status_t  LSM303AGR_ACC_W_ODR(void *handle, LSM303AGR_ACC_ODR_t newValue);
-status_t LSM303AGR_ACC_R_ODR(void *handle, LSM303AGR_ACC_ODR_t *value);
+#define       LSM303AGR_ACC_ODR_MASK      0xF0
+mems_status_t LSM303AGR_ACC_W_ODR(void *handle, LSM303AGR_ACC_ODR_t newValue);
+mems_status_t LSM303AGR_ACC_R_ODR(void *handle, LSM303AGR_ACC_ODR_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -409,9 +409,9 @@
     LSM303AGR_ACC_HPIS1_ENABLED          =0x01,
 } LSM303AGR_ACC_HPIS1_t;
 
-#define     LSM303AGR_ACC_HPIS1_MASK    0x01
-status_t  LSM303AGR_ACC_W_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t newValue);
-status_t LSM303AGR_ACC_R_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t *value);
+#define       LSM303AGR_ACC_HPIS1_MASK    0x01
+mems_status_t LSM303AGR_ACC_W_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t newValue);
+mems_status_t LSM303AGR_ACC_R_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -424,9 +424,9 @@
     LSM303AGR_ACC_HPIS2_ENABLED          =0x02,
 } LSM303AGR_ACC_HPIS2_t;
 
-#define     LSM303AGR_ACC_HPIS2_MASK    0x02
-status_t  LSM303AGR_ACC_W_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t newValue);
-status_t LSM303AGR_ACC_R_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t *value);
+#define       LSM303AGR_ACC_HPIS2_MASK    0x02
+mems_status_t LSM303AGR_ACC_W_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t newValue);
+mems_status_t LSM303AGR_ACC_R_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -439,9 +439,9 @@
     LSM303AGR_ACC_HPCLICK_ENABLED        =0x04,
 } LSM303AGR_ACC_HPCLICK_t;
 
-#define     LSM303AGR_ACC_HPCLICK_MASK      0x04
-status_t  LSM303AGR_ACC_W_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t newValue);
-status_t LSM303AGR_ACC_R_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t *value);
+#define       LSM303AGR_ACC_HPCLICK_MASK      0x04
+mems_status_t LSM303AGR_ACC_W_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t newValue);
+mems_status_t LSM303AGR_ACC_R_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -454,9 +454,9 @@
     LSM303AGR_ACC_FDS_ENABLED        =0x08,
 } LSM303AGR_ACC_FDS_t;
 
-#define     LSM303AGR_ACC_FDS_MASK      0x08
-status_t  LSM303AGR_ACC_W_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t newValue);
-status_t LSM303AGR_ACC_R_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t *value);
+#define       LSM303AGR_ACC_FDS_MASK      0x08
+mems_status_t LSM303AGR_ACC_W_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t newValue);
+mems_status_t LSM303AGR_ACC_R_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -471,9 +471,9 @@
     LSM303AGR_ACC_HPCF_11        =0x30,
 } LSM303AGR_ACC_HPCF_t;
 
-#define     LSM303AGR_ACC_HPCF_MASK     0x30
-status_t  LSM303AGR_ACC_W_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t newValue);
-status_t LSM303AGR_ACC_R_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t *value);
+#define       LSM303AGR_ACC_HPCF_MASK     0x30
+mems_status_t LSM303AGR_ACC_W_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t newValue);
+mems_status_t LSM303AGR_ACC_R_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG2
@@ -488,9 +488,9 @@
     LSM303AGR_ACC_HPM_AUTORST_ON_INT         =0xC0,
 } LSM303AGR_ACC_HPM_t;
 
-#define     LSM303AGR_ACC_HPM_MASK      0xC0
-status_t  LSM303AGR_ACC_W_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t newValue);
-status_t LSM303AGR_ACC_R_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t *value);
+#define       LSM303AGR_ACC_HPM_MASK      0xC0
+mems_status_t LSM303AGR_ACC_W_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t newValue);
+mems_status_t LSM303AGR_ACC_R_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -503,9 +503,9 @@
     LSM303AGR_ACC_I1_OVERRUN_ENABLED         =0x02,
 } LSM303AGR_ACC_I1_OVERRUN_t;
 
-#define     LSM303AGR_ACC_I1_OVERRUN_MASK   0x02
-status_t  LSM303AGR_ACC_W_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t *value);
+#define       LSM303AGR_ACC_I1_OVERRUN_MASK   0x02
+mems_status_t LSM303AGR_ACC_W_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -518,9 +518,9 @@
     LSM303AGR_ACC_I1_WTM_ENABLED         =0x04,
 } LSM303AGR_ACC_I1_WTM_t;
 
-#define     LSM303AGR_ACC_I1_WTM_MASK   0x04
-status_t  LSM303AGR_ACC_W_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t *value);
+#define       LSM303AGR_ACC_I1_WTM_MASK   0x04
+mems_status_t LSM303AGR_ACC_W_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -533,9 +533,9 @@
     LSM303AGR_ACC_I1_DRDY2_ENABLED       =0x08,
 } LSM303AGR_ACC_I1_DRDY2_t;
 
-#define     LSM303AGR_ACC_I1_DRDY2_MASK     0x08
-status_t  LSM303AGR_ACC_W_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t *value);
+#define       LSM303AGR_ACC_I1_DRDY2_MASK     0x08
+mems_status_t LSM303AGR_ACC_W_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -548,9 +548,9 @@
     LSM303AGR_ACC_I1_DRDY1_ENABLED       =0x10,
 } LSM303AGR_ACC_I1_DRDY1_t;
 
-#define     LSM303AGR_ACC_I1_DRDY1_MASK     0x10
-status_t  LSM303AGR_ACC_W_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t *value);
+#define       LSM303AGR_ACC_I1_DRDY1_MASK     0x10
+mems_status_t LSM303AGR_ACC_W_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -563,9 +563,9 @@
     LSM303AGR_ACC_I1_AOI2_ENABLED        =0x20,
 } LSM303AGR_ACC_I1_AOI2_t;
 
-#define     LSM303AGR_ACC_I1_AOI2_MASK      0x20
-status_t  LSM303AGR_ACC_W_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t *value);
+#define       LSM303AGR_ACC_I1_AOI2_MASK      0x20
+mems_status_t LSM303AGR_ACC_W_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -578,9 +578,9 @@
     LSM303AGR_ACC_I1_AOI1_ENABLED        =0x40,
 } LSM303AGR_ACC_I1_AOI1_t;
 
-#define     LSM303AGR_ACC_I1_AOI1_MASK      0x40
-status_t  LSM303AGR_ACC_W_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t *value);
+#define       LSM303AGR_ACC_I1_AOI1_MASK      0x40
+mems_status_t LSM303AGR_ACC_W_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG3
@@ -593,9 +593,9 @@
     LSM303AGR_ACC_I1_CLICK_ENABLED       =0x80,
 } LSM303AGR_ACC_I1_CLICK_t;
 
-#define     LSM303AGR_ACC_I1_CLICK_MASK     0x80
-status_t  LSM303AGR_ACC_W_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t *value);
+#define       LSM303AGR_ACC_I1_CLICK_MASK     0x80
+mems_status_t LSM303AGR_ACC_W_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -608,9 +608,9 @@
     LSM303AGR_ACC_SIM_3_WIRES        =0x01,
 } LSM303AGR_ACC_SIM_t;
 
-#define     LSM303AGR_ACC_SIM_MASK      0x01
-status_t  LSM303AGR_ACC_W_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t newValue);
-status_t LSM303AGR_ACC_R_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t *value);
+#define       LSM303AGR_ACC_SIM_MASK      0x01
+mems_status_t LSM303AGR_ACC_W_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t newValue);
+mems_status_t LSM303AGR_ACC_R_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -625,9 +625,9 @@
     LSM303AGR_ACC_ST_NOT_APPLICABLE          =0x06,
 } LSM303AGR_ACC_ST_t;
 
-#define     LSM303AGR_ACC_ST_MASK   0x06
-status_t  LSM303AGR_ACC_W_SelfTest(void *handle, LSM303AGR_ACC_ST_t newValue);
-status_t LSM303AGR_ACC_R_SelfTest(void *handle, LSM303AGR_ACC_ST_t *value);
+#define       LSM303AGR_ACC_ST_MASK   0x06
+mems_status_t LSM303AGR_ACC_W_SelfTest(void *handle, LSM303AGR_ACC_ST_t newValue);
+mems_status_t LSM303AGR_ACC_R_SelfTest(void *handle, LSM303AGR_ACC_ST_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -640,9 +640,9 @@
     LSM303AGR_ACC_HR_ENABLED         =0x08,
 } LSM303AGR_ACC_HR_t;
 
-#define     LSM303AGR_ACC_HR_MASK   0x08
-status_t  LSM303AGR_ACC_W_HiRes(void *handle, LSM303AGR_ACC_HR_t newValue);
-status_t LSM303AGR_ACC_R_HiRes(void *handle, LSM303AGR_ACC_HR_t *value);
+#define       LSM303AGR_ACC_HR_MASK   0x08
+mems_status_t LSM303AGR_ACC_W_HiRes(void *handle, LSM303AGR_ACC_HR_t newValue);
+mems_status_t LSM303AGR_ACC_R_HiRes(void *handle, LSM303AGR_ACC_HR_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -657,9 +657,9 @@
     LSM303AGR_ACC_FS_16G         =0x30,
 } LSM303AGR_ACC_FS_t;
 
-#define     LSM303AGR_ACC_FS_MASK   0x30
-status_t  LSM303AGR_ACC_W_FullScale(void *handle, LSM303AGR_ACC_FS_t newValue);
-status_t LSM303AGR_ACC_R_FullScale(void *handle, LSM303AGR_ACC_FS_t *value);
+#define       LSM303AGR_ACC_FS_MASK   0x30
+mems_status_t LSM303AGR_ACC_W_FullScale(void *handle, LSM303AGR_ACC_FS_t newValue);
+mems_status_t LSM303AGR_ACC_R_FullScale(void *handle, LSM303AGR_ACC_FS_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -672,9 +672,9 @@
     LSM303AGR_ACC_BLE_BIG_ENDIAN         =0x40,
 } LSM303AGR_ACC_BLE_t;
 
-#define     LSM303AGR_ACC_BLE_MASK      0x40
-status_t  LSM303AGR_ACC_W_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t newValue);
-status_t LSM303AGR_ACC_R_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t *value);
+#define       LSM303AGR_ACC_BLE_MASK      0x40
+mems_status_t LSM303AGR_ACC_W_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t newValue);
+mems_status_t LSM303AGR_ACC_R_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG4
@@ -687,9 +687,9 @@
     LSM303AGR_ACC_BDU_ENABLED        =0x80,
 } LSM303AGR_ACC_BDU_t;
 
-#define     LSM303AGR_ACC_BDU_MASK      0x80
-status_t  LSM303AGR_ACC_W_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t newValue);
-status_t LSM303AGR_ACC_R_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t *value);
+#define       LSM303AGR_ACC_BDU_MASK      0x80
+mems_status_t LSM303AGR_ACC_W_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t newValue);
+mems_status_t LSM303AGR_ACC_R_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -702,9 +702,9 @@
     LSM303AGR_ACC_D4D_INT2_ENABLED       =0x01,
 } LSM303AGR_ACC_D4D_INT2_t;
 
-#define     LSM303AGR_ACC_D4D_INT2_MASK     0x01
-status_t  LSM303AGR_ACC_W_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t newValue);
-status_t LSM303AGR_ACC_R_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t *value);
+#define       LSM303AGR_ACC_D4D_INT2_MASK     0x01
+mems_status_t LSM303AGR_ACC_W_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t newValue);
+mems_status_t LSM303AGR_ACC_R_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -717,9 +717,9 @@
     LSM303AGR_ACC_LIR_INT2_ENABLED       =0x02,
 } LSM303AGR_ACC_LIR_INT2_t;
 
-#define     LSM303AGR_ACC_LIR_INT2_MASK     0x02
-status_t  LSM303AGR_ACC_W_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t newValue);
-status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t *value);
+#define       LSM303AGR_ACC_LIR_INT2_MASK     0x02
+mems_status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t newValue);
+mems_status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -732,9 +732,9 @@
     LSM303AGR_ACC_D4D_INT1_ENABLED       =0x04,
 } LSM303AGR_ACC_D4D_INT1_t;
 
-#define     LSM303AGR_ACC_D4D_INT1_MASK     0x04
-status_t  LSM303AGR_ACC_W_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t newValue);
-status_t LSM303AGR_ACC_R_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t *value);
+#define       LSM303AGR_ACC_D4D_INT1_MASK     0x04
+mems_status_t LSM303AGR_ACC_W_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t newValue);
+mems_status_t LSM303AGR_ACC_R_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -747,9 +747,9 @@
     LSM303AGR_ACC_LIR_INT1_ENABLED       =0x08,
 } LSM303AGR_ACC_LIR_INT1_t;
 
-#define     LSM303AGR_ACC_LIR_INT1_MASK     0x08
-status_t  LSM303AGR_ACC_W_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t newValue);
-status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t *value);
+#define       LSM303AGR_ACC_LIR_INT1_MASK     0x08
+mems_status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t newValue);
+mems_status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -762,9 +762,9 @@
     LSM303AGR_ACC_FIFO_EN_ENABLED        =0x40,
 } LSM303AGR_ACC_FIFO_EN_t;
 
-#define     LSM303AGR_ACC_FIFO_EN_MASK      0x40
-status_t  LSM303AGR_ACC_W_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t newValue);
-status_t LSM303AGR_ACC_R_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t *value);
+#define       LSM303AGR_ACC_FIFO_EN_MASK      0x40
+mems_status_t LSM303AGR_ACC_W_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t newValue);
+mems_status_t LSM303AGR_ACC_R_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG5
@@ -777,9 +777,9 @@
     LSM303AGR_ACC_BOOT_REBOOT        =0x80,
 } LSM303AGR_ACC_BOOT_t;
 
-#define     LSM303AGR_ACC_BOOT_MASK     0x80
-status_t  LSM303AGR_ACC_W_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t newValue);
-status_t LSM303AGR_ACC_R_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t *value);
+#define       LSM303AGR_ACC_BOOT_MASK     0x80
+mems_status_t LSM303AGR_ACC_W_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t newValue);
+mems_status_t LSM303AGR_ACC_R_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -792,9 +792,9 @@
     LSM303AGR_ACC_H_LACTIVE_ACTIVE_LO        =0x02,
 } LSM303AGR_ACC_H_LACTIVE_t;
 
-#define     LSM303AGR_ACC_H_LACTIVE_MASK    0x02
-status_t  LSM303AGR_ACC_W_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t newValue);
-status_t LSM303AGR_ACC_R_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t *value);
+#define       LSM303AGR_ACC_H_LACTIVE_MASK    0x02
+mems_status_t LSM303AGR_ACC_W_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t newValue);
+mems_status_t LSM303AGR_ACC_R_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -807,9 +807,9 @@
     LSM303AGR_ACC_P2_ACT_ENABLED         =0x08,
 } LSM303AGR_ACC_P2_ACT_t;
 
-#define     LSM303AGR_ACC_P2_ACT_MASK   0x08
-status_t  LSM303AGR_ACC_W_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t newValue);
-status_t LSM303AGR_ACC_R_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t *value);
+#define       LSM303AGR_ACC_P2_ACT_MASK   0x08
+mems_status_t LSM303AGR_ACC_W_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t newValue);
+mems_status_t LSM303AGR_ACC_R_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -822,9 +822,9 @@
     LSM303AGR_ACC_BOOT_I1_ENABLED        =0x10,
 } LSM303AGR_ACC_BOOT_I1_t;
 
-#define     LSM303AGR_ACC_BOOT_I1_MASK      0x10
-status_t  LSM303AGR_ACC_W_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t newValue);
-status_t LSM303AGR_ACC_R_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t *value);
+#define       LSM303AGR_ACC_BOOT_I1_MASK      0x10
+mems_status_t LSM303AGR_ACC_W_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t newValue);
+mems_status_t LSM303AGR_ACC_R_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -837,9 +837,9 @@
     LSM303AGR_ACC_I2_INT2_ENABLED        =0x20,
 } LSM303AGR_ACC_I2_INT2_t;
 
-#define     LSM303AGR_ACC_I2_INT2_MASK      0x20
-status_t  LSM303AGR_ACC_W_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t newValue);
-status_t LSM303AGR_ACC_R_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t *value);
+#define       LSM303AGR_ACC_I2_INT2_MASK      0x20
+mems_status_t LSM303AGR_ACC_W_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t newValue);
+mems_status_t LSM303AGR_ACC_R_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -852,9 +852,9 @@
     LSM303AGR_ACC_I2_INT1_ENABLED        =0x40,
 } LSM303AGR_ACC_I2_INT1_t;
 
-#define     LSM303AGR_ACC_I2_INT1_MASK      0x40
-status_t  LSM303AGR_ACC_W_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t newValue);
-status_t LSM303AGR_ACC_R_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t *value);
+#define       LSM303AGR_ACC_I2_INT1_MASK      0x40
+mems_status_t LSM303AGR_ACC_W_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t newValue);
+mems_status_t LSM303AGR_ACC_R_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL_REG6
@@ -867,9 +867,9 @@
     LSM303AGR_ACC_I2_CLICKEN_ENABLED         =0x80,
 } LSM303AGR_ACC_I2_CLICKEN_t;
 
-#define     LSM303AGR_ACC_I2_CLICKEN_MASK   0x80
-status_t  LSM303AGR_ACC_W_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t newValue);
-status_t LSM303AGR_ACC_R_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t *value);
+#define       LSM303AGR_ACC_I2_CLICKEN_MASK   0x80
+mems_status_t LSM303AGR_ACC_W_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t newValue);
+mems_status_t LSM303AGR_ACC_R_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t *value);
 
 /*******************************************************************************
 * Register      : REFERENCE
@@ -877,10 +877,10 @@
 * Bit Group Name: REF
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_REF_MASK      0xFF
-#define     LSM303AGR_ACC_REF_POSITION      0
-status_t  LSM303AGR_ACC_W_ReferenceVal(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_ReferenceVal(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_REF_MASK      0xFF
+#define       LSM303AGR_ACC_REF_POSITION      0
+mems_status_t LSM303AGR_ACC_W_ReferenceVal(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_ReferenceVal(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -893,8 +893,8 @@
     LSM303AGR_ACC_XDA_AVAILABLE          =0x01,
 } LSM303AGR_ACC_XDA_t;
 
-#define     LSM303AGR_ACC_XDA_MASK      0x01
-status_t LSM303AGR_ACC_R_XDataAvail(void *handle, LSM303AGR_ACC_XDA_t *value);
+#define       LSM303AGR_ACC_XDA_MASK      0x01
+mems_status_t LSM303AGR_ACC_R_XDataAvail(void *handle, LSM303AGR_ACC_XDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -907,8 +907,8 @@
     LSM303AGR_ACC_YDA_AVAILABLE          =0x02,
 } LSM303AGR_ACC_YDA_t;
 
-#define     LSM303AGR_ACC_YDA_MASK      0x02
-status_t LSM303AGR_ACC_R_YDataAvail(void *handle, LSM303AGR_ACC_YDA_t *value);
+#define       LSM303AGR_ACC_YDA_MASK      0x02
+mems_status_t LSM303AGR_ACC_R_YDataAvail(void *handle, LSM303AGR_ACC_YDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -921,8 +921,8 @@
     LSM303AGR_ACC_ZDA_AVAILABLE          =0x04,
 } LSM303AGR_ACC_ZDA_t;
 
-#define     LSM303AGR_ACC_ZDA_MASK      0x04
-status_t LSM303AGR_ACC_R_ZDataAvail(void *handle, LSM303AGR_ACC_ZDA_t *value);
+#define       LSM303AGR_ACC_ZDA_MASK      0x04
+mems_status_t LSM303AGR_ACC_R_ZDataAvail(void *handle, LSM303AGR_ACC_ZDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -935,8 +935,8 @@
     LSM303AGR_ACC_ZYXDA_AVAILABLE        =0x08,
 } LSM303AGR_ACC_ZYXDA_t;
 
-#define     LSM303AGR_ACC_ZYXDA_MASK    0x08
-status_t LSM303AGR_ACC_R_XYZDataAvail(void *handle, LSM303AGR_ACC_ZYXDA_t *value);
+#define       LSM303AGR_ACC_ZYXDA_MASK    0x08
+mems_status_t LSM303AGR_ACC_R_XYZDataAvail(void *handle, LSM303AGR_ACC_ZYXDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -949,8 +949,8 @@
     LSM303AGR_ACC_XOR_OVERRUN        =0x10,
 } LSM303AGR_ACC_XOR_t;
 
-#define     LSM303AGR_ACC_XOR_MASK      0x10
-status_t LSM303AGR_ACC_R_XDataOverrun(void *handle, LSM303AGR_ACC_XOR_t *value);
+#define       LSM303AGR_ACC_XOR_MASK      0x10
+mems_status_t LSM303AGR_ACC_R_XDataOverrun(void *handle, LSM303AGR_ACC_XOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -963,8 +963,8 @@
     LSM303AGR_ACC_YOR_OVERRUN        =0x20,
 } LSM303AGR_ACC_YOR_t;
 
-#define     LSM303AGR_ACC_YOR_MASK      0x20
-status_t LSM303AGR_ACC_R_YDataOverrun(void *handle, LSM303AGR_ACC_YOR_t *value);
+#define       LSM303AGR_ACC_YOR_MASK      0x20
+mems_status_t LSM303AGR_ACC_R_YDataOverrun(void *handle, LSM303AGR_ACC_YOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -977,8 +977,8 @@
     LSM303AGR_ACC_ZOR_OVERRUN        =0x40,
 } LSM303AGR_ACC_ZOR_t;
 
-#define     LSM303AGR_ACC_ZOR_MASK      0x40
-status_t LSM303AGR_ACC_R_ZDataOverrun(void *handle, LSM303AGR_ACC_ZOR_t *value);
+#define       LSM303AGR_ACC_ZOR_MASK      0x40
+mems_status_t LSM303AGR_ACC_R_ZDataOverrun(void *handle, LSM303AGR_ACC_ZOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG2
@@ -991,8 +991,8 @@
     LSM303AGR_ACC_ZYXOR_OVERRUN          =0x80,
 } LSM303AGR_ACC_ZYXOR_t;
 
-#define     LSM303AGR_ACC_ZYXOR_MASK    0x80
-status_t LSM303AGR_ACC_R_XYZDataOverrun(void *handle, LSM303AGR_ACC_ZYXOR_t *value);
+#define       LSM303AGR_ACC_ZYXOR_MASK    0x80
+mems_status_t LSM303AGR_ACC_R_XYZDataOverrun(void *handle, LSM303AGR_ACC_ZYXOR_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL_REG
@@ -1000,10 +1000,10 @@
 * Bit Group Name: FTH
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_FTH_MASK      0x1F
-#define     LSM303AGR_ACC_FTH_POSITION      0
-status_t  LSM303AGR_ACC_W_FifoThreshold(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_FifoThreshold(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_FTH_MASK      0x1F
+#define       LSM303AGR_ACC_FTH_POSITION      0
+mems_status_t LSM303AGR_ACC_W_FifoThreshold(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_FifoThreshold(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL_REG
@@ -1016,9 +1016,9 @@
     LSM303AGR_ACC_TR_TRIGGER_ON_INT2         =0x20,
 } LSM303AGR_ACC_TR_t;
 
-#define     LSM303AGR_ACC_TR_MASK   0x20
-status_t  LSM303AGR_ACC_W_TriggerSel(void *handle, LSM303AGR_ACC_TR_t newValue);
-status_t LSM303AGR_ACC_R_TriggerSel(void *handle, LSM303AGR_ACC_TR_t *value);
+#define       LSM303AGR_ACC_TR_MASK   0x20
+mems_status_t LSM303AGR_ACC_W_TriggerSel(void *handle, LSM303AGR_ACC_TR_t newValue);
+mems_status_t LSM303AGR_ACC_R_TriggerSel(void *handle, LSM303AGR_ACC_TR_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL_REG
@@ -1033,9 +1033,9 @@
     LSM303AGR_ACC_FM_TRIGGER         =0xC0,
 } LSM303AGR_ACC_FM_t;
 
-#define     LSM303AGR_ACC_FM_MASK   0xC0
-status_t  LSM303AGR_ACC_W_FifoMode(void *handle, LSM303AGR_ACC_FM_t newValue);
-status_t LSM303AGR_ACC_R_FifoMode(void *handle, LSM303AGR_ACC_FM_t *value);
+#define       LSM303AGR_ACC_FM_MASK   0xC0
+mems_status_t LSM303AGR_ACC_W_FifoMode(void *handle, LSM303AGR_ACC_FM_t newValue);
+mems_status_t LSM303AGR_ACC_R_FifoMode(void *handle, LSM303AGR_ACC_FM_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_SRC_REG
@@ -1043,9 +1043,9 @@
 * Bit Group Name: FSS
 * Permission    : RO
 *******************************************************************************/
-#define     LSM303AGR_ACC_FSS_MASK      0x1F
-#define     LSM303AGR_ACC_FSS_POSITION      0
-status_t LSM303AGR_ACC_R_FifoSamplesAvail(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_FSS_MASK      0x1F
+#define       LSM303AGR_ACC_FSS_POSITION      0
+mems_status_t LSM303AGR_ACC_R_FifoSamplesAvail(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_SRC_REG
@@ -1058,8 +1058,8 @@
     LSM303AGR_ACC_EMPTY_EMPTY        =0x20,
 } LSM303AGR_ACC_EMPTY_t;
 
-#define     LSM303AGR_ACC_EMPTY_MASK    0x20
-status_t LSM303AGR_ACC_R_FifoEmpty(void *handle, LSM303AGR_ACC_EMPTY_t *value);
+#define       LSM303AGR_ACC_EMPTY_MASK    0x20
+mems_status_t LSM303AGR_ACC_R_FifoEmpty(void *handle, LSM303AGR_ACC_EMPTY_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_SRC_REG
@@ -1072,8 +1072,8 @@
     LSM303AGR_ACC_OVRN_FIFO_OVERRUN          =0x40,
 } LSM303AGR_ACC_OVRN_FIFO_t;
 
-#define     LSM303AGR_ACC_OVRN_FIFO_MASK    0x40
-status_t LSM303AGR_ACC_R_FifoOverrun(void *handle, LSM303AGR_ACC_OVRN_FIFO_t *value);
+#define       LSM303AGR_ACC_OVRN_FIFO_MASK    0x40
+mems_status_t LSM303AGR_ACC_R_FifoOverrun(void *handle, LSM303AGR_ACC_OVRN_FIFO_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_SRC_REG
@@ -1086,8 +1086,8 @@
     LSM303AGR_ACC_WTM_OVERFLOW       =0x80,
 } LSM303AGR_ACC_WTM_t;
 
-#define     LSM303AGR_ACC_WTM_MASK      0x80
-status_t LSM303AGR_ACC_R_WatermarkLevel(void *handle, LSM303AGR_ACC_WTM_t *value);
+#define       LSM303AGR_ACC_WTM_MASK      0x80
+mems_status_t LSM303AGR_ACC_R_WatermarkLevel(void *handle, LSM303AGR_ACC_WTM_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1100,11 +1100,11 @@
     LSM303AGR_ACC_XLIE_ENABLED       =0x01,
 } LSM303AGR_ACC_XLIE_t;
 
-#define     LSM303AGR_ACC_XLIE_MASK     0x01
-status_t  LSM303AGR_ACC_W_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
+#define       LSM303AGR_ACC_XLIE_MASK     0x01
+mems_status_t LSM303AGR_ACC_W_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1117,11 +1117,11 @@
     LSM303AGR_ACC_XHIE_ENABLED       =0x02,
 } LSM303AGR_ACC_XHIE_t;
 
-#define     LSM303AGR_ACC_XHIE_MASK     0x02
-status_t  LSM303AGR_ACC_W_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
+#define       LSM303AGR_ACC_XHIE_MASK     0x02
+mems_status_t LSM303AGR_ACC_W_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1134,11 +1134,11 @@
     LSM303AGR_ACC_YLIE_ENABLED       =0x04,
 } LSM303AGR_ACC_YLIE_t;
 
-#define     LSM303AGR_ACC_YLIE_MASK     0x04
-status_t  LSM303AGR_ACC_W_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
+#define       LSM303AGR_ACC_YLIE_MASK     0x04
+mems_status_t LSM303AGR_ACC_W_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1151,11 +1151,11 @@
     LSM303AGR_ACC_YHIE_ENABLED       =0x08,
 } LSM303AGR_ACC_YHIE_t;
 
-#define     LSM303AGR_ACC_YHIE_MASK     0x08
-status_t  LSM303AGR_ACC_W_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
+#define       LSM303AGR_ACC_YHIE_MASK     0x08
+mems_status_t LSM303AGR_ACC_W_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1168,11 +1168,11 @@
     LSM303AGR_ACC_ZLIE_ENABLED       =0x10,
 } LSM303AGR_ACC_ZLIE_t;
 
-#define     LSM303AGR_ACC_ZLIE_MASK     0x10
-status_t  LSM303AGR_ACC_W_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
+#define       LSM303AGR_ACC_ZLIE_MASK     0x10
+mems_status_t LSM303AGR_ACC_W_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1185,11 +1185,11 @@
     LSM303AGR_ACC_ZHIE_ENABLED       =0x20,
 } LSM303AGR_ACC_ZHIE_t;
 
-#define     LSM303AGR_ACC_ZHIE_MASK     0x20
-status_t  LSM303AGR_ACC_W_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
-status_t  LSM303AGR_ACC_W_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
-status_t LSM303AGR_ACC_R_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
+#define       LSM303AGR_ACC_ZHIE_MASK     0x20
+mems_status_t LSM303AGR_ACC_W_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1202,11 +1202,11 @@
     LSM303AGR_ACC_6D_ENABLED         =0x40,
 } LSM303AGR_ACC_6D_t;
 
-#define     LSM303AGR_ACC_6D_MASK   0x40
-status_t  LSM303AGR_ACC_W_Int1_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
-status_t LSM303AGR_ACC_R_Int1_6D(void *handle, LSM303AGR_ACC_6D_t *value);
-status_t  LSM303AGR_ACC_W_Int2_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
-status_t LSM303AGR_ACC_R_Int2_6D(void *handle, LSM303AGR_ACC_6D_t *value);
+#define       LSM303AGR_ACC_6D_MASK   0x40
+mems_status_t LSM303AGR_ACC_W_Int1_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1_6D(void *handle, LSM303AGR_ACC_6D_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2_6D(void *handle, LSM303AGR_ACC_6D_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CFG/INT2_CFG
@@ -1219,11 +1219,11 @@
     LSM303AGR_ACC_AOI_AND        =0x80,
 } LSM303AGR_ACC_AOI_t;
 
-#define     LSM303AGR_ACC_AOI_MASK      0x80
-status_t  LSM303AGR_ACC_W_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
-status_t LSM303AGR_ACC_R_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
-status_t  LSM303AGR_ACC_W_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
-status_t LSM303AGR_ACC_R_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
+#define       LSM303AGR_ACC_AOI_MASK      0x80
+mems_status_t LSM303AGR_ACC_W_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1236,9 +1236,9 @@
     LSM303AGR_ACC_XL_UP          =0x01,
 } LSM303AGR_ACC_XL_t;
 
-#define     LSM303AGR_ACC_XL_MASK   0x01
-status_t LSM303AGR_ACC_R_Int1_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
-status_t LSM303AGR_ACC_R_Int2_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
+#define       LSM303AGR_ACC_XL_MASK   0x01
+mems_status_t LSM303AGR_ACC_R_Int1_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1251,9 +1251,9 @@
     LSM303AGR_ACC_XH_UP          =0x02,
 } LSM303AGR_ACC_XH_t;
 
-#define     LSM303AGR_ACC_XH_MASK   0x02
-status_t LSM303AGR_ACC_R_Int1_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
-status_t LSM303AGR_ACC_R_Int2_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
+#define       LSM303AGR_ACC_XH_MASK   0x02
+mems_status_t LSM303AGR_ACC_R_Int1_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1266,9 +1266,9 @@
     LSM303AGR_ACC_YL_UP          =0x04,
 } LSM303AGR_ACC_YL_t;
 
-#define     LSM303AGR_ACC_YL_MASK   0x04
-status_t LSM303AGR_ACC_R_Int1_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
-status_t LSM303AGR_ACC_R_Int2_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
+#define       LSM303AGR_ACC_YL_MASK   0x04
+mems_status_t LSM303AGR_ACC_R_Int1_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1281,9 +1281,9 @@
     LSM303AGR_ACC_YH_UP          =0x08,
 } LSM303AGR_ACC_YH_t;
 
-#define     LSM303AGR_ACC_YH_MASK   0x08
-status_t LSM303AGR_ACC_R_Int1_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
-status_t LSM303AGR_ACC_R_Int2_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
+#define       LSM303AGR_ACC_YH_MASK   0x08
+mems_status_t LSM303AGR_ACC_R_Int1_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1296,9 +1296,9 @@
     LSM303AGR_ACC_ZL_UP          =0x10,
 } LSM303AGR_ACC_ZL_t;
 
-#define     LSM303AGR_ACC_ZL_MASK   0x10
-status_t LSM303AGR_ACC_R_Int1_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
-status_t LSM303AGR_ACC_R_Int2_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
+#define       LSM303AGR_ACC_ZL_MASK   0x10
+mems_status_t LSM303AGR_ACC_R_Int1_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1311,9 +1311,9 @@
     LSM303AGR_ACC_ZH_UP          =0x20,
 } LSM303AGR_ACC_ZH_t;
 
-#define     LSM303AGR_ACC_ZH_MASK   0x20
-status_t LSM303AGR_ACC_R_Int1_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
-status_t LSM303AGR_ACC_R_Int2_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
+#define       LSM303AGR_ACC_ZH_MASK   0x20
+mems_status_t LSM303AGR_ACC_R_Int1_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
 
 /*******************************************************************************
 * Register      : INT1_SOURCE/INT2_SOURCE
@@ -1326,9 +1326,9 @@
     LSM303AGR_ACC_IA_UP          =0x40,
 } LSM303AGR_ACC_IA_t;
 
-#define     LSM303AGR_ACC_IA_MASK   0x40
-status_t LSM303AGR_ACC_R_Int1_IA(void *handle, LSM303AGR_ACC_IA_t *value);
-status_t LSM303AGR_ACC_R_Int2_IA(void *handle, LSM303AGR_ACC_IA_t *value);
+#define       LSM303AGR_ACC_IA_MASK   0x40
+mems_status_t LSM303AGR_ACC_R_Int1_IA(void *handle, LSM303AGR_ACC_IA_t *value);
+mems_status_t LSM303AGR_ACC_R_Int2_IA(void *handle, LSM303AGR_ACC_IA_t *value);
 
 /*******************************************************************************
 * Register      : INT1_THS/INT2_THS
@@ -1336,12 +1336,12 @@
 * Bit Group Name: THS
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_THS_MASK      0x7F
-#define     LSM303AGR_ACC_THS_POSITION      0
-status_t  LSM303AGR_ACC_W_Int1_Threshold(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_Int1_Threshold(void *handle, u8_t *value);
-status_t  LSM303AGR_ACC_W_Int2_Threshold(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_Int2_Threshold(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_THS_MASK      0x7F
+#define       LSM303AGR_ACC_THS_POSITION      0
+mems_status_t LSM303AGR_ACC_W_Int1_Threshold(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1_Threshold(void *handle, u8_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2_Threshold(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2_Threshold(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : INT1_DURATION/INT2_DURATION
@@ -1349,12 +1349,12 @@
 * Bit Group Name: D
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_D_MASK    0x7F
-#define     LSM303AGR_ACC_D_POSITION    0
-status_t  LSM303AGR_ACC_W_Int1_Duration(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_Int1_Duration(void *handle, u8_t *value);
-status_t  LSM303AGR_ACC_W_Int2_Duration(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_Int2_Duration(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_D_MASK    0x7F
+#define       LSM303AGR_ACC_D_POSITION    0
+mems_status_t LSM303AGR_ACC_W_Int1_Duration(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int1_Duration(void *handle, u8_t *value);
+mems_status_t LSM303AGR_ACC_W_Int2_Duration(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_Int2_Duration(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1367,9 +1367,9 @@
     LSM303AGR_ACC_XS_ENABLED         =0x01,
 } LSM303AGR_ACC_XS_t;
 
-#define     LSM303AGR_ACC_XS_MASK   0x01
-status_t  LSM303AGR_ACC_W_XSingle(void *handle, LSM303AGR_ACC_XS_t newValue);
-status_t LSM303AGR_ACC_R_XSingle(void *handle, LSM303AGR_ACC_XS_t *value);
+#define       LSM303AGR_ACC_XS_MASK   0x01
+mems_status_t LSM303AGR_ACC_W_XSingle(void *handle, LSM303AGR_ACC_XS_t newValue);
+mems_status_t LSM303AGR_ACC_R_XSingle(void *handle, LSM303AGR_ACC_XS_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1382,9 +1382,9 @@
     LSM303AGR_ACC_XD_ENABLED         =0x02,
 } LSM303AGR_ACC_XD_t;
 
-#define     LSM303AGR_ACC_XD_MASK   0x02
-status_t  LSM303AGR_ACC_W_XDouble(void *handle, LSM303AGR_ACC_XD_t newValue);
-status_t LSM303AGR_ACC_R_XDouble(void *handle, LSM303AGR_ACC_XD_t *value);
+#define       LSM303AGR_ACC_XD_MASK   0x02
+mems_status_t LSM303AGR_ACC_W_XDouble(void *handle, LSM303AGR_ACC_XD_t newValue);
+mems_status_t LSM303AGR_ACC_R_XDouble(void *handle, LSM303AGR_ACC_XD_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1397,9 +1397,9 @@
     LSM303AGR_ACC_YS_ENABLED         =0x04,
 } LSM303AGR_ACC_YS_t;
 
-#define     LSM303AGR_ACC_YS_MASK   0x04
-status_t  LSM303AGR_ACC_W_YSingle(void *handle, LSM303AGR_ACC_YS_t newValue);
-status_t LSM303AGR_ACC_R_YSingle(void *handle, LSM303AGR_ACC_YS_t *value);
+#define       LSM303AGR_ACC_YS_MASK   0x04
+mems_status_t LSM303AGR_ACC_W_YSingle(void *handle, LSM303AGR_ACC_YS_t newValue);
+mems_status_t LSM303AGR_ACC_R_YSingle(void *handle, LSM303AGR_ACC_YS_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1412,9 +1412,9 @@
     LSM303AGR_ACC_YD_ENABLED         =0x08,
 } LSM303AGR_ACC_YD_t;
 
-#define     LSM303AGR_ACC_YD_MASK   0x08
-status_t  LSM303AGR_ACC_W_YDouble(void *handle, LSM303AGR_ACC_YD_t newValue);
-status_t LSM303AGR_ACC_R_YDouble(void *handle, LSM303AGR_ACC_YD_t *value);
+#define       LSM303AGR_ACC_YD_MASK   0x08
+mems_status_t LSM303AGR_ACC_W_YDouble(void *handle, LSM303AGR_ACC_YD_t newValue);
+mems_status_t LSM303AGR_ACC_R_YDouble(void *handle, LSM303AGR_ACC_YD_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1427,9 +1427,9 @@
     LSM303AGR_ACC_ZS_ENABLED         =0x10,
 } LSM303AGR_ACC_ZS_t;
 
-#define     LSM303AGR_ACC_ZS_MASK   0x10
-status_t  LSM303AGR_ACC_W_ZSingle(void *handle, LSM303AGR_ACC_ZS_t newValue);
-status_t LSM303AGR_ACC_R_ZSingle(void *handle, LSM303AGR_ACC_ZS_t *value);
+#define       LSM303AGR_ACC_ZS_MASK   0x10
+mems_status_t LSM303AGR_ACC_W_ZSingle(void *handle, LSM303AGR_ACC_ZS_t newValue);
+mems_status_t LSM303AGR_ACC_R_ZSingle(void *handle, LSM303AGR_ACC_ZS_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_CFG
@@ -1442,9 +1442,9 @@
     LSM303AGR_ACC_ZD_ENABLED         =0x20,
 } LSM303AGR_ACC_ZD_t;
 
-#define     LSM303AGR_ACC_ZD_MASK   0x20
-status_t  LSM303AGR_ACC_W_ZDouble(void *handle, LSM303AGR_ACC_ZD_t newValue);
-status_t LSM303AGR_ACC_R_ZDouble(void *handle, LSM303AGR_ACC_ZD_t *value);
+#define       LSM303AGR_ACC_ZD_MASK   0x20
+mems_status_t LSM303AGR_ACC_W_ZDouble(void *handle, LSM303AGR_ACC_ZD_t newValue);
+mems_status_t LSM303AGR_ACC_R_ZDouble(void *handle, LSM303AGR_ACC_ZD_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1457,8 +1457,8 @@
     LSM303AGR_ACC_X_UP       =0x01,
 } LSM303AGR_ACC_X_t;
 
-#define     LSM303AGR_ACC_X_MASK    0x01
-status_t LSM303AGR_ACC_R_ClickX(void *handle, LSM303AGR_ACC_X_t *value);
+#define       LSM303AGR_ACC_X_MASK    0x01
+mems_status_t LSM303AGR_ACC_R_ClickX(void *handle, LSM303AGR_ACC_X_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1471,8 +1471,8 @@
     LSM303AGR_ACC_Y_UP       =0x02,
 } LSM303AGR_ACC_Y_t;
 
-#define     LSM303AGR_ACC_Y_MASK    0x02
-status_t LSM303AGR_ACC_R_ClickY(void *handle, LSM303AGR_ACC_Y_t *value);
+#define       LSM303AGR_ACC_Y_MASK    0x02
+mems_status_t LSM303AGR_ACC_R_ClickY(void *handle, LSM303AGR_ACC_Y_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1485,8 +1485,8 @@
     LSM303AGR_ACC_Z_UP       =0x04,
 } LSM303AGR_ACC_Z_t;
 
-#define     LSM303AGR_ACC_Z_MASK    0x04
-status_t LSM303AGR_ACC_R_ClickZ(void *handle, LSM303AGR_ACC_Z_t *value);
+#define       LSM303AGR_ACC_Z_MASK    0x04
+mems_status_t LSM303AGR_ACC_R_ClickZ(void *handle, LSM303AGR_ACC_Z_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1499,8 +1499,8 @@
     LSM303AGR_ACC_SIGN_NEGATIVE          =0x08,
 } LSM303AGR_ACC_SIGN_t;
 
-#define     LSM303AGR_ACC_SIGN_MASK     0x08
-status_t LSM303AGR_ACC_R_ClickSign(void *handle, LSM303AGR_ACC_SIGN_t *value);
+#define       LSM303AGR_ACC_SIGN_MASK     0x08
+mems_status_t LSM303AGR_ACC_R_ClickSign(void *handle, LSM303AGR_ACC_SIGN_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1513,8 +1513,8 @@
     LSM303AGR_ACC_SCLICK_ENABLED         =0x10,
 } LSM303AGR_ACC_SCLICK_t;
 
-#define     LSM303AGR_ACC_SCLICK_MASK   0x10
-status_t LSM303AGR_ACC_R_SingleCLICK(void *handle, LSM303AGR_ACC_SCLICK_t *value);
+#define       LSM303AGR_ACC_SCLICK_MASK   0x10
+mems_status_t LSM303AGR_ACC_R_SingleCLICK(void *handle, LSM303AGR_ACC_SCLICK_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1527,8 +1527,8 @@
     LSM303AGR_ACC_DCLICK_ENABLED         =0x20,
 } LSM303AGR_ACC_DCLICK_t;
 
-#define     LSM303AGR_ACC_DCLICK_MASK   0x20
-status_t LSM303AGR_ACC_R_DoubleCLICK(void *handle, LSM303AGR_ACC_DCLICK_t *value);
+#define       LSM303AGR_ACC_DCLICK_MASK   0x20
+mems_status_t LSM303AGR_ACC_R_DoubleCLICK(void *handle, LSM303AGR_ACC_DCLICK_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_SRC
@@ -1541,8 +1541,8 @@
     LSM303AGR_ACC_CLICK_IA_UP        =0x40,
 } LSM303AGR_ACC_CLICK_IA_t;
 
-#define     LSM303AGR_ACC_IA_MASK   0x40
-status_t LSM303AGR_ACC_R_CLICK_IA(void *handle, LSM303AGR_ACC_CLICK_IA_t *value);
+#define       LSM303AGR_ACC_IA_MASK   0x40
+mems_status_t LSM303AGR_ACC_R_CLICK_IA(void *handle, LSM303AGR_ACC_CLICK_IA_t *value);
 
 /*******************************************************************************
 * Register      : CLICK_THS
@@ -1550,10 +1550,10 @@
 * Bit Group Name: THS
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_THS_MASK      0x7F
-#define     LSM303AGR_ACC_THS_POSITION      0
-status_t  LSM303AGR_ACC_W_ClickThreshold(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_ClickThreshold(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_THS_MASK      0x7F
+#define       LSM303AGR_ACC_THS_POSITION      0
+mems_status_t LSM303AGR_ACC_W_ClickThreshold(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_ClickThreshold(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : TIME_LIMIT
@@ -1561,10 +1561,10 @@
 * Bit Group Name: TLI
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_TLI_MASK      0x7F
-#define     LSM303AGR_ACC_TLI_POSITION      0
-status_t  LSM303AGR_ACC_W_ClickTimeLimit(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_ClickTimeLimit(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_TLI_MASK      0x7F
+#define       LSM303AGR_ACC_TLI_POSITION      0
+mems_status_t LSM303AGR_ACC_W_ClickTimeLimit(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_ClickTimeLimit(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : TIME_LATENCY
@@ -1572,10 +1572,10 @@
 * Bit Group Name: TLA
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_TLA_MASK      0xFF
-#define     LSM303AGR_ACC_TLA_POSITION      0
-status_t  LSM303AGR_ACC_W_ClickTimeLatency(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_ClickTimeLatency(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_TLA_MASK      0xFF
+#define       LSM303AGR_ACC_TLA_POSITION      0
+mems_status_t LSM303AGR_ACC_W_ClickTimeLatency(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_ClickTimeLatency(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : TIME_WINDOW
@@ -1583,23 +1583,23 @@
 * Bit Group Name: TW
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_ACC_TW_MASK   0xFF
-#define     LSM303AGR_ACC_TW_POSITION   0
-status_t  LSM303AGR_ACC_W_ClickTimeWindow(void *handle, u8_t newValue);
-status_t LSM303AGR_ACC_R_ClickTimeWindow(void *handle, u8_t *value);
+#define       LSM303AGR_ACC_TW_MASK   0xFF
+#define       LSM303AGR_ACC_TW_POSITION   0
+mems_status_t LSM303AGR_ACC_W_ClickTimeWindow(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_ACC_R_ClickTimeWindow(void *handle, u8_t *value);
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : Voltage_ADC
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM303AGR_ACC_Get_Voltage_ADC(void *handle, u8_t *buff); 
+mems_status_t LSM303AGR_ACC_Get_Voltage_ADC(void *handle, u8_t *buff); 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : Acceleration
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM303AGR_ACC_Get_Raw_Acceleration(void *handle, u8_t *buff); 
-status_t LSM303AGR_ACC_Get_Acceleration(void *handle, int *buff);
+mems_status_t LSM303AGR_ACC_Get_Raw_Acceleration(void *handle, u8_t *buff); 
+mems_status_t LSM303AGR_ACC_Get_Acceleration(void *handle, int *buff);
 
 #ifdef __cplusplus
 }
--- a/Components/LSM303AGRSensor/LSM303AGR_mag_driver.c	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM303AGRSensor/LSM303AGR_mag_driver.c	Tue Mar 14 15:39:53 2017 +0100
@@ -60,7 +60,7 @@
 * Output            : Data REad
 * Return            : None
 *******************************************************************************/
-status_t LSM303AGR_MAG_read_reg( void *handle, u8_t Reg, u8_t* Data ) 
+mems_status_t LSM303AGR_MAG_read_reg( void *handle, u8_t Reg, u8_t* Data ) 
 {
   
   if (LSM303AGR_MAG_io_read(handle, Reg, Data, 1))
@@ -81,7 +81,7 @@
 * Output            : None
 * Return            : None
 *******************************************************************************/
-status_t LSM303AGR_MAG_write_reg( void *handle, u8_t Reg, u8_t Data ) 
+mems_status_t LSM303AGR_MAG_write_reg( void *handle, u8_t Reg, u8_t Data ) 
 {
     
   if (LSM303AGR_MAG_io_write(handle, Reg, &Data, 1))
@@ -133,7 +133,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_X_L(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_X_L(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -160,7 +160,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_X_L(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_X_L(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_X_REG_L, (u8_t *)value) )
     return MEMS_ERROR;
@@ -177,7 +177,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_X_H(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_X_H(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -204,7 +204,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_X_H(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_X_H(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_X_REG_H, (u8_t *)value) )
     return MEMS_ERROR;
@@ -221,7 +221,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_Y_L(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_Y_L(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -248,7 +248,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_Y_L(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_Y_L(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_Y_REG_L, (u8_t *)value) )
     return MEMS_ERROR;
@@ -265,7 +265,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_Y_H(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_Y_H(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -292,7 +292,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_Y_H(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_Y_H(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_Y_REG_H, (u8_t *)value) )
     return MEMS_ERROR;
@@ -309,7 +309,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_Z_L(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_Z_L(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -336,7 +336,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_Z_L(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_Z_L(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_Z_REG_L, (u8_t *)value) )
     return MEMS_ERROR;
@@ -353,7 +353,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_Z_H(void *handle, u8_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_Z_H(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -375,7 +375,7 @@
 /*******************************************************************************
  * Set/Get the Magnetic offsets
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_MagOff(void *handle, u16_t *magx_off, u16_t *magy_off, u16_t *magz_off)
+mems_status_t LSM303AGR_MAG_Get_MagOff(void *handle, u16_t *magx_off, u16_t *magy_off, u16_t *magz_off)
 {
   u8_t reg_l, reg_h;
 
@@ -403,7 +403,7 @@
   return MEMS_SUCCESS;
 }
 
-status_t LSM303AGR_MAG_Set_MagOff(void *handle, u16_t magx_off, u16_t magy_off, u16_t magz_off)
+mems_status_t LSM303AGR_MAG_Set_MagOff(void *handle, u16_t magx_off, u16_t magy_off, u16_t magz_off)
 {
   /* write mag_x_off */
   //LSM303AGR_MAG_W_OFF_X_L(magx_off & 0xff);
@@ -434,7 +434,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_Z_H(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_Z_H(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_OFFSET_Z_REG_H, (u8_t *)value) )
     return MEMS_ERROR;
@@ -452,7 +452,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_WHO_AM_I(void *handle, u8_t *value)
+mems_status_t LSM303AGR_MAG_R_WHO_AM_I(void *handle, u8_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_WHO_AM_I_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -469,7 +469,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_MD(void *handle, LSM303AGR_MAG_MD_t newValue)
+mems_status_t LSM303AGR_MAG_W_MD(void *handle, LSM303AGR_MAG_MD_t newValue)
 {
   u8_t value;
 
@@ -493,7 +493,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_MD(void *handle, LSM303AGR_MAG_MD_t *value)
+mems_status_t LSM303AGR_MAG_R_MD(void *handle, LSM303AGR_MAG_MD_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_A, (u8_t *)value) )
     return MEMS_ERROR;
@@ -509,7 +509,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_ODR(void *handle, LSM303AGR_MAG_ODR_t newValue)
+mems_status_t LSM303AGR_MAG_W_ODR(void *handle, LSM303AGR_MAG_ODR_t newValue)
 {
   u8_t value;
 
@@ -533,7 +533,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ODR(void *handle, LSM303AGR_MAG_ODR_t *value)
+mems_status_t LSM303AGR_MAG_R_ODR(void *handle, LSM303AGR_MAG_ODR_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_A, (u8_t *)value) )
     return MEMS_ERROR;
@@ -549,7 +549,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_LP(void *handle, LSM303AGR_MAG_LP_t newValue)
+mems_status_t LSM303AGR_MAG_W_LP(void *handle, LSM303AGR_MAG_LP_t newValue)
 {
   u8_t value;
 
@@ -573,7 +573,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_LP(void *handle, LSM303AGR_MAG_LP_t *value)
+mems_status_t LSM303AGR_MAG_R_LP(void *handle, LSM303AGR_MAG_LP_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_A, (u8_t *)value) )
     return MEMS_ERROR;
@@ -589,7 +589,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t newValue)
+mems_status_t LSM303AGR_MAG_W_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t newValue)
 {
   u8_t value;
 
@@ -613,7 +613,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t *value)
+mems_status_t LSM303AGR_MAG_R_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_A, (u8_t *)value) )
     return MEMS_ERROR;
@@ -629,7 +629,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_LPF(void *handle, LSM303AGR_MAG_LPF_t newValue)
+mems_status_t LSM303AGR_MAG_W_LPF(void *handle, LSM303AGR_MAG_LPF_t newValue)
 {
   u8_t value;
 
@@ -653,7 +653,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_LPF(void *handle, LSM303AGR_MAG_LPF_t *value)
+mems_status_t LSM303AGR_MAG_R_LPF(void *handle, LSM303AGR_MAG_LPF_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_B, (u8_t *)value) )
     return MEMS_ERROR;
@@ -669,7 +669,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t newValue)
+mems_status_t LSM303AGR_MAG_W_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t newValue)
 {
   u8_t value;
 
@@ -693,7 +693,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t *value)
+mems_status_t LSM303AGR_MAG_R_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_B, (u8_t *)value) )
     return MEMS_ERROR;
@@ -709,7 +709,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t newValue)
+mems_status_t LSM303AGR_MAG_W_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t newValue)
 {
   u8_t value;
 
@@ -733,7 +733,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t *value)
+mems_status_t LSM303AGR_MAG_R_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_B, (u8_t *)value) )
     return MEMS_ERROR;
@@ -749,7 +749,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t newValue)
+mems_status_t LSM303AGR_MAG_W_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t newValue)
 {
   u8_t value;
 
@@ -773,7 +773,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t *value)
+mems_status_t LSM303AGR_MAG_R_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_B, (u8_t *)value) )
     return MEMS_ERROR;
@@ -789,7 +789,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t newValue)
+mems_status_t LSM303AGR_MAG_W_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t newValue)
 {
   u8_t value;
 
@@ -813,7 +813,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t *value)
+mems_status_t LSM303AGR_MAG_R_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -829,7 +829,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_ST(void *handle, LSM303AGR_MAG_ST_t newValue)
+mems_status_t LSM303AGR_MAG_W_ST(void *handle, LSM303AGR_MAG_ST_t newValue)
 {
   u8_t value;
 
@@ -853,7 +853,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ST(void *handle, LSM303AGR_MAG_ST_t *value)
+mems_status_t LSM303AGR_MAG_R_ST(void *handle, LSM303AGR_MAG_ST_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -869,7 +869,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_BLE(void *handle, LSM303AGR_MAG_BLE_t newValue)
+mems_status_t LSM303AGR_MAG_W_BLE(void *handle, LSM303AGR_MAG_BLE_t newValue)
 {
   u8_t value;
 
@@ -893,7 +893,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_BLE(void *handle, LSM303AGR_MAG_BLE_t *value)
+mems_status_t LSM303AGR_MAG_R_BLE(void *handle, LSM303AGR_MAG_BLE_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -909,7 +909,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_BDU(void *handle, LSM303AGR_MAG_BDU_t newValue)
+mems_status_t LSM303AGR_MAG_W_BDU(void *handle, LSM303AGR_MAG_BDU_t newValue)
 {
   u8_t value;
 
@@ -933,7 +933,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_BDU(void *handle, LSM303AGR_MAG_BDU_t *value)
+mems_status_t LSM303AGR_MAG_R_BDU(void *handle, LSM303AGR_MAG_BDU_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -949,7 +949,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t newValue)
+mems_status_t LSM303AGR_MAG_W_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t newValue)
 {
   u8_t value;
 
@@ -973,7 +973,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t *value)
+mems_status_t LSM303AGR_MAG_R_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -989,7 +989,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t newValue)
+mems_status_t LSM303AGR_MAG_W_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t newValue)
 {
   u8_t value;
 
@@ -1013,7 +1013,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t *value)
+mems_status_t LSM303AGR_MAG_R_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_CFG_REG_C, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1029,7 +1029,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_IEN(void *handle, LSM303AGR_MAG_IEN_t newValue)
+mems_status_t LSM303AGR_MAG_W_IEN(void *handle, LSM303AGR_MAG_IEN_t newValue)
 {
   u8_t value;
 
@@ -1053,7 +1053,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_IEN(void *handle, LSM303AGR_MAG_IEN_t *value)
+mems_status_t LSM303AGR_MAG_R_IEN(void *handle, LSM303AGR_MAG_IEN_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1069,7 +1069,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_IEL(void *handle, LSM303AGR_MAG_IEL_t newValue)
+mems_status_t LSM303AGR_MAG_W_IEL(void *handle, LSM303AGR_MAG_IEL_t newValue)
 {
   u8_t value;
 
@@ -1093,7 +1093,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_IEL(void *handle, LSM303AGR_MAG_IEL_t *value)
+mems_status_t LSM303AGR_MAG_R_IEL(void *handle, LSM303AGR_MAG_IEL_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1109,7 +1109,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_IEA(void *handle, LSM303AGR_MAG_IEA_t newValue)
+mems_status_t LSM303AGR_MAG_W_IEA(void *handle, LSM303AGR_MAG_IEA_t newValue)
 {
   u8_t value;
 
@@ -1133,7 +1133,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_IEA(void *handle, LSM303AGR_MAG_IEA_t *value)
+mems_status_t LSM303AGR_MAG_R_IEA(void *handle, LSM303AGR_MAG_IEA_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1149,7 +1149,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t newValue)
+mems_status_t LSM303AGR_MAG_W_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t newValue)
 {
   u8_t value;
 
@@ -1173,7 +1173,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t *value)
+mems_status_t LSM303AGR_MAG_R_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1189,7 +1189,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_YIEN(void *handle, LSM303AGR_MAG_YIEN_t newValue)
+mems_status_t LSM303AGR_MAG_W_YIEN(void *handle, LSM303AGR_MAG_YIEN_t newValue)
 {
   u8_t value;
 
@@ -1213,7 +1213,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_YIEN(void *handle, LSM303AGR_MAG_YIEN_t *value)
+mems_status_t LSM303AGR_MAG_R_YIEN(void *handle, LSM303AGR_MAG_YIEN_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1229,7 +1229,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM303AGR_MAG_W_XIEN(void *handle, LSM303AGR_MAG_XIEN_t newValue)
+mems_status_t LSM303AGR_MAG_W_XIEN(void *handle, LSM303AGR_MAG_XIEN_t newValue)
 {
   u8_t value;
 
@@ -1253,7 +1253,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_XIEN(void *handle, LSM303AGR_MAG_XIEN_t *value)
+mems_status_t LSM303AGR_MAG_R_XIEN(void *handle, LSM303AGR_MAG_XIEN_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_CTRL_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1270,7 +1270,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_INT(void *handle, LSM303AGR_MAG_INT_t *value)
+mems_status_t LSM303AGR_MAG_R_INT(void *handle, LSM303AGR_MAG_INT_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1287,7 +1287,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_MROI(void *handle, LSM303AGR_MAG_MROI_t *value)
+mems_status_t LSM303AGR_MAG_R_MROI(void *handle, LSM303AGR_MAG_MROI_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1304,7 +1304,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_N_TH_S_Z(void *handle, LSM303AGR_MAG_N_TH_S_Z_t *value)
+mems_status_t LSM303AGR_MAG_R_N_TH_S_Z(void *handle, LSM303AGR_MAG_N_TH_S_Z_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1321,7 +1321,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_N_TH_S_Y(void *handle, LSM303AGR_MAG_N_TH_S_Y_t *value)
+mems_status_t LSM303AGR_MAG_R_N_TH_S_Y(void *handle, LSM303AGR_MAG_N_TH_S_Y_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1338,7 +1338,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_N_TH_S_X(void *handle, LSM303AGR_MAG_N_TH_S_X_t *value)
+mems_status_t LSM303AGR_MAG_R_N_TH_S_X(void *handle, LSM303AGR_MAG_N_TH_S_X_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1355,7 +1355,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_P_TH_S_Z(void *handle, LSM303AGR_MAG_P_TH_S_Z_t *value)
+mems_status_t LSM303AGR_MAG_R_P_TH_S_Z(void *handle, LSM303AGR_MAG_P_TH_S_Z_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1372,7 +1372,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_P_TH_S_Y(void *handle, LSM303AGR_MAG_P_TH_S_Y_t *value)
+mems_status_t LSM303AGR_MAG_R_P_TH_S_Y(void *handle, LSM303AGR_MAG_P_TH_S_Y_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1389,7 +1389,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_P_TH_S_X(void *handle, LSM303AGR_MAG_P_TH_S_X_t *value)
+mems_status_t LSM303AGR_MAG_R_P_TH_S_X(void *handle, LSM303AGR_MAG_P_TH_S_X_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_INT_SOURCE_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1407,7 +1407,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_XDA(void *handle, LSM303AGR_MAG_XDA_t *value)
+mems_status_t LSM303AGR_MAG_R_XDA(void *handle, LSM303AGR_MAG_XDA_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1424,7 +1424,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_YDA(void *handle, LSM303AGR_MAG_YDA_t *value)
+mems_status_t LSM303AGR_MAG_R_YDA(void *handle, LSM303AGR_MAG_YDA_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1441,7 +1441,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ZDA(void *handle, LSM303AGR_MAG_ZDA_t *value)
+mems_status_t LSM303AGR_MAG_R_ZDA(void *handle, LSM303AGR_MAG_ZDA_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1458,7 +1458,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ZYXDA(void *handle, LSM303AGR_MAG_ZYXDA_t *value)
+mems_status_t LSM303AGR_MAG_R_ZYXDA(void *handle, LSM303AGR_MAG_ZYXDA_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1475,7 +1475,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_XOR(void *handle, LSM303AGR_MAG_XOR_t *value)
+mems_status_t LSM303AGR_MAG_R_XOR(void *handle, LSM303AGR_MAG_XOR_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1492,7 +1492,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_YOR(void *handle, LSM303AGR_MAG_YOR_t *value)
+mems_status_t LSM303AGR_MAG_R_YOR(void *handle, LSM303AGR_MAG_YOR_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1509,7 +1509,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ZOR(void *handle, LSM303AGR_MAG_ZOR_t *value)
+mems_status_t LSM303AGR_MAG_R_ZOR(void *handle, LSM303AGR_MAG_ZOR_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1526,7 +1526,7 @@
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
 
-status_t LSM303AGR_MAG_R_ZYXOR(void *handle, LSM303AGR_MAG_ZYXOR_t *value)
+mems_status_t LSM303AGR_MAG_R_ZYXOR(void *handle, LSM303AGR_MAG_ZYXOR_t *value)
 {
  if( !LSM303AGR_MAG_read_reg(handle, LSM303AGR_MAG_STATUS_REG, (u8_t *)value) )
     return MEMS_ERROR;
@@ -1536,13 +1536,13 @@
   return MEMS_SUCCESS;
 }
 /*******************************************************************************
-* Function Name  : status_t LSM303AGR_MAG_Get_Raw_Magnetic(u8_t *buff)
+* Function Name  : mems_status_t LSM303AGR_MAG_Get_Raw_Magnetic(u8_t *buff)
 * Description    : Read Magnetic output register
 * Input          : pointer to [u8_t]
 * Output         : Magnetic buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_Raw_Magnetic(void *handle, u8_t *buff) 
+mems_status_t LSM303AGR_MAG_Get_Raw_Magnetic(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -1565,7 +1565,7 @@
 
 #define LSM303AGR_MAG_SENSITIVITY   15/10
 
-status_t LSM303AGR_MAG_Get_Magnetic(void *handle, int *buff)
+mems_status_t LSM303AGR_MAG_Get_Magnetic(void *handle, int *buff)
 {
   Type3Axis16bit_U raw_data_tmp;
 
@@ -1583,13 +1583,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM303AGR_MAG_Get_IntThreshld(u8_t *buff)
+* Function Name  : mems_status_t LSM303AGR_MAG_Get_IntThreshld(u8_t *buff)
 * Description    : Read IntThreshld output register
 * Input          : pointer to [u8_t]
 * Output         : IntThreshld buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_IntThreshld(void *handle, u8_t *buff) 
+mems_status_t LSM303AGR_MAG_Get_IntThreshld(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -1611,13 +1611,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM303AGR_MAG_Set_IntThreshld(u8_t *buff)
+* Function Name  : mems_status_t LSM303AGR_MAG_Set_IntThreshld(u8_t *buff)
 * Description    : Write IntThreshld output register
 * Input          : pointer to [u8_t]
 * Output         : IntThreshld buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM303AGR_MAG_Set_IntThreshld(void *handle, u8_t *buff) 
+mems_status_t LSM303AGR_MAG_Set_IntThreshld(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
--- a/Components/LSM303AGRSensor/LSM303AGR_mag_driver.h	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM303AGRSensor/LSM303AGR_mag_driver.h	Tue Mar 14 15:39:53 2017 +0100
@@ -85,7 +85,7 @@
 typedef enum {
   MEMS_SUCCESS = 0x01,
   MEMS_ERROR   = 0x00   
-} status_t;
+} mems_status_t;
 
 #endif /*__SHARED__TYPES*/
 
@@ -107,8 +107,8 @@
 
 /* Public Function Prototypes -------------------------------------------------------*/
 
-status_t LSM303AGR_MAG_read_reg( void *handle, u8_t Reg, u8_t* Data );
-status_t LSM303AGR_MAG_write_reg( void *handle, u8_t Reg, u8_t Data ); 
+mems_status_t LSM303AGR_MAG_read_reg( void *handle, u8_t Reg, u8_t* Data );
+mems_status_t LSM303AGR_MAG_write_reg( void *handle, u8_t Reg, u8_t Data ); 
 
 
 /************** Device Register  *******************/
@@ -140,10 +140,10 @@
 * Bit Group Name: OFF_X_L
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_X_L_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_X_L_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_X_L(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_X_L(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_X_L_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_X_L_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_X_L(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_X_L(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : OFFSET_X_REG_H
@@ -151,10 +151,10 @@
 * Bit Group Name: OFF_X_H
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_X_H_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_X_H_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_X_H(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_X_H(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_X_H_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_X_H_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_X_H(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_X_H(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : OFFSET_Y_REG_L
@@ -162,10 +162,10 @@
 * Bit Group Name: OFF_Y_L
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_Y_L_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_Y_L_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_Y_L(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_Y_L(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_Y_L_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_Y_L_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_Y_L(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_Y_L(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : OFFSET_Y_REG_H
@@ -173,10 +173,10 @@
 * Bit Group Name: OFF_Y_H
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_Y_H_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_Y_H_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_Y_H(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_Y_H(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_Y_H_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_Y_H_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_Y_H(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_Y_H(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : OFFSET_Z_REG_L
@@ -184,10 +184,10 @@
 * Bit Group Name: OFF_Z_L
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_Z_L_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_Z_L_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_Z_L(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_Z_L(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_Z_L_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_Z_L_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_Z_L(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_Z_L(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : OFFSET_Z_REG_H
@@ -195,16 +195,16 @@
 * Bit Group Name: OFF_Z_H
 * Permission    : RW
 *******************************************************************************/
-#define     LSM303AGR_MAG_OFF_Z_H_MASK      0xFF
-#define     LSM303AGR_MAG_OFF_Z_H_POSITION      0
-status_t  LSM303AGR_MAG_W_OFF_Z_H(void *handle, u8_t newValue);
-status_t LSM303AGR_MAG_R_OFF_Z_H(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_OFF_Z_H_MASK      0xFF
+#define       LSM303AGR_MAG_OFF_Z_H_POSITION      0
+mems_status_t LSM303AGR_MAG_W_OFF_Z_H(void *handle, u8_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_Z_H(void *handle, u8_t *value);
 
 /*******************************************************************************
  * Set/Get the Magnetic offsets
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_MagOff(void *handle, u16_t *magx_off, u16_t *magy_off, u16_t *magz_off);
-status_t LSM303AGR_MAG_Set_MagOff(void *handle, u16_t magx_off, u16_t magy_off, u16_t magz_off);
+mems_status_t LSM303AGR_MAG_Get_MagOff(void *handle, u16_t *magx_off, u16_t *magy_off, u16_t *magz_off);
+mems_status_t LSM303AGR_MAG_Set_MagOff(void *handle, u16_t magx_off, u16_t magy_off, u16_t magz_off);
 
 /*******************************************************************************
 * Register      : WHO_AM_I_REG
@@ -212,9 +212,9 @@
 * Bit Group Name: WHO_AM_I
 * Permission    : RO
 *******************************************************************************/
-#define     LSM303AGR_MAG_WHO_AM_I_MASK     0xFF
-#define     LSM303AGR_MAG_WHO_AM_I_POSITION     0
-status_t LSM303AGR_MAG_R_WHO_AM_I(void *handle, u8_t *value);
+#define       LSM303AGR_MAG_WHO_AM_I_MASK     0xFF
+#define       LSM303AGR_MAG_WHO_AM_I_POSITION     0
+mems_status_t LSM303AGR_MAG_R_WHO_AM_I(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_A
@@ -229,9 +229,9 @@
     LSM303AGR_MAG_MD_IDLE2_MODE          =0x03,
 } LSM303AGR_MAG_MD_t;
 
-#define     LSM303AGR_MAG_MD_MASK   0x03
-status_t  LSM303AGR_MAG_W_MD(void *handle, LSM303AGR_MAG_MD_t newValue);
-status_t LSM303AGR_MAG_R_MD(void *handle, LSM303AGR_MAG_MD_t *value);
+#define       LSM303AGR_MAG_MD_MASK   0x03
+mems_status_t LSM303AGR_MAG_W_MD(void *handle, LSM303AGR_MAG_MD_t newValue);
+mems_status_t LSM303AGR_MAG_R_MD(void *handle, LSM303AGR_MAG_MD_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_A
@@ -246,9 +246,9 @@
     LSM303AGR_MAG_ODR_100Hz          =0x0C,
 } LSM303AGR_MAG_ODR_t;
 
-#define     LSM303AGR_MAG_ODR_MASK      0x0C
-status_t  LSM303AGR_MAG_W_ODR(void *handle, LSM303AGR_MAG_ODR_t newValue);
-status_t LSM303AGR_MAG_R_ODR(void *handle, LSM303AGR_MAG_ODR_t *value);
+#define       LSM303AGR_MAG_ODR_MASK      0x0C
+mems_status_t LSM303AGR_MAG_W_ODR(void *handle, LSM303AGR_MAG_ODR_t newValue);
+mems_status_t LSM303AGR_MAG_R_ODR(void *handle, LSM303AGR_MAG_ODR_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_A
@@ -261,9 +261,9 @@
     LSM303AGR_MAG_LP_MODE        =0x10,
 } LSM303AGR_MAG_LP_t;
 
-#define     LSM303AGR_MAG_LP_MASK   0x10
-status_t  LSM303AGR_MAG_W_LP(void *handle, LSM303AGR_MAG_LP_t newValue);
-status_t LSM303AGR_MAG_R_LP(void *handle, LSM303AGR_MAG_LP_t *value);
+#define       LSM303AGR_MAG_LP_MASK   0x10
+mems_status_t LSM303AGR_MAG_W_LP(void *handle, LSM303AGR_MAG_LP_t newValue);
+mems_status_t LSM303AGR_MAG_R_LP(void *handle, LSM303AGR_MAG_LP_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_A
@@ -276,9 +276,9 @@
     LSM303AGR_MAG_SOFT_RST_ENABLED       =0x20,
 } LSM303AGR_MAG_SOFT_RST_t;
 
-#define     LSM303AGR_MAG_SOFT_RST_MASK     0x20
-status_t  LSM303AGR_MAG_W_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t newValue);
-status_t LSM303AGR_MAG_R_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t *value);
+#define       LSM303AGR_MAG_SOFT_RST_MASK     0x20
+mems_status_t LSM303AGR_MAG_W_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t newValue);
+mems_status_t LSM303AGR_MAG_R_SOFT_RST(void *handle, LSM303AGR_MAG_SOFT_RST_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_B
@@ -291,9 +291,9 @@
     LSM303AGR_MAG_LPF_ENABLED        =0x01,
 } LSM303AGR_MAG_LPF_t;
 
-#define     LSM303AGR_MAG_LPF_MASK      0x01
-status_t  LSM303AGR_MAG_W_LPF(void *handle, LSM303AGR_MAG_LPF_t newValue);
-status_t LSM303AGR_MAG_R_LPF(void *handle, LSM303AGR_MAG_LPF_t *value);
+#define       LSM303AGR_MAG_LPF_MASK      0x01
+mems_status_t LSM303AGR_MAG_W_LPF(void *handle, LSM303AGR_MAG_LPF_t newValue);
+mems_status_t LSM303AGR_MAG_R_LPF(void *handle, LSM303AGR_MAG_LPF_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_B
@@ -306,9 +306,9 @@
     LSM303AGR_MAG_OFF_CANC_ENABLED       =0x02,
 } LSM303AGR_MAG_OFF_CANC_t;
 
-#define     LSM303AGR_MAG_OFF_CANC_MASK     0x02
-status_t  LSM303AGR_MAG_W_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t newValue);
-status_t LSM303AGR_MAG_R_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t *value);
+#define       LSM303AGR_MAG_OFF_CANC_MASK     0x02
+mems_status_t LSM303AGR_MAG_W_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t newValue);
+mems_status_t LSM303AGR_MAG_R_OFF_CANC(void *handle, LSM303AGR_MAG_OFF_CANC_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_B
@@ -321,9 +321,9 @@
     LSM303AGR_MAG_SET_FREQ_SINGLE        =0x04,
 } LSM303AGR_MAG_SET_FREQ_t;
 
-#define     LSM303AGR_MAG_SET_FREQ_MASK     0x04
-status_t  LSM303AGR_MAG_W_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t newValue);
-status_t LSM303AGR_MAG_R_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t *value);
+#define       LSM303AGR_MAG_SET_FREQ_MASK     0x04
+mems_status_t LSM303AGR_MAG_W_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t newValue);
+mems_status_t LSM303AGR_MAG_R_SET_FREQ(void *handle, LSM303AGR_MAG_SET_FREQ_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_B
@@ -336,9 +336,9 @@
     LSM303AGR_MAG_INT_ON_DATAOFF_ENABLED         =0x08,
 } LSM303AGR_MAG_INT_ON_DATAOFF_t;
 
-#define     LSM303AGR_MAG_INT_ON_DATAOFF_MASK   0x08
-status_t  LSM303AGR_MAG_W_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t newValue);
-status_t LSM303AGR_MAG_R_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t *value);
+#define       LSM303AGR_MAG_INT_ON_DATAOFF_MASK   0x08
+mems_status_t LSM303AGR_MAG_W_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t newValue);
+mems_status_t LSM303AGR_MAG_R_INT_ON_DATAOFF(void *handle, LSM303AGR_MAG_INT_ON_DATAOFF_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -351,9 +351,9 @@
     LSM303AGR_MAG_INT_MAG_ENABLED        =0x01,
 } LSM303AGR_MAG_INT_MAG_t;
 
-#define     LSM303AGR_MAG_INT_MAG_MASK      0x01
-status_t  LSM303AGR_MAG_W_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t newValue);
-status_t LSM303AGR_MAG_R_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t *value);
+#define       LSM303AGR_MAG_INT_MAG_MASK      0x01
+mems_status_t LSM303AGR_MAG_W_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t newValue);
+mems_status_t LSM303AGR_MAG_R_INT_MAG(void *handle, LSM303AGR_MAG_INT_MAG_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -366,9 +366,9 @@
     LSM303AGR_MAG_ST_ENABLED         =0x02,
 } LSM303AGR_MAG_ST_t;
 
-#define     LSM303AGR_MAG_ST_MASK   0x02
-status_t  LSM303AGR_MAG_W_ST(void *handle, LSM303AGR_MAG_ST_t newValue);
-status_t LSM303AGR_MAG_R_ST(void *handle, LSM303AGR_MAG_ST_t *value);
+#define       LSM303AGR_MAG_ST_MASK   0x02
+mems_status_t LSM303AGR_MAG_W_ST(void *handle, LSM303AGR_MAG_ST_t newValue);
+mems_status_t LSM303AGR_MAG_R_ST(void *handle, LSM303AGR_MAG_ST_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -381,9 +381,9 @@
     LSM303AGR_MAG_BLE_ENABLED        =0x08,
 } LSM303AGR_MAG_BLE_t;
 
-#define     LSM303AGR_MAG_BLE_MASK      0x08
-status_t  LSM303AGR_MAG_W_BLE(void *handle, LSM303AGR_MAG_BLE_t newValue);
-status_t LSM303AGR_MAG_R_BLE(void *handle, LSM303AGR_MAG_BLE_t *value);
+#define       LSM303AGR_MAG_BLE_MASK      0x08
+mems_status_t LSM303AGR_MAG_W_BLE(void *handle, LSM303AGR_MAG_BLE_t newValue);
+mems_status_t LSM303AGR_MAG_R_BLE(void *handle, LSM303AGR_MAG_BLE_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -396,9 +396,9 @@
     LSM303AGR_MAG_BDU_ENABLED        =0x10,
 } LSM303AGR_MAG_BDU_t;
 
-#define     LSM303AGR_MAG_BDU_MASK      0x10
-status_t  LSM303AGR_MAG_W_BDU(void *handle, LSM303AGR_MAG_BDU_t newValue);
-status_t LSM303AGR_MAG_R_BDU(void *handle, LSM303AGR_MAG_BDU_t *value);
+#define       LSM303AGR_MAG_BDU_MASK      0x10
+mems_status_t LSM303AGR_MAG_W_BDU(void *handle, LSM303AGR_MAG_BDU_t newValue);
+mems_status_t LSM303AGR_MAG_R_BDU(void *handle, LSM303AGR_MAG_BDU_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -411,9 +411,9 @@
     LSM303AGR_MAG_I2C_DISABLED       =0x20,
 } LSM303AGR_MAG_I2C_DIS_t;
 
-#define     LSM303AGR_MAG_I2C_DIS_MASK      0x20
-status_t  LSM303AGR_MAG_W_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t newValue);
-status_t LSM303AGR_MAG_R_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t *value);
+#define       LSM303AGR_MAG_I2C_DIS_MASK      0x20
+mems_status_t LSM303AGR_MAG_W_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t newValue);
+mems_status_t LSM303AGR_MAG_R_I2C_DIS(void *handle, LSM303AGR_MAG_I2C_DIS_t *value);
 
 /*******************************************************************************
 * Register      : CFG_REG_C
@@ -426,9 +426,9 @@
     LSM303AGR_MAG_INT_MAG_PIN_ENABLED        =0x40,
 } LSM303AGR_MAG_INT_MAG_PIN_t;
 
-#define     LSM303AGR_MAG_INT_MAG_PIN_MASK      0x40
-status_t  LSM303AGR_MAG_W_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t newValue);
-status_t LSM303AGR_MAG_R_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t *value);
+#define       LSM303AGR_MAG_INT_MAG_PIN_MASK      0x40
+mems_status_t LSM303AGR_MAG_W_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t newValue);
+mems_status_t LSM303AGR_MAG_R_INT_MAG_PIN(void *handle, LSM303AGR_MAG_INT_MAG_PIN_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -441,9 +441,9 @@
     LSM303AGR_MAG_IEN_ENABLED        =0x01,
 } LSM303AGR_MAG_IEN_t;
 
-#define     LSM303AGR_MAG_IEN_MASK      0x01
-status_t  LSM303AGR_MAG_W_IEN(void *handle, LSM303AGR_MAG_IEN_t newValue);
-status_t LSM303AGR_MAG_R_IEN(void *handle, LSM303AGR_MAG_IEN_t *value);
+#define       LSM303AGR_MAG_IEN_MASK      0x01
+mems_status_t LSM303AGR_MAG_W_IEN(void *handle, LSM303AGR_MAG_IEN_t newValue);
+mems_status_t LSM303AGR_MAG_R_IEN(void *handle, LSM303AGR_MAG_IEN_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -456,9 +456,9 @@
     LSM303AGR_MAG_IEL_LATCHED        =0x02,
 } LSM303AGR_MAG_IEL_t;
 
-#define     LSM303AGR_MAG_IEL_MASK      0x02
-status_t  LSM303AGR_MAG_W_IEL(void *handle, LSM303AGR_MAG_IEL_t newValue);
-status_t LSM303AGR_MAG_R_IEL(void *handle, LSM303AGR_MAG_IEL_t *value);
+#define       LSM303AGR_MAG_IEL_MASK      0x02
+mems_status_t LSM303AGR_MAG_W_IEL(void *handle, LSM303AGR_MAG_IEL_t newValue);
+mems_status_t LSM303AGR_MAG_R_IEL(void *handle, LSM303AGR_MAG_IEL_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -471,9 +471,9 @@
     LSM303AGR_MAG_IEA_ACTIVE_HI          =0x04,
 } LSM303AGR_MAG_IEA_t;
 
-#define     LSM303AGR_MAG_IEA_MASK      0x04
-status_t  LSM303AGR_MAG_W_IEA(void *handle, LSM303AGR_MAG_IEA_t newValue);
-status_t LSM303AGR_MAG_R_IEA(void *handle, LSM303AGR_MAG_IEA_t *value);
+#define       LSM303AGR_MAG_IEA_MASK      0x04
+mems_status_t LSM303AGR_MAG_W_IEA(void *handle, LSM303AGR_MAG_IEA_t newValue);
+mems_status_t LSM303AGR_MAG_R_IEA(void *handle, LSM303AGR_MAG_IEA_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -486,9 +486,9 @@
     LSM303AGR_MAG_ZIEN_ENABLED       =0x20,
 } LSM303AGR_MAG_ZIEN_t;
 
-#define     LSM303AGR_MAG_ZIEN_MASK     0x20
-status_t  LSM303AGR_MAG_W_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t newValue);
-status_t LSM303AGR_MAG_R_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t *value);
+#define       LSM303AGR_MAG_ZIEN_MASK     0x20
+mems_status_t LSM303AGR_MAG_W_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t newValue);
+mems_status_t LSM303AGR_MAG_R_ZIEN(void *handle, LSM303AGR_MAG_ZIEN_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -501,9 +501,9 @@
     LSM303AGR_MAG_YIEN_ENABLED       =0x40,
 } LSM303AGR_MAG_YIEN_t;
 
-#define     LSM303AGR_MAG_YIEN_MASK     0x40
-status_t  LSM303AGR_MAG_W_YIEN(void *handle, LSM303AGR_MAG_YIEN_t newValue);
-status_t LSM303AGR_MAG_R_YIEN(void *handle, LSM303AGR_MAG_YIEN_t *value);
+#define       LSM303AGR_MAG_YIEN_MASK     0x40
+mems_status_t LSM303AGR_MAG_W_YIEN(void *handle, LSM303AGR_MAG_YIEN_t newValue);
+mems_status_t LSM303AGR_MAG_R_YIEN(void *handle, LSM303AGR_MAG_YIEN_t *value);
 
 /*******************************************************************************
 * Register      : INT_CTRL_REG
@@ -516,9 +516,9 @@
     LSM303AGR_MAG_XIEN_ENABLED       =0x80,
 } LSM303AGR_MAG_XIEN_t;
 
-#define     LSM303AGR_MAG_XIEN_MASK     0x80
-status_t  LSM303AGR_MAG_W_XIEN(void *handle, LSM303AGR_MAG_XIEN_t newValue);
-status_t LSM303AGR_MAG_R_XIEN(void *handle, LSM303AGR_MAG_XIEN_t *value);
+#define       LSM303AGR_MAG_XIEN_MASK     0x80
+mems_status_t LSM303AGR_MAG_W_XIEN(void *handle, LSM303AGR_MAG_XIEN_t newValue);
+mems_status_t LSM303AGR_MAG_R_XIEN(void *handle, LSM303AGR_MAG_XIEN_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -531,8 +531,8 @@
     LSM303AGR_MAG_INT_EV_ON          =0x01,
 } LSM303AGR_MAG_INT_t;
 
-#define     LSM303AGR_MAG_INT_MASK      0x01
-status_t LSM303AGR_MAG_R_INT(void *handle, LSM303AGR_MAG_INT_t *value);
+#define       LSM303AGR_MAG_INT_MASK      0x01
+mems_status_t LSM303AGR_MAG_R_INT(void *handle, LSM303AGR_MAG_INT_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -545,8 +545,8 @@
     LSM303AGR_MAG_MROI_EV_ON         =0x02,
 } LSM303AGR_MAG_MROI_t;
 
-#define     LSM303AGR_MAG_MROI_MASK     0x02
-status_t LSM303AGR_MAG_R_MROI(void *handle, LSM303AGR_MAG_MROI_t *value);
+#define       LSM303AGR_MAG_MROI_MASK     0x02
+mems_status_t LSM303AGR_MAG_R_MROI(void *handle, LSM303AGR_MAG_MROI_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -559,8 +559,8 @@
     LSM303AGR_MAG_N_TH_S_Z_EV_ON         =0x04,
 } LSM303AGR_MAG_N_TH_S_Z_t;
 
-#define     LSM303AGR_MAG_N_TH_S_Z_MASK     0x04
-status_t LSM303AGR_MAG_R_N_TH_S_Z(void *handle, LSM303AGR_MAG_N_TH_S_Z_t *value);
+#define       LSM303AGR_MAG_N_TH_S_Z_MASK     0x04
+mems_status_t LSM303AGR_MAG_R_N_TH_S_Z(void *handle, LSM303AGR_MAG_N_TH_S_Z_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -573,8 +573,8 @@
     LSM303AGR_MAG_N_TH_S_Y_EV_ON         =0x08,
 } LSM303AGR_MAG_N_TH_S_Y_t;
 
-#define     LSM303AGR_MAG_N_TH_S_Y_MASK     0x08
-status_t LSM303AGR_MAG_R_N_TH_S_Y(void *handle, LSM303AGR_MAG_N_TH_S_Y_t *value);
+#define       LSM303AGR_MAG_N_TH_S_Y_MASK     0x08
+mems_status_t LSM303AGR_MAG_R_N_TH_S_Y(void *handle, LSM303AGR_MAG_N_TH_S_Y_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -587,8 +587,8 @@
     LSM303AGR_MAG_N_TH_S_X_EV_ON         =0x10,
 } LSM303AGR_MAG_N_TH_S_X_t;
 
-#define     LSM303AGR_MAG_N_TH_S_X_MASK     0x10
-status_t LSM303AGR_MAG_R_N_TH_S_X(void *handle, LSM303AGR_MAG_N_TH_S_X_t *value);
+#define       LSM303AGR_MAG_N_TH_S_X_MASK     0x10
+mems_status_t LSM303AGR_MAG_R_N_TH_S_X(void *handle, LSM303AGR_MAG_N_TH_S_X_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -601,8 +601,8 @@
     LSM303AGR_MAG_P_TH_S_Z_EV_ON         =0x20,
 } LSM303AGR_MAG_P_TH_S_Z_t;
 
-#define     LSM303AGR_MAG_P_TH_S_Z_MASK     0x20
-status_t LSM303AGR_MAG_R_P_TH_S_Z(void *handle, LSM303AGR_MAG_P_TH_S_Z_t *value);
+#define       LSM303AGR_MAG_P_TH_S_Z_MASK     0x20
+mems_status_t LSM303AGR_MAG_R_P_TH_S_Z(void *handle, LSM303AGR_MAG_P_TH_S_Z_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -615,8 +615,8 @@
     LSM303AGR_MAG_P_TH_S_Y_EV_ON         =0x40,
 } LSM303AGR_MAG_P_TH_S_Y_t;
 
-#define     LSM303AGR_MAG_P_TH_S_Y_MASK     0x40
-status_t LSM303AGR_MAG_R_P_TH_S_Y(void *handle, LSM303AGR_MAG_P_TH_S_Y_t *value);
+#define       LSM303AGR_MAG_P_TH_S_Y_MASK     0x40
+mems_status_t LSM303AGR_MAG_R_P_TH_S_Y(void *handle, LSM303AGR_MAG_P_TH_S_Y_t *value);
 
 /*******************************************************************************
 * Register      : INT_SOURCE_REG
@@ -629,8 +629,8 @@
     LSM303AGR_MAG_P_TH_S_X_EV_ON         =0x80,
 } LSM303AGR_MAG_P_TH_S_X_t;
 
-#define     LSM303AGR_MAG_P_TH_S_X_MASK     0x80
-status_t LSM303AGR_MAG_R_P_TH_S_X(void *handle, LSM303AGR_MAG_P_TH_S_X_t *value);
+#define       LSM303AGR_MAG_P_TH_S_X_MASK     0x80
+mems_status_t LSM303AGR_MAG_R_P_TH_S_X(void *handle, LSM303AGR_MAG_P_TH_S_X_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -643,8 +643,8 @@
     LSM303AGR_MAG_XDA_EV_ON          =0x01,
 } LSM303AGR_MAG_XDA_t;
 
-#define     LSM303AGR_MAG_XDA_MASK      0x01
-status_t LSM303AGR_MAG_R_XDA(void *handle, LSM303AGR_MAG_XDA_t *value);
+#define       LSM303AGR_MAG_XDA_MASK      0x01
+mems_status_t LSM303AGR_MAG_R_XDA(void *handle, LSM303AGR_MAG_XDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -657,8 +657,8 @@
     LSM303AGR_MAG_YDA_EV_ON          =0x02,
 } LSM303AGR_MAG_YDA_t;
 
-#define     LSM303AGR_MAG_YDA_MASK      0x02
-status_t LSM303AGR_MAG_R_YDA(void *handle, LSM303AGR_MAG_YDA_t *value);
+#define       LSM303AGR_MAG_YDA_MASK      0x02
+mems_status_t LSM303AGR_MAG_R_YDA(void *handle, LSM303AGR_MAG_YDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -671,8 +671,8 @@
     LSM303AGR_MAG_ZDA_EV_ON          =0x04,
 } LSM303AGR_MAG_ZDA_t;
 
-#define     LSM303AGR_MAG_ZDA_MASK      0x04
-status_t LSM303AGR_MAG_R_ZDA(void *handle, LSM303AGR_MAG_ZDA_t *value);
+#define       LSM303AGR_MAG_ZDA_MASK      0x04
+mems_status_t LSM303AGR_MAG_R_ZDA(void *handle, LSM303AGR_MAG_ZDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -685,8 +685,8 @@
     LSM303AGR_MAG_ZYXDA_EV_ON        =0x08,
 } LSM303AGR_MAG_ZYXDA_t;
 
-#define     LSM303AGR_MAG_ZYXDA_MASK    0x08
-status_t LSM303AGR_MAG_R_ZYXDA(void *handle, LSM303AGR_MAG_ZYXDA_t *value);
+#define       LSM303AGR_MAG_ZYXDA_MASK    0x08
+mems_status_t LSM303AGR_MAG_R_ZYXDA(void *handle, LSM303AGR_MAG_ZYXDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -699,8 +699,8 @@
     LSM303AGR_MAG_XOR_EV_ON          =0x10,
 } LSM303AGR_MAG_XOR_t;
 
-#define     LSM303AGR_MAG_XOR_MASK      0x10
-status_t LSM303AGR_MAG_R_XOR(void *handle, LSM303AGR_MAG_XOR_t *value);
+#define       LSM303AGR_MAG_XOR_MASK      0x10
+mems_status_t LSM303AGR_MAG_R_XOR(void *handle, LSM303AGR_MAG_XOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -713,8 +713,8 @@
     LSM303AGR_MAG_YOR_EV_ON          =0x20,
 } LSM303AGR_MAG_YOR_t;
 
-#define     LSM303AGR_MAG_YOR_MASK      0x20
-status_t LSM303AGR_MAG_R_YOR(void *handle, LSM303AGR_MAG_YOR_t *value);
+#define       LSM303AGR_MAG_YOR_MASK      0x20
+mems_status_t LSM303AGR_MAG_R_YOR(void *handle, LSM303AGR_MAG_YOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -727,8 +727,8 @@
     LSM303AGR_MAG_ZOR_EV_ON          =0x40,
 } LSM303AGR_MAG_ZOR_t;
 
-#define     LSM303AGR_MAG_ZOR_MASK      0x40
-status_t LSM303AGR_MAG_R_ZOR(void *handle, LSM303AGR_MAG_ZOR_t *value);
+#define       LSM303AGR_MAG_ZOR_MASK      0x40
+mems_status_t LSM303AGR_MAG_R_ZOR(void *handle, LSM303AGR_MAG_ZOR_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -741,23 +741,23 @@
     LSM303AGR_MAG_ZYXOR_EV_ON        =0x80,
 } LSM303AGR_MAG_ZYXOR_t;
 
-#define     LSM303AGR_MAG_ZYXOR_MASK    0x80
-status_t LSM303AGR_MAG_R_ZYXOR(void *handle, LSM303AGR_MAG_ZYXOR_t *value);
+#define       LSM303AGR_MAG_ZYXOR_MASK    0x80
+mems_status_t LSM303AGR_MAG_R_ZYXOR(void *handle, LSM303AGR_MAG_ZYXOR_t *value);
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : Magnetic
 * Permission    : ro 
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_Raw_Magnetic(void *handle, u8_t *buff);
-status_t LSM303AGR_MAG_Get_Magnetic(void *handle, int *buff);
+mems_status_t LSM303AGR_MAG_Get_Raw_Magnetic(void *handle, u8_t *buff);
+mems_status_t LSM303AGR_MAG_Get_Magnetic(void *handle, int *buff);
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : IntThreshld
 * Permission    : rw 
 *******************************************************************************/
-status_t LSM303AGR_MAG_Get_IntThreshld(void *handle, u8_t *buff); 
-status_t LSM303AGR_MAG_Set_IntThreshld(void *handle, u8_t *buff);
+mems_status_t LSM303AGR_MAG_Get_IntThreshld(void *handle, u8_t *buff); 
+mems_status_t LSM303AGR_MAG_Set_IntThreshld(void *handle, u8_t *buff);
 
 #ifdef __cplusplus
 }
--- a/Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.c	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.c	Tue Mar 14 15:39:53 2017 +0100
@@ -64,7 +64,7 @@
 * Output            : Data REad
 * Return            : None
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_read_reg(void *handle, u8_t Reg, u8_t* Data, u16_t len) 
+mems_status_t LSM6DSL_ACC_GYRO_read_reg(void *handle, u8_t Reg, u8_t* Data, u16_t len) 
 {
   if (LSM6DSL_io_read(handle, Reg, Data, len))
   {
@@ -84,7 +84,7 @@
 * Output            : None
 * Return            : None
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_write_reg(void *handle, u8_t Reg, u8_t *Data, u16_t len) 
+mems_status_t LSM6DSL_ACC_GYRO_write_reg(void *handle, u8_t Reg, u8_t *Data, u16_t len) 
 {
   if (LSM6DSL_io_write(handle, Reg, Data, len))
   {
@@ -105,7 +105,7 @@
 * Output         : Status of WHO_AM_I_BIT 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WHO_AM_I(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WHO_AM_I(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WHO_AM_I_REG, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -123,7 +123,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t newValue)
 {
   u8_t value;
 
@@ -146,7 +146,7 @@
 * Output         : Status of BDU see LSM6DSL_ACC_GYRO_BDU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -163,7 +163,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t newValue)
 {
   u8_t value;
 
@@ -186,7 +186,7 @@
 * Output         : Status of FS_XL see LSM6DSL_ACC_GYRO_FS_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL1_XL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -197,13 +197,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_GYRO_GetRawAccData(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(u8_t *buff)
 * Description    : Read GetAccData output register
 * Input          : pointer to [u8_t]
 * Output         : GetAccData buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff) 
+mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -225,7 +225,7 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo)
+* Function Name  : mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo)
 * Description    : Read GetAccData output register
 * Input          : pointer to [u8_t]
 * Output         : values are expressed in mg
@@ -241,7 +241,7 @@
       244,  /* FS @8g */
       488,  /* FS @16g */
 };
-status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo)
+mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo)
 {
   LSM6DSL_ACC_GYRO_FS_XL_t fs;
   long long sensitivity = 0;
@@ -294,7 +294,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t newValue)
 {
   u8_t value;
 
@@ -317,7 +317,7 @@
 * Output         : Status of ODR_XL see LSM6DSL_ACC_GYRO_ODR_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL1_XL, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -334,7 +334,7 @@
 * Output         : The ODR value in Hz
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_translate_ODR_XL(LSM6DSL_ACC_GYRO_ODR_XL_t value, u16_t *odr_hz_val)
+mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_XL(LSM6DSL_ACC_GYRO_ODR_XL_t value, u16_t *odr_hz_val)
 {
   switch(value) {
   case LSM6DSL_ACC_GYRO_ODR_XL_POWER_DOWN:
@@ -387,7 +387,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t newValue)
 {
   u8_t value;
 
@@ -410,7 +410,7 @@
 * Output         : Status of FS_G see LSM6DSL_ACC_GYRO_FS_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL2_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -421,13 +421,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_GYRO_GetRawGyroData(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_GYRO_GetRawGyroData(u8_t *buff)
 * Description    : Read GetGyroData output register
 * Input          : pointer to [u8_t]
 * Output         : GetGyroData buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_GetRawGyroData(void *handle, u8_t *buff) 
+mems_status_t LSM6DSL_ACC_GYRO_GetRawGyroData(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -449,7 +449,7 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_Get_AngularRate(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_Get_AngularRate(u8_t *buff)
 * Description    : Read GetGyroData output register
 * Input          : pointer to [u8_t]
 * Output         : Returned values are espressed in mdps
@@ -466,7 +466,7 @@
       35000,    /* FS @1000 */
       70000,    /* FS @2000 */
 };
-status_t LSM6DSL_ACC_Get_AngularRate(void *handle, int *buff, u8_t from_fifo)
+mems_status_t LSM6DSL_ACC_Get_AngularRate(void *handle, int *buff, u8_t from_fifo)
 {
   LSM6DSL_ACC_GYRO_FS_125_t fs_125;
   LSM6DSL_ACC_GYRO_FS_G_t fs;
@@ -525,7 +525,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t newValue)
 {
   u8_t value;
 
@@ -548,7 +548,7 @@
 * Output         : Status of ODR_G see LSM6DSL_ACC_GYRO_ODR_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL2_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -565,7 +565,7 @@
 * Output         : The ODR value in Hz
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_translate_ODR_G(LSM6DSL_ACC_GYRO_ODR_G_t value, u16_t *odr_hz_val)
+mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_G(LSM6DSL_ACC_GYRO_ODR_G_t value, u16_t *odr_hz_val)
 {
   switch(value) {
   case LSM6DSL_ACC_GYRO_ODR_G_POWER_DOWN:
@@ -618,7 +618,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t newValue)
 {
   u8_t value;
 
@@ -641,7 +641,7 @@
 * Output         : Status of FS_125 see LSM6DSL_ACC_GYRO_FS_125_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL2_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -660,7 +660,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t newValue)
 {
   u8_t value;
 
@@ -683,7 +683,7 @@
 * Output         : Status of BW_SEL see LSM6DSL_ACC_GYRO_BW_SEL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL1_XL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -700,7 +700,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t newValue)
 {
   u8_t value;
 
@@ -723,7 +723,7 @@
 * Output         : Status of BLE see LSM6DSL_ACC_GYRO_BLE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -740,7 +740,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t newValue)
 {
   u8_t value;
 
@@ -763,7 +763,7 @@
 * Output         : Status of EMB_ACC see LSM6DSL_ACC_GYRO_EMB_ACC_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_CFG_ACCESS, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -780,7 +780,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t newValue)
 {
   u8_t value;
 
@@ -803,7 +803,7 @@
 * Output         : Status of RR see LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_SENSOR_RES_RATIO, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -820,7 +820,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_Stamping_Time_Frame(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_Stamping_Time_Frame(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -846,7 +846,7 @@
 * Output         : Status of TPH 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_Stamping_Time_Frame(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_Stamping_Time_Frame(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_SENSOR_SYNC_TIME, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -864,7 +864,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_Watermark(void *handle, u16_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_Watermark(void *handle, u16_t newValue)
 {
   u8_t valueH, valueL;
   u8_t value;
@@ -908,7 +908,7 @@
 * Output         : Status of WTM_FIFO 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFO_Watermark(void *handle, u16_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_Watermark(void *handle, u16_t *value)
 {
   u8_t valueH, valueL;
 
@@ -938,7 +938,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t newValue)
 {
   u8_t value;
 
@@ -961,7 +961,7 @@
 * Output         : Status of FIFO_TEMP_EN see LSM6DSL_ACC_GYRO_FIFO_TEMP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -978,7 +978,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t newValue)
 {
   u8_t value;
 
@@ -1001,7 +1001,7 @@
 * Output         : Status of TIM_PEDO_FIFO_DRDY see LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -1018,7 +1018,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t newValue)
 {
   u8_t value;
 
@@ -1041,7 +1041,7 @@
 * Output         : Status of TIM_PEDO_FIFO_EN see LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -1057,7 +1057,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t newValue)
 {
   u8_t value;
 
@@ -1080,7 +1080,7 @@
 * Output         : Program XL decimation value from unsigned short
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL_val(void *handle, u16_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL_val(void *handle, u16_t newValue)
 {
   switch(newValue) {
   case 0:
@@ -1129,7 +1129,7 @@
 * Output         : Status of DEC_FIFO_XL see LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL3, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -1146,7 +1146,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t newValue)
 {
   u8_t value;
 
@@ -1169,7 +1169,7 @@
 * Output         : Program G decimation value from unsigned short
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_G_val(void *handle, u16_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G_val(void *handle, u16_t newValue)
 {
   switch(newValue) {
   case 0:
@@ -1218,7 +1218,7 @@
 * Output         : Status of DEC_FIFO_G see LSM6DSL_ACC_GYRO_DEC_FIFO_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL3, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1235,7 +1235,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t newValue)
 {
   u8_t value;
 
@@ -1258,7 +1258,7 @@
 * Output         : Status of DEC_DS3_FIFO see LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL4, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1275,7 +1275,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t newValue)
 {
   u8_t value;
 
@@ -1298,7 +1298,7 @@
 * Output         : Status of DEC_DS4_FIFO see LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL4, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1315,7 +1315,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t newValue)
 {
   u8_t value;
 
@@ -1338,7 +1338,7 @@
 * Output         : Status of HI_DATA_ONLY see LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL4, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1355,7 +1355,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t newValue)
 {
   u8_t value;
 
@@ -1378,7 +1378,7 @@
 * Output         : Status of STOP_ON_FTH see LSM6DSL_ACC_GYRO_STOP_ON_FTH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL4, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1395,7 +1395,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t newValue)
 {
   u8_t value;
 
@@ -1418,7 +1418,7 @@
 * Output         : Status of FIFO_MODE see LSM6DSL_ACC_GYRO_FIFO_MODE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL5, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1435,7 +1435,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t newValue)
 {
   u8_t value;
 
@@ -1458,7 +1458,7 @@
 * Output         : Status of ODR_FIFO see LSM6DSL_ACC_GYRO_ODR_FIFO_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_CTRL5, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1475,7 +1475,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t newValue)
 {
   u8_t value;
 
@@ -1498,7 +1498,7 @@
 * Output         : Status of DRDY_PULSE see LSM6DSL_ACC_GYRO_DRDY_PULSE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_CFG_G, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1515,7 +1515,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t newValue)
 {
   u8_t value;
 
@@ -1538,7 +1538,7 @@
 * Output         : Status of INT1_DRDY_XL see LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1555,7 +1555,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t newValue)
 {
   u8_t value;
 
@@ -1578,7 +1578,7 @@
 * Output         : Status of INT1_DRDY_G see LSM6DSL_ACC_GYRO_INT1_DRDY_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1595,7 +1595,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t newValue)
 {
   u8_t value;
 
@@ -1618,7 +1618,7 @@
 * Output         : Status of INT1_BOOT see LSM6DSL_ACC_GYRO_INT1_BOOT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -1635,7 +1635,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t newValue)
 {
   u8_t value;
 
@@ -1658,7 +1658,7 @@
 * Output         : Status of INT1_FTH see LSM6DSL_ACC_GYRO_INT1_FTH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1675,7 +1675,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t newValue)
 {
   u8_t value;
 
@@ -1698,7 +1698,7 @@
 * Output         : Status of INT1_OVR see LSM6DSL_ACC_GYRO_INT1_OVR_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1715,7 +1715,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t newValue)
 {
   u8_t value;
 
@@ -1738,7 +1738,7 @@
 * Output         : Status of INT1_FULL_FLAG see LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1755,7 +1755,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t newValue)
 {
   u8_t value;
 
@@ -1778,7 +1778,7 @@
 * Output         : Status of INT1_SIGN_MOT see LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1795,7 +1795,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t newValue)
 {
   u8_t value;
 
@@ -1818,7 +1818,7 @@
 * Output         : Status of INT1_PEDO see LSM6DSL_ACC_GYRO_INT1_PEDO_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT1_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1835,7 +1835,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t newValue)
 {
   u8_t value;
 
@@ -1858,7 +1858,7 @@
 * Output         : Status of INT2_DRDY_XL see LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1875,7 +1875,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t newValue)
 {
   u8_t value;
 
@@ -1898,7 +1898,7 @@
 * Output         : Status of INT2_DRDY_G see LSM6DSL_ACC_GYRO_INT2_DRDY_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1915,7 +1915,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t newValue)
 {
   u8_t value;
 
@@ -1938,7 +1938,7 @@
 * Output         : Status of INT2_DRDY_TEMP see LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1955,7 +1955,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t newValue)
 {
   u8_t value;
 
@@ -1978,7 +1978,7 @@
 * Output         : Status of INT2_FTH see LSM6DSL_ACC_GYRO_INT2_FTH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -1995,7 +1995,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t newValue)
 {
   u8_t value;
 
@@ -2018,7 +2018,7 @@
 * Output         : Status of INT2_OVR see LSM6DSL_ACC_GYRO_INT2_OVR_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2035,7 +2035,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t newValue)
 {
   u8_t value;
 
@@ -2058,7 +2058,7 @@
 * Output         : Status of INT2_FULL_FLAG see LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2075,7 +2075,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t newValue)
 {
   u8_t value;
 
@@ -2098,7 +2098,7 @@
 * Output         : Status of INT2_STEP_COUNT_OV see LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2115,7 +2115,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t newValue)
 {
   u8_t value;
 
@@ -2138,7 +2138,7 @@
 * Output         : Status of INT2_STEP_DELTA see LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT2_CTRL, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2155,7 +2155,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t newValue)
 {
   u8_t value;
 
@@ -2178,7 +2178,7 @@
 * Output         : Status of SW_RESET see LSM6DSL_ACC_GYRO_SW_RESET_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2195,7 +2195,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t newValue)
 {
   u8_t value;
 
@@ -2218,7 +2218,7 @@
 * Output         : Status of IF_INC see LSM6DSL_ACC_GYRO_IF_INC_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2235,7 +2235,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t newValue)
 {
   u8_t value;
 
@@ -2258,7 +2258,7 @@
 * Output         : Status of SIM see LSM6DSL_ACC_GYRO_SIM_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2275,7 +2275,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t newValue)
 {
   u8_t value;
 
@@ -2298,7 +2298,7 @@
 * Output         : Status of PP_OD see LSM6DSL_ACC_GYRO_PP_OD_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2315,7 +2315,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t newValue)
 {
   u8_t value;
 
@@ -2338,7 +2338,7 @@
 * Output         : Status of INT_ACT_LEVEL see LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2355,7 +2355,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t newValue)
 {
   u8_t value;
 
@@ -2378,7 +2378,7 @@
 * Output         : Status of BOOT see LSM6DSL_ACC_GYRO_BOOT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL3_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2395,7 +2395,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t newValue)
 {
   u8_t value;
 
@@ -2418,7 +2418,7 @@
 * Output         : Status of LPF1_SEL_G see LSM6DSL_ACC_GYRO_LPF1_SEL_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL4_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2435,7 +2435,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t newValue)
 {
   u8_t value;
 
@@ -2458,7 +2458,7 @@
 * Output         : Status of I2C_DISABLE see LSM6DSL_ACC_GYRO_I2C_DISABLE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL4_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2475,7 +2475,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t newValue)
 {
   u8_t value;
 
@@ -2498,7 +2498,7 @@
 * Output         : Status of DRDY_MSK see LSM6DSL_ACC_GYRO_DRDY_MSK_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL4_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2515,7 +2515,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t newValue)
 {
   u8_t value;
 
@@ -2538,7 +2538,7 @@
 * Output         : Status of INT2_ON_INT1 see LSM6DSL_ACC_GYRO_INT2_ON_INT1_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL4_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2555,7 +2555,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t newValue)
 {
   u8_t value;
 
@@ -2578,7 +2578,7 @@
 * Output         : Status of SLEEP_G see LSM6DSL_ACC_GYRO_SLEEP_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL4_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2595,7 +2595,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t newValue)
 {
   u8_t value;
 
@@ -2618,7 +2618,7 @@
 * Output         : Status of ST_XL see LSM6DSL_ACC_GYRO_ST_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL5_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2635,7 +2635,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t newValue)
 {
   u8_t value;
 
@@ -2658,7 +2658,7 @@
 * Output         : Status of ST_G see LSM6DSL_ACC_GYRO_ST_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL5_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2675,7 +2675,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t newValue)
 {
   u8_t value;
 
@@ -2698,7 +2698,7 @@
 * Output         : Status of DEN_LH see LSM6DSL_ACC_GYRO_DEN_LH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL5_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2715,7 +2715,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t newValue)
 {
   u8_t value;
 
@@ -2738,7 +2738,7 @@
 * Output         : Status of ST_ROUNDING see LSM6DSL_ACC_GYRO_ROUNDING_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL5_C, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2755,7 +2755,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t newValue)
 {
   u8_t value;
 
@@ -2778,7 +2778,7 @@
 * Output         : Status of FTYPE see LSM6DSL_ACC_GYRO_FTYPE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2795,7 +2795,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t newValue)
 {
   u8_t value;
 
@@ -2818,7 +2818,7 @@
 * Output         : Status of USR_OFF_W see LSM6DSL_ACC_GYRO_USR_OFF_W_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2835,7 +2835,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t newValue)
 {
   u8_t value;
 
@@ -2858,7 +2858,7 @@
 * Output         : Status of LP_XL see LSM6DSL_ACC_GYRO_LP_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2874,7 +2874,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t newValue)
 {
   u8_t value;
 
@@ -2897,7 +2897,7 @@
 * Output         : Status of DEN_LVL2_EN see LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1)) 
     return MEMS_ERROR;
@@ -2913,7 +2913,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t newValue)
 {
   u8_t value;
 
@@ -2936,7 +2936,7 @@
 * Output         : Status of DEN_LVL_EN see LSM6DSL_ACC_GYRO_DEN_LVL_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2952,7 +2952,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t newValue)
 {
   u8_t value;
 
@@ -2975,7 +2975,7 @@
 * Output         : Status of DEN_EDGE_EN see LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL6_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -2992,7 +2992,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t newValue)
 {
   u8_t value;
 
@@ -3015,7 +3015,7 @@
 * Output         : Status of HPM_G see LSM6DSL_ACC_GYRO_HPM_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3032,7 +3032,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t newValue)
 {
   u8_t value;
 
@@ -3055,7 +3055,7 @@
 * Output         : Status of HPM_G see LSM6DSL_ACC_GYRO_RND_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1))
     return MEMS_ERROR;
@@ -3072,7 +3072,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t newValue)
 {
   u8_t value;
 
@@ -3095,7 +3095,7 @@
 * Output         : Status of HP_EN see LSM6DSL_ACC_GYRO_HP_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3111,7 +3111,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t newValue)
 {
   u8_t value;
 
@@ -3134,7 +3134,7 @@
 * Output         : Status of LP_EN see LSM6DSL_ACC_GYRO_LP_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3151,7 +3151,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t newValue)
 {
   u8_t value;
 
@@ -3174,7 +3174,7 @@
 * Output         : Status of ROUNDING_STATUS see LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3191,7 +3191,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t newValue)
 {
   u8_t value;
 
@@ -3214,7 +3214,7 @@
 * Output         : Status of HP_G_RST see LSM6DSL_ACC_GYRO_HP_G_RST_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL7_G, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3231,7 +3231,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t newValue)
 {
   u8_t value;
 
@@ -3254,7 +3254,7 @@
 * Output         : Status of INPUT_COMPOSITE see LSM6DSL_ACC_GYRO_IN_COMP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3271,7 +3271,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t newValue)
 {
   u8_t value;
 
@@ -3294,7 +3294,7 @@
 * Output         : Status of HP_REF_MODE see LSM6DSL_ACC_GYRO_HP_REF_MODE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3311,7 +3311,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t newValue)
 {
   u8_t value;
 
@@ -3334,7 +3334,7 @@
 * Output         : Status of HPCF_XL see LSM6DSL_ACC_GYRO_HPCF_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3351,7 +3351,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t newValue)
 {
   u8_t value;
 
@@ -3374,7 +3374,7 @@
 * Output         : Status of LPF2_XL_EN see LSM6DSL_ACC_GYRO_LPF2_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3391,7 +3391,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t newValue)
 {
   u8_t value;
 
@@ -3414,7 +3414,7 @@
 * Output         : Status of LOW_PASS_ON_6D see LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3431,7 +3431,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t newValue)
 {
   u8_t value;
 
@@ -3454,7 +3454,7 @@
 * Output         : Status of HP_SLOPE_XL_EN see LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL8_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3471,7 +3471,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t newValue)
 {
   u8_t value;
 
@@ -3494,7 +3494,7 @@
 * Output         : Status of SOFT_EN see LSM6DSL_ACC_GYRO_SOFT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL9_XL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3511,7 +3511,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t newValue)
 {
   u8_t value;
 
@@ -3534,7 +3534,7 @@
 * Output         : Status of SIGN_MOTION_EN see LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3550,7 +3550,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t newValue)
 {
   u8_t value;
 
@@ -3573,7 +3573,7 @@
 * Output         : Status of PEDO_RST_STEP see LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3589,7 +3589,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t newValue)
 {
   u8_t value;
 
@@ -3612,7 +3612,7 @@
 * Output         : Status of XEN_G see LSM6DSL_ACC_GYRO_TILT_G_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3628,7 +3628,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t newValue)
 {
   u8_t value;
 
@@ -3651,7 +3651,7 @@
 * Output         : Status of PEDO_EN see LSM6DSL_ACC_GYRO_PEDO_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3668,7 +3668,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t newValue)
 {
   u8_t value;
 
@@ -3691,7 +3691,7 @@
 * Output         : Status of TIMER_EN see LSM6DSL_ACC_GYRO_TIMER_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3708,7 +3708,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t newValue)
 {
   u8_t value;
 
@@ -3731,7 +3731,7 @@
 * Output         : Status of FUNC_EN see LSM6DSL_ACC_GYRO_FUNC_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_CTRL10_C, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3748,7 +3748,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t newValue)
 {
   u8_t value;
 
@@ -3771,7 +3771,7 @@
 * Output         : Status of MASTER_ON see LSM6DSL_ACC_GYRO_MASTER_ON_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3788,7 +3788,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t newValue)
 {
   u8_t value;
 
@@ -3811,7 +3811,7 @@
 * Output         : Status of IRON_EN see LSM6DSL_ACC_GYRO_IRON_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3828,7 +3828,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t newValue)
 {
   u8_t value;
 
@@ -3851,7 +3851,7 @@
 * Output         : Status of PASS_THRU_MODE see LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3868,7 +3868,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t newValue)
 {
   u8_t value;
 
@@ -3891,7 +3891,7 @@
 * Output         : Status of PULL_UP_EN see LSM6DSL_ACC_GYRO_PULL_UP_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3908,7 +3908,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t newValue)
 {
   u8_t value;
 
@@ -3931,7 +3931,7 @@
 * Output         : Status of START_CONFIG see LSM6DSL_ACC_GYRO_START_CONFIG_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3948,7 +3948,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t newValue)
 {
   u8_t value;
 
@@ -3971,7 +3971,7 @@
 * Output         : Status of DATA_VAL_SEL_FIFO see LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -3988,7 +3988,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t newValue)
 {
   u8_t value;
 
@@ -4010,7 +4010,7 @@
 * Output         : Status of DRDY_ON_INT1 see LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MASTER_CONFIG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4027,7 +4027,7 @@
 * Output         : Status of Z_WU see LSM6DSL_ACC_GYRO_Z_WU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_Z_WU(void *handle, LSM6DSL_ACC_GYRO_Z_WU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_Z_WU(void *handle, LSM6DSL_ACC_GYRO_Z_WU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4044,7 +4044,7 @@
 * Output         : Status of Y_WU see LSM6DSL_ACC_GYRO_Y_WU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_Y_WU(void *handle, LSM6DSL_ACC_GYRO_Y_WU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_Y_WU(void *handle, LSM6DSL_ACC_GYRO_Y_WU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4061,7 +4061,7 @@
 * Output         : Status of X_WU see LSM6DSL_ACC_GYRO_X_WU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_X_WU(void *handle, LSM6DSL_ACC_GYRO_X_WU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_X_WU(void *handle, LSM6DSL_ACC_GYRO_X_WU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4078,7 +4078,7 @@
 * Output         : Status of WU_EV_STATUS see LSM6DSL_ACC_GYRO_WU_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WU_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_WU_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WU_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_WU_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4095,7 +4095,7 @@
 * Output         : Status of SLEEP_EV_STATUS see LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SLEEP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4112,7 +4112,7 @@
 * Output         : Status of FF_EV_STATUS see LSM6DSL_ACC_GYRO_FF_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FF_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_FF_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_FF_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4129,7 +4129,7 @@
 * Output         : Status of Z_TAP see LSM6DSL_ACC_GYRO_Z_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_Z_TAP(void *handle, LSM6DSL_ACC_GYRO_Z_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_Z_TAP(void *handle, LSM6DSL_ACC_GYRO_Z_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4146,7 +4146,7 @@
 * Output         : Status of Y_TAP see LSM6DSL_ACC_GYRO_Y_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_Y_TAP(void *handle, LSM6DSL_ACC_GYRO_Y_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_Y_TAP(void *handle, LSM6DSL_ACC_GYRO_Y_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4163,7 +4163,7 @@
 * Output         : Status of X_TAP see LSM6DSL_ACC_GYRO_X_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_X_TAP(void *handle, LSM6DSL_ACC_GYRO_X_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_X_TAP(void *handle, LSM6DSL_ACC_GYRO_X_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4180,7 +4180,7 @@
 * Output         : Status of TAP_SIGN see LSM6DSL_ACC_GYRO_TAP_SIGN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_SIGN(void *handle, LSM6DSL_ACC_GYRO_TAP_SIGN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_SIGN(void *handle, LSM6DSL_ACC_GYRO_TAP_SIGN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4197,7 +4197,7 @@
 * Output         : Status of DOUBLE_TAP_EV_STATUS see LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DOUBLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DOUBLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4214,7 +4214,7 @@
 * Output         : Status of SINGLE_TAP_EV_STATUS see LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SINGLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4231,7 +4231,7 @@
 * Output         : Status of TAP_EV_STATUS see LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4248,7 +4248,7 @@
 * Output         : Status of DSD_XL see LSM6DSL_ACC_GYRO_DSD_XL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_XL(void *handle, LSM6DSL_ACC_GYRO_DSD_XL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XL(void *handle, LSM6DSL_ACC_GYRO_DSD_XL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4265,7 +4265,7 @@
 * Output         : Status of DSD_XH see LSM6DSL_ACC_GYRO_DSD_XH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_XH(void *handle, LSM6DSL_ACC_GYRO_DSD_XH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XH(void *handle, LSM6DSL_ACC_GYRO_DSD_XH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4282,7 +4282,7 @@
 * Output         : Status of DSD_YL see LSM6DSL_ACC_GYRO_DSD_YL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_YL(void *handle, LSM6DSL_ACC_GYRO_DSD_YL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YL(void *handle, LSM6DSL_ACC_GYRO_DSD_YL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4299,7 +4299,7 @@
 * Output         : Status of DSD_YH see LSM6DSL_ACC_GYRO_DSD_YH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_YH(void *handle, LSM6DSL_ACC_GYRO_DSD_YH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YH(void *handle, LSM6DSL_ACC_GYRO_DSD_YH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4316,7 +4316,7 @@
 * Output         : Status of DSD_ZL see LSM6DSL_ACC_GYRO_DSD_ZL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_ZL(void *handle, LSM6DSL_ACC_GYRO_DSD_ZL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZL(void *handle, LSM6DSL_ACC_GYRO_DSD_ZL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4333,7 +4333,7 @@
 * Output         : Status of DSD_ZH see LSM6DSL_ACC_GYRO_DSD_ZH_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DSD_ZH(void *handle, LSM6DSL_ACC_GYRO_DSD_ZH_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZH(void *handle, LSM6DSL_ACC_GYRO_DSD_ZH_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4350,7 +4350,7 @@
 * Output         : Status of D6D_EV_STATUS see LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_D6D_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_D6D_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_D6D_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4367,7 +4367,7 @@
 * Output         : Status of XLDA see LSM6DSL_ACC_GYRO_XLDA_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_XLDA(void *handle, LSM6DSL_ACC_GYRO_XLDA_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_XLDA(void *handle, LSM6DSL_ACC_GYRO_XLDA_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_STATUS_REG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4384,7 +4384,7 @@
 * Output         : Status of GDA see LSM6DSL_ACC_GYRO_GDA_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_GDA(void *handle, LSM6DSL_ACC_GYRO_GDA_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_GDA(void *handle, LSM6DSL_ACC_GYRO_GDA_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_STATUS_REG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4401,7 +4401,7 @@
 * Output         : Status of GDA see LSM6DSL_ACC_GYRO_TDA_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TDA(void *handle, LSM6DSL_ACC_GYRO_TDA_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TDA(void *handle, LSM6DSL_ACC_GYRO_TDA_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_STATUS_REG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4418,7 +4418,7 @@
 * Output         : Status of DIFF_FIFO 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFONumOfEntries(void *handle, u16_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFONumOfEntries(void *handle, u16_t *value)
 {
   u8_t valueH, valueL;
 
@@ -4448,7 +4448,7 @@
 * Output         : Status of FIFO_EMPTY see LSM6DSL_ACC_GYRO_FIFO_EMPTY_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFOEmpty(void *handle, LSM6DSL_ACC_GYRO_FIFO_EMPTY_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOEmpty(void *handle, LSM6DSL_ACC_GYRO_FIFO_EMPTY_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_STATUS2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4465,7 +4465,7 @@
 * Output         : Status of FIFO_FULL see LSM6DSL_ACC_GYRO_FIFO_FULL_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFOFull(void *handle, LSM6DSL_ACC_GYRO_FIFO_FULL_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOFull(void *handle, LSM6DSL_ACC_GYRO_FIFO_FULL_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_STATUS2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4482,7 +4482,7 @@
 * Output         : Status of OVERRUN see LSM6DSL_ACC_GYRO_OVERRUN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN(void *handle, LSM6DSL_ACC_GYRO_OVERRUN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN(void *handle, LSM6DSL_ACC_GYRO_OVERRUN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_STATUS2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4499,7 +4499,7 @@
 * Output         : Status of WTM see LSM6DSL_ACC_GYRO_WTM_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WaterMark(void *handle, LSM6DSL_ACC_GYRO_WTM_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WaterMark(void *handle, LSM6DSL_ACC_GYRO_WTM_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FIFO_STATUS2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4516,7 +4516,7 @@
 * Output         : Status of FIFO_PATTERN 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FIFOPattern(void *handle, u16_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOPattern(void *handle, u16_t *value)
 {
   u8_t valueH, valueL;
 
@@ -4546,7 +4546,7 @@
 * Output         : Status of SENS_HUB_END see LSM6DSL_ACC_GYRO_SENS_HUB_END_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SENS_HUB_END(void *handle, LSM6DSL_ACC_GYRO_SENS_HUB_END_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SENS_HUB_END(void *handle, LSM6DSL_ACC_GYRO_SENS_HUB_END_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4563,7 +4563,7 @@
 * Output         : Status of SOFT_IRON_END see LSM6DSL_ACC_GYRO_SOFT_IRON_END_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SOFT_IRON_END(void *handle, LSM6DSL_ACC_GYRO_SOFT_IRON_END_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SOFT_IRON_END(void *handle, LSM6DSL_ACC_GYRO_SOFT_IRON_END_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4580,7 +4580,7 @@
 * Output         : Status of HI_FAIL see LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_HardIron(void *handle, LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_HardIron(void *handle, LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4597,7 +4597,7 @@
 * Output         : Status of STEP_OVERFLOW see LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STEP_OVERFLOW(void *handle, LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_OVERFLOW(void *handle, LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4614,7 +4614,7 @@
 * Output         : Status of STEP_COUNT_DELTA_IA see LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_DELTA(void *handle, LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_DELTA(void *handle, LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4631,7 +4631,7 @@
 * Output         : Status of PEDO_EV_STATUS see LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4648,7 +4648,7 @@
 * Output         : Status of TILT_EV_STATUS see LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TILT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TILT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4665,7 +4665,7 @@
 * Output         : Status of SIGN_MOT_EV_STATUS see LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FUNC_SRC, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4682,7 +4682,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t newValue)
 {
   u8_t value;
 
@@ -4705,7 +4705,7 @@
 * Output         : Status of LIR see LSM6DSL_ACC_GYRO_LIR_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4722,7 +4722,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t newValue)
 {
   u8_t value;
 
@@ -4745,7 +4745,7 @@
 * Output         : Status of TAP_Z_EN see LSM6DSL_ACC_GYRO_TAP_Z_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4762,7 +4762,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t newValue)
 {
   u8_t value;
 
@@ -4785,7 +4785,7 @@
 * Output         : Status of TAP_Y_EN see LSM6DSL_ACC_GYRO_TAP_Y_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4802,7 +4802,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t newValue)
 {
   u8_t value;
 
@@ -4825,7 +4825,7 @@
 * Output         : Status of TAP_X_EN see LSM6DSL_ACC_GYRO_TAP_X_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4842,7 +4842,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t newValue)
 {
   u8_t value;
 
@@ -4865,7 +4865,7 @@
 * Output         : Status of SLOPE_FDS see LSM6DSL_ACC_GYRO_SLOPE_FDS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4882,7 +4882,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t newValue)
 {
   u8_t value;
 
@@ -4905,7 +4905,7 @@
 * Output         : Status of INTERRUPTS_ENABLE see LSM6DSL_ACC_GYRO_INT_EN_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_CFG1, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4922,7 +4922,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TAP_THS(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_THS(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -4948,7 +4948,7 @@
 * Output         : Status of TAP_THS 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TAP_THS(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_THS(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_THS_6D, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -4966,7 +4966,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t newValue)
 {
   u8_t value;
 
@@ -4989,7 +4989,7 @@
 * Output         : Status of SIXD_THS see LSM6DSL_ACC_GYRO_SIXD_THS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_THS_6D, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5006,7 +5006,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t newValue)
 {
   u8_t value;
 
@@ -5029,7 +5029,7 @@
 * Output         : Status of D4D_EN see LSM6DSL_ACC_GYRO_D4D_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_TAP_THS_6D, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5046,7 +5046,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SHOCK_Duration(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SHOCK_Duration(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5072,7 +5072,7 @@
 * Output         : Status of SHOCK 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SHOCK_Duration(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SHOCK_Duration(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT_DUR2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5089,7 +5089,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_QUIET_Duration(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_QUIET_Duration(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5115,7 +5115,7 @@
 * Output         : Status of QUIET 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_QUIET_Duration(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_QUIET_Duration(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT_DUR2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5133,7 +5133,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_DUR(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_DUR(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5159,7 +5159,7 @@
 * Output         : Status of DUR 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_DUR(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_DUR(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_INT_DUR2, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5177,7 +5177,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_WK_THS(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_WK_THS(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5203,7 +5203,7 @@
 * Output         : Status of WK_THS 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WK_THS(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WK_THS(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_THS, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5221,7 +5221,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t newValue)
 {
   u8_t value;
 
@@ -5244,7 +5244,7 @@
 * Output         : Status of SINGLE_DOUBLE_TAP see LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_THS, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5261,7 +5261,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SLEEP_DUR(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SLEEP_DUR(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5287,7 +5287,7 @@
 * Output         : Status of SLEEP_DUR 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SLEEP_DUR(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_DUR(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_DUR, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5305,7 +5305,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t newValue)
 {
   u8_t value;
 
@@ -5328,7 +5328,7 @@
 * Output         : Status of TIMER_HR see LSM6DSL_ACC_GYRO_TIMER_HR_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_DUR, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5345,7 +5345,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_WAKE_DUR(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_WAKE_DUR(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -5371,7 +5371,7 @@
 * Output         : Status of WAKE_DUR 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WAKE_DUR(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WAKE_DUR(void *handle, u8_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_WAKE_UP_DUR, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5389,7 +5389,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t newValue)
 {
   u8_t value;
 
@@ -5412,7 +5412,7 @@
 * Output         : Status of FF_THS see LSM6DSL_ACC_GYRO_FF_THS_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_FREE_FALL, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5429,7 +5429,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FF_Duration(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FF_Duration(void *handle, u8_t newValue)
 {
   u8_t valueH, valueL;
   u8_t value;
@@ -5473,7 +5473,7 @@
 * Output         : Status of FF_DUR 
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FF_Duration(void *handle, u8_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_Duration(void *handle, u8_t *value)
 {
   u8_t valueH, valueL;
 
@@ -5503,7 +5503,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t newValue)
 {
   u8_t value;
 
@@ -5526,7 +5526,7 @@
 * Output         : Status of INT1_TIMER see LSM6DSL_ACC_GYRO_INT1_TIMER_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5543,7 +5543,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t newValue)
 {
   u8_t value;
 
@@ -5566,7 +5566,7 @@
 * Output         : Status of INT1_TILT see LSM6DSL_ACC_GYRO_INT1_TILT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5583,7 +5583,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t newValue)
 {
   u8_t value;
 
@@ -5606,7 +5606,7 @@
 * Output         : Status of INT1_6D see LSM6DSL_ACC_GYRO_INT1_6D_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5623,7 +5623,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t newValue)
 {
   u8_t value;
 
@@ -5646,7 +5646,7 @@
 * Output         : Status of INT1_TAP see LSM6DSL_ACC_GYRO_INT1_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5663,7 +5663,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t newValue)
 {
   u8_t value;
 
@@ -5686,7 +5686,7 @@
 * Output         : Status of INT1_FF see LSM6DSL_ACC_GYRO_INT1_FF_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5703,7 +5703,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t newValue)
 {
   u8_t value;
 
@@ -5726,7 +5726,7 @@
 * Output         : Status of INT1_WU see LSM6DSL_ACC_GYRO_INT1_WU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5743,7 +5743,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t newValue)
 {
   u8_t value;
 
@@ -5766,7 +5766,7 @@
 * Output         : Status of INT1_SINGLE_TAP see LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5783,7 +5783,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t newValue)
 {
   u8_t value;
 
@@ -5806,7 +5806,7 @@
 * Output         : Status of INT1_SLEEP see LSM6DSL_ACC_GYRO_INT1_SLEEP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD1_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5823,7 +5823,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t newValue)
 {
   u8_t value;
 
@@ -5846,7 +5846,7 @@
 * Output         : Status of INT2_IRON see LSM6DSL_ACC_GYRO_INT2_IRON_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5863,7 +5863,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t newValue)
 {
   u8_t value;
 
@@ -5886,7 +5886,7 @@
 * Output         : Status of INT2_TILT see LSM6DSL_ACC_GYRO_INT2_TILT_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5903,7 +5903,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t newValue)
 {
   u8_t value;
 
@@ -5926,7 +5926,7 @@
 * Output         : Status of INT2_6D see LSM6DSL_ACC_GYRO_INT2_6D_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5943,7 +5943,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t newValue)
 {
   u8_t value;
 
@@ -5966,7 +5966,7 @@
 * Output         : Status of INT2_TAP see LSM6DSL_ACC_GYRO_INT2_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -5983,7 +5983,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t newValue)
 {
   u8_t value;
 
@@ -6006,7 +6006,7 @@
 * Output         : Status of INT2_FF see LSM6DSL_ACC_GYRO_INT2_FF_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -6023,7 +6023,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t newValue)
 {
   u8_t value;
 
@@ -6046,7 +6046,7 @@
 * Output         : Status of INT2_WU see LSM6DSL_ACC_GYRO_INT2_WU_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -6063,7 +6063,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t newValue)
 {
   u8_t value;
 
@@ -6086,7 +6086,7 @@
 * Output         : Status of INT2_SINGLE_TAP see LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -6103,7 +6103,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t newValue)
 {
   u8_t value;
 
@@ -6126,7 +6126,7 @@
 * Output         : Status of INT2_SLEEP see LSM6DSL_ACC_GYRO_INT2_SLEEP_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t *value)
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t *value)
 {
  if( !LSM6DSL_ACC_GYRO_read_reg(handle, LSM6DSL_ACC_GYRO_MD2_CFG, (u8_t *)value, 1) )
     return MEMS_ERROR;
@@ -6137,13 +6137,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(u8_t *buff)
 * Description    : Read GetFIFOData output register
 * Input          : pointer to [u8_t]
 * Output         : GetFIFOData buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(void *handle, u8_t *buff) 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -6165,13 +6165,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(u8_t *buff)
 * Description    : Read GetTimestamp output register
 * Input          : pointer to [u8_t]
 * Output         : GetTimestamp buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(void *handle, u8_t *buff) 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -6193,13 +6193,13 @@
 }
 
 /*******************************************************************************
-* Function Name  : status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(u8_t *buff)
+* Function Name  : mems_status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(u8_t *buff)
 * Description    : Read GetStepCounter output register
 * Input          : pointer to [u8_t]
 * Output         : GetStepCounter buffer u8_t
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(void *handle, u8_t *buff) 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(void *handle, u8_t *buff) 
 {
   u8_t i, j, k;
   u8_t numberOfByteForDimension;
@@ -6227,7 +6227,7 @@
 * Output         : None
 * Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PedoThreshold(void *handle, u8_t newValue)
+mems_status_t LSM6DSL_ACC_GYRO_W_PedoThreshold(void *handle, u8_t newValue)
 {
   u8_t value;
 
@@ -6255,7 +6255,7 @@
  * The SI_Matrix buffer must provide coefficients
  * in xx, xy, xz, yx, yy, yz, zx, zy, zz order.
  */
-status_t LSM6DSL_ACC_GYRO_SH_init_SI_Matrix(void *handle, u8_t *SI_matrix)
+mems_status_t LSM6DSL_ACC_GYRO_SH_init_SI_Matrix(void *handle, u8_t *SI_matrix)
 {
   /* Open Embedded Function Register page*/
   LSM6DSL_ACC_GYRO_W_EmbeddedAccess(handle, LSM6DSL_ACC_GYRO_EMBEDDED_ACCESS_ENABLED);
@@ -6270,7 +6270,7 @@
 }
 
 /* Read a remote device through I2C Sensor Hub Slave 0 */
-status_t LSM6DSL_ACC_GYRO_SH0_Program(void *handle, u8_t SlvAddr, u8_t Reg, u8_t len)
+mems_status_t LSM6DSL_ACC_GYRO_SH0_Program(void *handle, u8_t SlvAddr, u8_t Reg, u8_t len)
 {
   /* Open Embedded Function Register page*/
   LSM6DSL_ACC_GYRO_W_EmbeddedAccess(handle, LSM6DSL_ACC_GYRO_EMBEDDED_ACCESS_ENABLED);
@@ -6304,7 +6304,7 @@
 }
 
 /* Read a remote device through I2C Sensor Hub Slave 0 */
-status_t LSM6DSL_ACC_GYRO_SH0_ReadMem(void *handle, u8_t SlvAddr, u8_t Reg, u8_t *Bufp, u8_t len, u8_t stop)
+mems_status_t LSM6DSL_ACC_GYRO_SH0_ReadMem(void *handle, u8_t SlvAddr, u8_t Reg, u8_t *Bufp, u8_t len, u8_t stop)
 {
   LSM6DSL_ACC_GYRO_SENS_HUB_END_t op_cmpl = LSM6DSL_ACC_GYRO_SENS_HUB_END_STILL_ONGOING;
   LSM6DSL_ACC_GYRO_XLDA_t op_update = LSM6DSL_ACC_GYRO_XLDA_NO_DATA_AVAIL;
@@ -6342,7 +6342,7 @@
 }
 
 /* Write a remote device through I2C Sensor Hub Slave 0 */
-status_t LSM6DSL_ACC_GYRO_SH0_WriteByte(void *handle, u8_t SlvAddr, u8_t Reg, u8_t Bufp)
+mems_status_t LSM6DSL_ACC_GYRO_SH0_WriteByte(void *handle, u8_t SlvAddr, u8_t Reg, u8_t Bufp)
 {
   LSM6DSL_ACC_GYRO_SENS_HUB_END_t op_cmpl = LSM6DSL_ACC_GYRO_SENS_HUB_END_STILL_ONGOING;
   LSM6DSL_ACC_GYRO_XLDA_t op_update = LSM6DSL_ACC_GYRO_XLDA_NO_DATA_AVAIL;
--- a/Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.h	Tue Mar 14 13:30:55 2017 +0000
+++ b/Components/LSM6DSLSensor/LSM6DSL_acc_gyro_driver.h	Tue Mar 14 15:39:53 2017 +0100
@@ -84,7 +84,7 @@
 typedef enum {
   MEMS_SUCCESS              =       0x01,
   MEMS_ERROR                =       0x00    
-} status_t;
+} mems_status_t;
 
 #endif /*__SHARED__TYPES*/
 
@@ -249,7 +249,7 @@
 * Bit Group Name: None
 * Permission    : W
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_write_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len );
+mems_status_t LSM6DSL_ACC_GYRO_write_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len );
 
 /*******************************************************************************
 * Register      : Generic - All
@@ -257,7 +257,7 @@
 * Bit Group Name: None
 * Permission    : R
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_read_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len );
+mems_status_t LSM6DSL_ACC_GYRO_read_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len );
 
 /**************** Base Function  *******************/
 
@@ -267,9 +267,9 @@
 * Bit Group Name: WHO_AM_I_BIT
 * Permission    : RO
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_MASK      0xFF
-#define     LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_POSITION      0
-status_t LSM6DSL_ACC_GYRO_R_WHO_AM_I(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_MASK      0xFF
+#define       LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_POSITION      0
+mems_status_t LSM6DSL_ACC_GYRO_R_WHO_AM_I(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : CTRL3_C
@@ -282,9 +282,9 @@
     LSM6DSL_ACC_GYRO_BDU_BLOCK_UPDATE        =0x40,
 } LSM6DSL_ACC_GYRO_BDU_t;
 
-#define     LSM6DSL_ACC_GYRO_BDU_MASK   0x40
-status_t LSM6DSL_ACC_GYRO_W_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t *value);
+#define       LSM6DSL_ACC_GYRO_BDU_MASK   0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t *value);
 
 /*******************************************************************************
 * Register      : CTRL1_XL
@@ -299,17 +299,17 @@
     LSM6DSL_ACC_GYRO_FS_XL_8g        =0x0C,
 } LSM6DSL_ACC_GYRO_FS_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_FS_XL_MASK     0x0C
-status_t  LSM6DSL_ACC_GYRO_W_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_FS_XL_MASK     0x0C
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t *value);
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetAccData
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff);
-status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo);
+mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff);
+mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo);
 
 /*******************************************************************************
 * Register      : CTRL1_XL
@@ -331,10 +331,10 @@
     LSM6DSL_ACC_GYRO_ODR_XL_6660Hz       =0xA0,
 } LSM6DSL_ACC_GYRO_ODR_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_ODR_XL_MASK    0xF0
-status_t  LSM6DSL_ACC_GYRO_W_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t *value);
-status_t LSM6DSL_ACC_GYRO_translate_ODR_XL(LSM6DSL_ACC_GYRO_ODR_XL_t value, u16_t *odr_hz_val);
+#define       LSM6DSL_ACC_GYRO_ODR_XL_MASK    0xF0
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t *value);
+mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_XL(LSM6DSL_ACC_GYRO_ODR_XL_t value, u16_t *odr_hz_val);
 
 /*******************************************************************************
 * Register      : CTRL2_G
@@ -349,9 +349,9 @@
     LSM6DSL_ACC_GYRO_FS_G_2000dps        =0x0C,
 } LSM6DSL_ACC_GYRO_FS_G_t;
 
-#define     LSM6DSL_ACC_GYRO_FS_G_MASK      0x0C
-status_t  LSM6DSL_ACC_GYRO_W_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t *value);
+#define       LSM6DSL_ACC_GYRO_FS_G_MASK      0x0C
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL2_G
@@ -373,18 +373,18 @@
     LSM6DSL_ACC_GYRO_ODR_G_6660Hz        =0xA0,
 } LSM6DSL_ACC_GYRO_ODR_G_t;
 
-#define     LSM6DSL_ACC_GYRO_ODR_G_MASK     0xF0
-status_t  LSM6DSL_ACC_GYRO_W_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t *value);
-status_t LSM6DSL_ACC_GYRO_translate_ODR_G(LSM6DSL_ACC_GYRO_ODR_G_t value, u16_t *odr_hz_val);
+#define       LSM6DSL_ACC_GYRO_ODR_G_MASK     0xF0
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t *value);
+mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_G(LSM6DSL_ACC_GYRO_ODR_G_t value, u16_t *odr_hz_val);
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetGyroData
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_GetRawGyroData(void *handle, u8_t *buff); 
-status_t LSM6DSL_ACC_Get_AngularRate(void *handle, int *buff, u8_t from_fifo);
+mems_status_t LSM6DSL_ACC_GYRO_GetRawGyroData(void *handle, u8_t *buff); 
+mems_status_t LSM6DSL_ACC_Get_AngularRate(void *handle, int *buff, u8_t from_fifo);
 
 /*******************************************************************************
 * Register      : CTRL1_XL
@@ -397,9 +397,9 @@
     LSM6DSL_ACC_GYRO_BW_SEL_ODR4         =0x02,
 } LSM6DSL_ACC_GYRO_BW_SEL_t;
 
-#define     LSM6DSL_ACC_GYRO_BW_SEL_MASK    0x02
-status_t  LSM6DSL_ACC_GYRO_W_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t *value);
+#define       LSM6DSL_ACC_GYRO_BW_SEL_MASK    0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t *value);
 
 /*******************************************************************************
 * Register      : CTRL2_G
@@ -412,9 +412,9 @@
     LSM6DSL_ACC_GYRO_FS_125_ENABLED          =0x02,
 } LSM6DSL_ACC_GYRO_FS_125_t;
 
-#define     LSM6DSL_ACC_GYRO_FS_125_MASK    0x02
-status_t  LSM6DSL_ACC_GYRO_W_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t *value);
+#define       LSM6DSL_ACC_GYRO_FS_125_MASK    0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t *value);
 
 /**************** Advanced Function  *******************/
 
@@ -429,9 +429,9 @@
     LSM6DSL_ACC_GYRO_BLE_MSB         =0x02,
 } LSM6DSL_ACC_GYRO_BLE_t;
 
-#define     LSM6DSL_ACC_GYRO_BLE_MASK   0x02
-status_t  LSM6DSL_ACC_GYRO_W_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t *value);
+#define       LSM6DSL_ACC_GYRO_BLE_MASK   0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_CFG_ACCESS
@@ -444,9 +444,9 @@
     LSM6DSL_ACC_GYRO_EMBEDDED_ACCESS_ENABLED         =0x80,
 } LSM6DSL_ACC_GYRO_EMB_ACC_t;
 
-#define     LSM6DSL_ACC_GYRO_EMB_ACC_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t *value);
+#define       LSM6DSL_ACC_GYRO_EMB_ACC_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t *value);
 
 /*******************************************************************************
 * Register      : SENSOR_SYNC_TIME
@@ -454,10 +454,10 @@
 * Bit Group Name: TPH
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_TPH_MASK   0xFF
-#define     LSM6DSL_ACC_GYRO_TPH_POSITION   0
-status_t  LSM6DSL_ACC_GYRO_W_Stamping_Time_Frame(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_Stamping_Time_Frame(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_TPH_MASK   0xFF
+#define       LSM6DSL_ACC_GYRO_TPH_POSITION   0
+mems_status_t LSM6DSL_ACC_GYRO_W_Stamping_Time_Frame(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_Stamping_Time_Frame(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : SENSOR_SYNC_RES_RATIO
@@ -472,9 +472,9 @@
     LSM6DSL_ACC_GYRO_TIM_RATIO_2_14          =0x03,
 } LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t;
 
-#define     LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_MASK    0x03
-status_t  LSM6DSL_ACC_GYRO_W_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t *value);
+#define       LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_MASK    0x03
+mems_status_t LSM6DSL_ACC_GYRO_W_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t *value);
 
 
 /*******************************************************************************
@@ -483,12 +483,12 @@
 * Bit Group Name: WTM_FIFO
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_MASK    0xFF
-#define     LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_POSITION    0
-#define     LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_MASK    0x07
-#define     LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_POSITION    0
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_Watermark(void *handle, u16_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FIFO_Watermark(void *handle, u16_t *value);
+#define       LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_MASK    0xFF
+#define       LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_POSITION    0
+#define       LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_MASK    0x07
+#define       LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_POSITION    0
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_Watermark(void *handle, u16_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_Watermark(void *handle, u16_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL2
@@ -501,9 +501,9 @@
     LSM6DSL_ACC_GYRO_FIFO_TEMP_ENABLE        =0x08,
 } LSM6DSL_ACC_GYRO_FIFO_TEMP_t;
 
-#define     LSM6DSL_ACC_GYRO_FIFO_TEMP_MASK     0x08
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t *value);
+#define       LSM6DSL_ACC_GYRO_FIFO_TEMP_MASK     0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t *value);
 
 
 /*******************************************************************************
@@ -517,9 +517,9 @@
     LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_ENABLED          =0x40,
 } LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t;
 
-#define     LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_MASK    0x40
-status_t  LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t *value);
+#define       LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_MASK    0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL2
@@ -532,9 +532,9 @@
     LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_ENABLED        =0x80,
 } LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_MASK      0x80
-status_t  LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_MASK      0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL3
@@ -553,10 +553,10 @@
     LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_32        =0x07,
 } LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_DEC_FIFO_XL_MASK   0x07
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t newValue);
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL_val(void *handle, u16_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_DEC_FIFO_XL_MASK   0x07
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL_val(void *handle, u16_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL3
@@ -575,10 +575,10 @@
     LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_32         =0x38,
 } LSM6DSL_ACC_GYRO_DEC_FIFO_G_t;
 
-#define     LSM6DSL_ACC_GYRO_DEC_FIFO_G_MASK    0x38
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t newValue);
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_G_val(void *handle, u16_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t *value);
+#define       LSM6DSL_ACC_GYRO_DEC_FIFO_G_MASK    0x38
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G_val(void *handle, u16_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL4
@@ -597,9 +597,9 @@
     LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_32       =0x07,
 } LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t;
 
-#define     LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_MASK      0x07
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t *value);
+#define       LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_MASK      0x07
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL4
@@ -618,9 +618,9 @@
     LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_32       =0x38,
 } LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t;
 
-#define     LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_MASK      0x38
-status_t  LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t *value);
+#define       LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_MASK      0x38
+mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL4
@@ -633,9 +633,9 @@
     LSM6DSL_ACC_GYRO_HI_DATA_ONLY_ENABLED        =0x40,
 } LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t;
 
-#define     LSM6DSL_ACC_GYRO_HI_DATA_ONLY_MASK      0x40
-status_t  LSM6DSL_ACC_GYRO_W_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t *value);
+#define       LSM6DSL_ACC_GYRO_HI_DATA_ONLY_MASK      0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL4
@@ -648,9 +648,9 @@
     LSM6DSL_ACC_GYRO_STOP_ON_FTH_ENABLED         =0x80,
 } LSM6DSL_ACC_GYRO_STOP_ON_FTH_t;
 
-#define     LSM6DSL_ACC_GYRO_STOP_ON_FTH_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t *value);
+#define       LSM6DSL_ACC_GYRO_STOP_ON_FTH_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL5
@@ -669,9 +669,9 @@
     LSM6DSL_ACC_GYRO_FIFO_MODE_BTF       =0x07,
 } LSM6DSL_ACC_GYRO_FIFO_MODE_t;
 
-#define     LSM6DSL_ACC_GYRO_FIFO_MODE_MASK     0x07
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t *value);
+#define       LSM6DSL_ACC_GYRO_FIFO_MODE_MASK     0x07
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_CTRL5
@@ -693,9 +693,9 @@
     LSM6DSL_ACC_GYRO_ODR_FIFO_13300Hz        =0x58,
 } LSM6DSL_ACC_GYRO_ODR_FIFO_t;
 
-#define     LSM6DSL_ACC_GYRO_ODR_FIFO_MASK      0x78
-status_t  LSM6DSL_ACC_GYRO_W_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t *value);
+#define       LSM6DSL_ACC_GYRO_ODR_FIFO_MASK      0x78
+mems_status_t LSM6DSL_ACC_GYRO_W_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t *value);
 
 /*******************************************************************************
 * Register      : DRDY_PULSE_CFG_G
@@ -708,9 +708,9 @@
     LSM6DSL_ACC_GYRO_DRDY_PULSE          =0x80,
 } LSM6DSL_ACC_GYRO_DRDY_PULSE_t;
 
-#define     LSM6DSL_ACC_GYRO_DRDY_PULSE_MASK    0x80
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t *value);
+#define       LSM6DSL_ACC_GYRO_DRDY_PULSE_MASK    0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -723,9 +723,9 @@
     LSM6DSL_ACC_GYRO_INT1_DRDY_XL_ENABLED        =0x01,
 } LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_DRDY_XL_MASK      0x01
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_DRDY_XL_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -738,9 +738,9 @@
     LSM6DSL_ACC_GYRO_INT1_DRDY_G_ENABLED         =0x02,
 } LSM6DSL_ACC_GYRO_INT1_DRDY_G_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_DRDY_G_MASK   0x02
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_DRDY_G_MASK   0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -753,9 +753,9 @@
     LSM6DSL_ACC_GYRO_INT1_BOOT_ENABLED       =0x04,
 } LSM6DSL_ACC_GYRO_INT1_BOOT_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_BOOT_MASK     0x04
-status_t  LSM6DSL_ACC_GYRO_W_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_BOOT_MASK     0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -768,9 +768,9 @@
     LSM6DSL_ACC_GYRO_INT1_FTH_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_INT1_FTH_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_FTH_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_FTH_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -783,9 +783,9 @@
     LSM6DSL_ACC_GYRO_INT1_OVR_ENABLED        =0x10,
 } LSM6DSL_ACC_GYRO_INT1_OVR_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_OVR_MASK      0x10
-status_t  LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_OVR_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -798,9 +798,9 @@
     LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_ENABLED          =0x20,
 } LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_MASK    0x20
-status_t  LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_MASK    0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -813,9 +813,9 @@
     LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_ENABLED       =0x40,
 } LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_MASK     0x40
-status_t  LSM6DSL_ACC_GYRO_W_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_MASK     0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t *value);
 
 /*******************************************************************************
 * Register      : INT1_CTRL
@@ -828,9 +828,9 @@
     LSM6DSL_ACC_GYRO_INT1_PEDO_ENABLED       =0x80,
 } LSM6DSL_ACC_GYRO_INT1_PEDO_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_PEDO_MASK     0x80
-status_t  LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_PEDO_MASK     0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -843,9 +843,9 @@
     LSM6DSL_ACC_GYRO_INT2_DRDY_XL_ENABLED        =0x01,
 } LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_DRDY_XL_MASK      0x01
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_DRDY_XL_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -858,9 +858,9 @@
     LSM6DSL_ACC_GYRO_INT2_DRDY_G_ENABLED         =0x02,
 } LSM6DSL_ACC_GYRO_INT2_DRDY_G_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_DRDY_G_MASK   0x02
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_DRDY_G_MASK   0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -873,9 +873,9 @@
     LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_ENABLED          =0x04,
 } LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_MASK    0x04
-status_t LSM6DSL_ACC_GYRO_W_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t *value);
 
 
 /*******************************************************************************
@@ -889,9 +889,9 @@
     LSM6DSL_ACC_GYRO_INT2_FTH_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_INT2_FTH_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_FTH_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_FTH_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -904,9 +904,9 @@
     LSM6DSL_ACC_GYRO_INT2_OVR_ENABLED        =0x10,
 } LSM6DSL_ACC_GYRO_INT2_OVR_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_OVR_MASK      0x10
-status_t  LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_OVR_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -919,9 +919,9 @@
     LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_ENABLED          =0x20,
 } LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_MASK    0x20
-status_t  LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_MASK    0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -934,9 +934,9 @@
     LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_ENABLED          =0x40,
 } LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_MASK    0x40
-status_t  LSM6DSL_ACC_GYRO_W_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_MASK    0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t *value);
 
 /*******************************************************************************
 * Register      : INT2_CTRL
@@ -949,9 +949,9 @@
     LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_ENABLED         =0x80,
 } LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t *value);
 
 /*******************************************************************************
 * Register      : CTRL3_C
@@ -964,9 +964,9 @@
     LSM6DSL_ACC_GYRO_SW_RESET_RESET_DEVICE       =0x01,
 } LSM6DSL_ACC_GYRO_SW_RESET_t;
 
-#define     LSM6DSL_ACC_GYRO_SW_RESET_MASK      0x01
-status_t  LSM6DSL_ACC_GYRO_W_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t *value);
+#define       LSM6DSL_ACC_GYRO_SW_RESET_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t *value);
 
 
 /*******************************************************************************
@@ -980,9 +980,9 @@
     LSM6DSL_ACC_GYRO_IF_INC_ENABLED          =0x04,
 } LSM6DSL_ACC_GYRO_IF_INC_t;
 
-#define     LSM6DSL_ACC_GYRO_IF_INC_MASK    0x04
-status_t  LSM6DSL_ACC_GYRO_W_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t *value);
+#define       LSM6DSL_ACC_GYRO_IF_INC_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t *value);
 
 /*******************************************************************************
 * Register      : CTRL3_C
@@ -995,9 +995,9 @@
     LSM6DSL_ACC_GYRO_SIM_3_WIRE          =0x08,
 } LSM6DSL_ACC_GYRO_SIM_t;
 
-#define     LSM6DSL_ACC_GYRO_SIM_MASK   0x08
-status_t  LSM6DSL_ACC_GYRO_W_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t *value);
+#define       LSM6DSL_ACC_GYRO_SIM_MASK   0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t *value);
 
 /*******************************************************************************
 * Register      : CTRL3_C
@@ -1010,9 +1010,9 @@
     LSM6DSL_ACC_GYRO_PP_OD_OPEN_DRAIN        =0x10,
 } LSM6DSL_ACC_GYRO_PP_OD_t;
 
-#define     LSM6DSL_ACC_GYRO_PP_OD_MASK     0x10
-status_t  LSM6DSL_ACC_GYRO_W_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t *value);
+#define       LSM6DSL_ACC_GYRO_PP_OD_MASK     0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t *value);
 
 /*******************************************************************************
 * Register      : CTRL3_C
@@ -1025,9 +1025,9 @@
     LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_ACTIVE_LO         =0x20,
 } LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t;
 
-#define     LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_MASK     0x20
-status_t  LSM6DSL_ACC_GYRO_W_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t *value);
+#define       LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_MASK     0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t *value);
 
 
 /*******************************************************************************
@@ -1041,9 +1041,9 @@
     LSM6DSL_ACC_GYRO_BOOT_REBOOT_MODE        =0x80,
 } LSM6DSL_ACC_GYRO_BOOT_t;
 
-#define     LSM6DSL_ACC_GYRO_BOOT_MASK      0x80
-status_t  LSM6DSL_ACC_GYRO_W_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t *value);
+#define       LSM6DSL_ACC_GYRO_BOOT_MASK      0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t *value);
 
 /*******************************************************************************
 * Register      : CTRL4_C
@@ -1056,9 +1056,9 @@
     LSM6DSL_ACC_GYRO_MODE3_LPF1_G_ENABLED        =0x02,
 } LSM6DSL_ACC_GYRO_LPF1_SEL_G_t;
 
-#define     LSM6DSL_ACC_GYRO_LPF1_SEL_G_MASK    0x02
-status_t LSM6DSL_ACC_GYRO_W_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t *value);
+#define       LSM6DSL_ACC_GYRO_LPF1_SEL_G_MASK    0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL4_C
@@ -1071,9 +1071,9 @@
     LSM6DSL_ACC_GYRO_I2C_DISABLE_SPI_ONLY        =0x04,
 } LSM6DSL_ACC_GYRO_I2C_DISABLE_t;
 
-#define     LSM6DSL_ACC_GYRO_I2C_DISABLE_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t *value);
+#define       LSM6DSL_ACC_GYRO_I2C_DISABLE_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t *value);
 
 /*******************************************************************************
 * Register      : CTRL4_C
@@ -1086,9 +1086,9 @@
     LSM6DSL_ACC_GYRO_DRDY_MSK_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_DRDY_MSK_t;
 
-#define     LSM6DSL_ACC_GYRO_DRDY_MSK_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t *value);
+#define       LSM6DSL_ACC_GYRO_DRDY_MSK_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t *value);
 
 /*******************************************************************************
 * Register      : CTRL4_C
@@ -1101,9 +1101,9 @@
     LSM6DSL_ACC_GYRO_INT2_ON_INT1_ENABLED        =0x20,
 } LSM6DSL_ACC_GYRO_INT2_ON_INT1_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_ON_INT1_MASK      0x20
-status_t  LSM6DSL_ACC_GYRO_W_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_ON_INT1_MASK      0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t *value);
 
 /*******************************************************************************
 * Register      : CTRL4_C
@@ -1116,9 +1116,9 @@
     LSM6DSL_ACC_GYRO_SLEEP_G_ENABLED         =0x40,
 } LSM6DSL_ACC_GYRO_SLEEP_G_t;
 
-#define     LSM6DSL_ACC_GYRO_SLEEP_G_MASK   0x40
-status_t  LSM6DSL_ACC_GYRO_W_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t *value);
+#define       LSM6DSL_ACC_GYRO_SLEEP_G_MASK   0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL5_C
@@ -1133,9 +1133,9 @@
     LSM6DSL_ACC_GYRO_ST_XL_NA        =0x03,
 } LSM6DSL_ACC_GYRO_ST_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_ST_XL_MASK     0x03
-status_t  LSM6DSL_ACC_GYRO_W_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_ST_XL_MASK     0x03
+mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t *value);
 
 /*******************************************************************************
 * Register      : CTRL5_C
@@ -1150,9 +1150,9 @@
     LSM6DSL_ACC_GYRO_ST_G_NEG_SIGN_TEST          =0x0C,
 } LSM6DSL_ACC_GYRO_ST_G_t;
 
-#define     LSM6DSL_ACC_GYRO_ST_G_MASK      0x0C
-status_t  LSM6DSL_ACC_GYRO_W_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t *value);
+#define       LSM6DSL_ACC_GYRO_ST_G_MASK      0x0C
+mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL5_C
@@ -1165,9 +1165,9 @@
     LSM6DSL_ACC_GYRO_DEN_HIGH        =0x10,
 } LSM6DSL_ACC_GYRO_DEN_LH_t;
 
-#define     LSM6DSL_ACC_GYRO_DEN_LH_MASK    0x10
-status_t  LSM6DSL_ACC_GYRO_W_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t *value);
+#define       LSM6DSL_ACC_GYRO_DEN_LH_MASK    0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t *value);
 
 /*******************************************************************************
 * Register      : CTRL5_C
@@ -1186,9 +1186,9 @@
     LSM6DSL_ACC_GYRO_ACC_GYRO_SH1_SH6    =0xE0,
 } LSM6DSL_ACC_GYRO_ROUNDING_t;
 
-#define     LSM6DSL_ACC_GYRO_LSM6DSL_ACC_GYRO_ROUNDING_t_MASK   0xE0
-status_t  LSM6DSL_ACC_GYRO_W_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t *value);
+#define       LSM6DSL_ACC_GYRO_LSM6DSL_ACC_GYRO_ROUNDING_t_MASK   0xE0
+mems_status_t LSM6DSL_ACC_GYRO_W_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t *value);
 
 /*******************************************************************************
 * Register      : CTRL6_G
@@ -1203,9 +1203,9 @@
     LSM6DSL_ACC_GYRO_LP_G_WIDE       =0x03,
 } LSM6DSL_ACC_GYRO_FTYPE_t;
 
-#define     LSM6DSL_ACC_GYRO_FTYPE_MASK     0x03
-status_t  LSM6DSL_ACC_GYRO_W_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t *value);
+#define       LSM6DSL_ACC_GYRO_FTYPE_MASK     0x03
+mems_status_t LSM6DSL_ACC_GYRO_W_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t *value);
 
 /*******************************************************************************
 * Register      : CTRL6_G
@@ -1218,9 +1218,9 @@
     LSM6DSL_ACC_GYRO_2Emin6          =0x08,
 } LSM6DSL_ACC_GYRO_USR_OFF_W_t;
 
-#define     LSM6DSL_ACC_GYRO_USR_OFF_W_MASK     0x08
-status_t  LSM6DSL_ACC_GYRO_W_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t *value);
+#define       LSM6DSL_ACC_GYRO_USR_OFF_W_MASK     0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t *value);
 
 
 /*******************************************************************************
@@ -1234,9 +1234,9 @@
     LSM6DSL_ACC_GYRO_LP_XL_ENABLED       =0x10,
 } LSM6DSL_ACC_GYRO_LP_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_LP_XL_MASK     0x10
-status_t  LSM6DSL_ACC_GYRO_W_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_LP_XL_MASK     0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t *value);
 
 /*******************************************************************************
 * Register      : CTRL6_G
@@ -1249,9 +1249,9 @@
     LSM6DSL_ACC_GYRO_DEN_LVL2_EN_ENABLED         =0x20,
 } LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_DEN_LVL2_EN_MASK   0x20
-status_t  LSM6DSL_ACC_GYRO_W_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_DEN_LVL2_EN_MASK   0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL6_G
@@ -1264,9 +1264,9 @@
     LSM6DSL_ACC_GYRO_DEN_LVL_EN_ENABLED          =0x40,
 } LSM6DSL_ACC_GYRO_DEN_LVL_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_DEN_LVL_EN_MASK    0x40
-status_t  LSM6DSL_ACC_GYRO_W_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_DEN_LVL_EN_MASK    0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL6_G
@@ -1279,9 +1279,9 @@
     LSM6DSL_ACC_GYRO_DEN_EDGE_EN_ENABLED         =0x80,
 } LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_DEN_EDGE_EN_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_DEN_EDGE_EN_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL7_G
@@ -1294,9 +1294,9 @@
     LSM6DSL_ACC_GYRO_RND_ENABLE          =0x04,
 } LSM6DSL_ACC_GYRO_RND_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_RND_STATUS_MASK    0x04
-status_t  LSM6DSL_ACC_GYRO_W_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_RND_STATUS_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t *value);
 
 
 /*******************************************************************************
@@ -1312,9 +1312,9 @@
     LSM6DSL_ACC_GYRO_HPM_G_1Hz04         =0x30,
 } LSM6DSL_ACC_GYRO_HPM_G_t;
 
-#define     LSM6DSL_ACC_GYRO_HPM_G_MASK     0x30
-status_t  LSM6DSL_ACC_GYRO_W_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t *value);
+#define       LSM6DSL_ACC_GYRO_HPM_G_MASK     0x30
+mems_status_t LSM6DSL_ACC_GYRO_W_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL7_G
@@ -1327,9 +1327,9 @@
     LSM6DSL_ACC_GYRO_HP_EN_ENABLED       =0x40,
 } LSM6DSL_ACC_GYRO_HP_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_HP_EN_MASK     0x40
-status_t  LSM6DSL_ACC_GYRO_W_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_HP_EN_MASK     0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL7_G
@@ -1342,9 +1342,9 @@
     LSM6DSL_ACC_GYRO_LP_EN_ENABLED       =0x80,
 } LSM6DSL_ACC_GYRO_LP_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_LP_EN_MASK     0x80
-status_t  LSM6DSL_ACC_GYRO_W_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_LP_EN_MASK     0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL7_G
@@ -1357,9 +1357,9 @@
     LSM6DSL_ACC_GYRO_ROUNDING_STATUS_ENABLED         =0x04,
 } LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_ROUNDING_STATUS_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_ROUNDING_STATUS_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : CTRL7_G
@@ -1372,9 +1372,9 @@
     LSM6DSL_ACC_GYRO_HP_G_RST_ON         =0x08,
 } LSM6DSL_ACC_GYRO_HP_G_RST_t;
 
-#define     LSM6DSL_ACC_GYRO_HP_G_RST_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t *value);
+#define       LSM6DSL_ACC_GYRO_HP_G_RST_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1387,9 +1387,9 @@
     LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_ON       =0x01,
 } LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t;
 
-#define     LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_MASK    0x01
-status_t  LSM6DSL_ACC_GYRO_W_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t *value);
+#define       LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_MASK    0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1402,9 +1402,9 @@
     LSM6DSL_ACC_GYRO_HP_SLOPE_XL_DIS         =0x04,
 } LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_HP_SLOPE_XL_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_HP_SLOPE_XL_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1417,9 +1417,9 @@
     LSM6DSL_ACC_GYRO_IN_ODR_DIV_4        =0x80,
 } LSM6DSL_ACC_GYRO_IN_COMP_t;
 
-#define     LSM6DSL_ACC_GYRO_IN_COMP_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t *value);
+#define       LSM6DSL_ACC_GYRO_IN_COMP_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1432,9 +1432,9 @@
     LSM6DSL_ACC_GYRO_HP_REF_ENABLE       =0x10,
 } LSM6DSL_ACC_GYRO_HP_REF_MODE_t;
 
-#define     LSM6DSL_ACC_GYRO_HP_REF_MODE_MASK   0x10
-status_t LSM6DSL_ACC_GYRO_W_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t *value);
+#define       LSM6DSL_ACC_GYRO_HP_REF_MODE_MASK   0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1449,9 +1449,9 @@
     LSM6DSL_ACC_GYRO_HPCF_XL_DIV400          =0x60,
 } LSM6DSL_ACC_GYRO_HPCF_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_HPCF_XL_MASK   0x60
-status_t  LSM6DSL_ACC_GYRO_W_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_HPCF_XL_MASK   0x60
+mems_status_t LSM6DSL_ACC_GYRO_W_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t *value);
 
 /*******************************************************************************
 * Register      : CTRL8_XL
@@ -1464,9 +1464,9 @@
     LSM6DSL_ACC_GYRO_LPF2_XL_ENABLE          =0x80,
 } LSM6DSL_ACC_GYRO_LPF2_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_LPF2_XL_MASK   0x80
-status_t LSM6DSL_ACC_GYRO_W_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_LPF2_XL_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t *value);
 
 
 /*******************************************************************************
@@ -1480,9 +1480,9 @@
     LSM6DSL_ACC_GYRO_SOFT_ENABLE         =0x04,
 } LSM6DSL_ACC_GYRO_SOFT_t;
 
-#define     LSM6DSL_ACC_GYRO_SOFT_MASK      0x04
-status_t  LSM6DSL_ACC_GYRO_W_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t *value);
+#define       LSM6DSL_ACC_GYRO_SOFT_MASK      0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1495,9 +1495,9 @@
     LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_ENABLED          =0x01,
 } LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_MASK    0x01
-status_t  LSM6DSL_ACC_GYRO_W_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_MASK    0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1510,9 +1510,9 @@
     LSM6DSL_ACC_GYRO_PEDO_RST_STEP_ENABLED       =0x02,
 } LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t;
 
-#define     LSM6DSL_ACC_GYRO_PEDO_RST_STEP_MASK     0x02
-status_t  LSM6DSL_ACC_GYRO_W_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t *value);
+#define       LSM6DSL_ACC_GYRO_PEDO_RST_STEP_MASK     0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1525,9 +1525,9 @@
     LSM6DSL_ACC_GYRO_FUNC_EN_ENABLED         =0x04,
 } LSM6DSL_ACC_GYRO_FUNC_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_FUNC_EN_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_FUNC_EN_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1540,9 +1540,9 @@
     LSM6DSL_ACC_GYRO_TILT_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_TILT_G_t;
 
-#define     LSM6DSL_ACC_GYRO_TILT_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t *value);
+#define       LSM6DSL_ACC_GYRO_TILT_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1555,9 +1555,9 @@
     LSM6DSL_ACC_GYRO_PEDO_ENABLED        =0x10,
 } LSM6DSL_ACC_GYRO_PEDO_t;
 
-#define     LSM6DSL_ACC_GYRO_PEDO_MASK      0x10
-status_t  LSM6DSL_ACC_GYRO_W_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t *value);
+#define       LSM6DSL_ACC_GYRO_PEDO_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t *value);
 
 /*******************************************************************************
 * Register      : CTRL10_C
@@ -1570,9 +1570,9 @@
     LSM6DSL_ACC_GYRO_TIMER_ENABLED       =0x20,
 } LSM6DSL_ACC_GYRO_TIMER_t;
 
-#define     LSM6DSL_ACC_GYRO_TIMER_MASK     0x20
-status_t  LSM6DSL_ACC_GYRO_W_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t *value);
+#define       LSM6DSL_ACC_GYRO_TIMER_MASK     0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t *value);
 
 
 /*******************************************************************************
@@ -1586,9 +1586,9 @@
     LSM6DSL_ACC_GYRO_MASTER_ON_ENABLED       =0x01,
 } LSM6DSL_ACC_GYRO_MASTER_ON_t;
 
-#define     LSM6DSL_ACC_GYRO_MASTER_ON_MASK     0x01
-status_t  LSM6DSL_ACC_GYRO_W_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t *value);
+#define       LSM6DSL_ACC_GYRO_MASTER_ON_MASK     0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1601,9 +1601,9 @@
     LSM6DSL_ACC_GYRO_IRON_EN_ENABLED         =0x02,
 } LSM6DSL_ACC_GYRO_IRON_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_IRON_EN_MASK   0x02
-status_t  LSM6DSL_ACC_GYRO_W_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_IRON_EN_MASK   0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1616,9 +1616,9 @@
     LSM6DSL_ACC_GYRO_PASS_THRU_MODE_ENABLED          =0x04,
 } LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t;
 
-#define     LSM6DSL_ACC_GYRO_PASS_THRU_MODE_MASK    0x04
-status_t  LSM6DSL_ACC_GYRO_W_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t *value);
+#define       LSM6DSL_ACC_GYRO_PASS_THRU_MODE_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1631,9 +1631,9 @@
     LSM6DSL_ACC_GYRO_PULL_UP_EN_ENABLED          =0x08,
 } LSM6DSL_ACC_GYRO_PULL_UP_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_PULL_UP_EN_MASK    0x08
-status_t  LSM6DSL_ACC_GYRO_W_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_PULL_UP_EN_MASK    0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1646,9 +1646,9 @@
     LSM6DSL_ACC_GYRO_START_CONFIG_EXT_INT2       =0x10,
 } LSM6DSL_ACC_GYRO_START_CONFIG_t;
 
-#define     LSM6DSL_ACC_GYRO_START_CONFIG_MASK      0x10
-status_t  LSM6DSL_ACC_GYRO_W_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t *value);
+#define       LSM6DSL_ACC_GYRO_START_CONFIG_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1661,9 +1661,9 @@
     LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_SHUB_DRDY         =0x40,
 } LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t;
 
-#define     LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_MASK     0x40
-status_t  LSM6DSL_ACC_GYRO_W_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t *value);
+#define       LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_MASK     0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t *value);
 
 /*******************************************************************************
 * Register      : MASTER_CONFIG
@@ -1676,9 +1676,9 @@
     LSM6DSL_ACC_GYRO_DRDY_ON_INT1_ENABLED        =0x80,
 } LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t;
 
-#define     LSM6DSL_ACC_GYRO_DRDY_ON_INT1_MASK      0x80
-status_t  LSM6DSL_ACC_GYRO_W_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t *value);
+#define       LSM6DSL_ACC_GYRO_DRDY_ON_INT1_MASK      0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1691,8 +1691,8 @@
     LSM6DSL_ACC_GYRO_Z_WU_DETECTED       =0x01,
 } LSM6DSL_ACC_GYRO_Z_WU_t;
 
-#define     LSM6DSL_ACC_GYRO_Z_WU_MASK      0x01
-status_t LSM6DSL_ACC_GYRO_R_Z_WU(void *handle, LSM6DSL_ACC_GYRO_Z_WU_t *value);
+#define       LSM6DSL_ACC_GYRO_Z_WU_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_R_Z_WU(void *handle, LSM6DSL_ACC_GYRO_Z_WU_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1705,8 +1705,8 @@
     LSM6DSL_ACC_GYRO_Y_WU_DETECTED       =0x02,
 } LSM6DSL_ACC_GYRO_Y_WU_t;
 
-#define     LSM6DSL_ACC_GYRO_Y_WU_MASK      0x02
-status_t LSM6DSL_ACC_GYRO_R_Y_WU(void *handle, LSM6DSL_ACC_GYRO_Y_WU_t *value);
+#define       LSM6DSL_ACC_GYRO_Y_WU_MASK      0x02
+mems_status_t LSM6DSL_ACC_GYRO_R_Y_WU(void *handle, LSM6DSL_ACC_GYRO_Y_WU_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1719,8 +1719,8 @@
     LSM6DSL_ACC_GYRO_X_WU_DETECTED       =0x04,
 } LSM6DSL_ACC_GYRO_X_WU_t;
 
-#define     LSM6DSL_ACC_GYRO_X_WU_MASK      0x04
-status_t LSM6DSL_ACC_GYRO_R_X_WU(void *handle, LSM6DSL_ACC_GYRO_X_WU_t *value);
+#define       LSM6DSL_ACC_GYRO_X_WU_MASK      0x04
+mems_status_t LSM6DSL_ACC_GYRO_R_X_WU(void *handle, LSM6DSL_ACC_GYRO_X_WU_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1733,8 +1733,8 @@
     LSM6DSL_ACC_GYRO_WU_EV_STATUS_DETECTED       =0x08,
 } LSM6DSL_ACC_GYRO_WU_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_WU_EV_STATUS_MASK      0x08
-status_t LSM6DSL_ACC_GYRO_R_WU_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_WU_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_WU_EV_STATUS_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_R_WU_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_WU_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1747,8 +1747,8 @@
     LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_DETECTED        =0x10,
 } LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_MASK   0x10
-status_t LSM6DSL_ACC_GYRO_R_SLEEP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_MASK   0x10
+mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_SRC
@@ -1761,8 +1761,8 @@
     LSM6DSL_ACC_GYRO_FF_EV_STATUS_DETECTED       =0x20,
 } LSM6DSL_ACC_GYRO_FF_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_FF_EV_STATUS_MASK      0x20
-status_t LSM6DSL_ACC_GYRO_R_FF_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_FF_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_FF_EV_STATUS_MASK      0x20
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_FF_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1775,8 +1775,8 @@
     LSM6DSL_ACC_GYRO_Z_TAP_DETECTED          =0x01,
 } LSM6DSL_ACC_GYRO_Z_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_Z_TAP_MASK     0x01
-status_t LSM6DSL_ACC_GYRO_R_Z_TAP(void *handle, LSM6DSL_ACC_GYRO_Z_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_Z_TAP_MASK     0x01
+mems_status_t LSM6DSL_ACC_GYRO_R_Z_TAP(void *handle, LSM6DSL_ACC_GYRO_Z_TAP_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1789,8 +1789,8 @@
     LSM6DSL_ACC_GYRO_Y_TAP_DETECTED          =0x02,
 } LSM6DSL_ACC_GYRO_Y_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_Y_TAP_MASK     0x02
-status_t LSM6DSL_ACC_GYRO_R_Y_TAP(void *handle, LSM6DSL_ACC_GYRO_Y_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_Y_TAP_MASK     0x02
+mems_status_t LSM6DSL_ACC_GYRO_R_Y_TAP(void *handle, LSM6DSL_ACC_GYRO_Y_TAP_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1803,8 +1803,8 @@
     LSM6DSL_ACC_GYRO_X_TAP_DETECTED          =0x04,
 } LSM6DSL_ACC_GYRO_X_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_X_TAP_MASK     0x04
-status_t LSM6DSL_ACC_GYRO_R_X_TAP(void *handle, LSM6DSL_ACC_GYRO_X_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_X_TAP_MASK     0x04
+mems_status_t LSM6DSL_ACC_GYRO_R_X_TAP(void *handle, LSM6DSL_ACC_GYRO_X_TAP_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1817,8 +1817,8 @@
     LSM6DSL_ACC_GYRO_TAP_SIGN_NEG_SIGN       =0x08,
 } LSM6DSL_ACC_GYRO_TAP_SIGN_t;
 
-#define     LSM6DSL_ACC_GYRO_TAP_SIGN_MASK      0x08
-status_t LSM6DSL_ACC_GYRO_R_TAP_SIGN(void *handle, LSM6DSL_ACC_GYRO_TAP_SIGN_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_SIGN_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_SIGN(void *handle, LSM6DSL_ACC_GYRO_TAP_SIGN_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1831,8 +1831,8 @@
     LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_DETECTED       =0x10,
 } LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_MASK      0x10
-status_t LSM6DSL_ACC_GYRO_R_DOUBLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_R_DOUBLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1845,8 +1845,8 @@
     LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_DETECTED       =0x20,
 } LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_MASK      0x20
-status_t LSM6DSL_ACC_GYRO_R_SINGLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_MASK      0x20
+mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : TAP_SRC
@@ -1859,8 +1859,8 @@
     LSM6DSL_ACC_GYRO_TAP_EV_STATUS_DETECTED          =0x40,
 } LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_TAP_EV_STATUS_MASK     0x40
-status_t LSM6DSL_ACC_GYRO_R_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_EV_STATUS_MASK     0x40
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1873,8 +1873,8 @@
     LSM6DSL_ACC_GYRO_DSD_XL_DETECTED         =0x01,
 } LSM6DSL_ACC_GYRO_DSD_XL_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_XL_MASK    0x01
-status_t LSM6DSL_ACC_GYRO_R_DSD_XL(void *handle, LSM6DSL_ACC_GYRO_DSD_XL_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_XL_MASK    0x01
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XL(void *handle, LSM6DSL_ACC_GYRO_DSD_XL_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1887,8 +1887,8 @@
     LSM6DSL_ACC_GYRO_DSD_XH_DETECTED         =0x02,
 } LSM6DSL_ACC_GYRO_DSD_XH_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_XH_MASK    0x02
-status_t LSM6DSL_ACC_GYRO_R_DSD_XH(void *handle, LSM6DSL_ACC_GYRO_DSD_XH_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_XH_MASK    0x02
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XH(void *handle, LSM6DSL_ACC_GYRO_DSD_XH_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1901,8 +1901,8 @@
     LSM6DSL_ACC_GYRO_DSD_YL_DETECTED         =0x04,
 } LSM6DSL_ACC_GYRO_DSD_YL_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_YL_MASK    0x04
-status_t LSM6DSL_ACC_GYRO_R_DSD_YL(void *handle, LSM6DSL_ACC_GYRO_DSD_YL_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_YL_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YL(void *handle, LSM6DSL_ACC_GYRO_DSD_YL_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1915,8 +1915,8 @@
     LSM6DSL_ACC_GYRO_DSD_YH_DETECTED         =0x08,
 } LSM6DSL_ACC_GYRO_DSD_YH_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_YH_MASK    0x08
-status_t LSM6DSL_ACC_GYRO_R_DSD_YH(void *handle, LSM6DSL_ACC_GYRO_DSD_YH_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_YH_MASK    0x08
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YH(void *handle, LSM6DSL_ACC_GYRO_DSD_YH_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1929,8 +1929,8 @@
     LSM6DSL_ACC_GYRO_DSD_ZL_DETECTED         =0x10,
 } LSM6DSL_ACC_GYRO_DSD_ZL_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_ZL_MASK    0x10
-status_t LSM6DSL_ACC_GYRO_R_DSD_ZL(void *handle, LSM6DSL_ACC_GYRO_DSD_ZL_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_ZL_MASK    0x10
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZL(void *handle, LSM6DSL_ACC_GYRO_DSD_ZL_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1943,8 +1943,8 @@
     LSM6DSL_ACC_GYRO_DSD_ZH_DETECTED         =0x20,
 } LSM6DSL_ACC_GYRO_DSD_ZH_t;
 
-#define     LSM6DSL_ACC_GYRO_DSD_ZH_MASK    0x20
-status_t LSM6DSL_ACC_GYRO_R_DSD_ZH(void *handle, LSM6DSL_ACC_GYRO_DSD_ZH_t *value);
+#define       LSM6DSL_ACC_GYRO_DSD_ZH_MASK    0x20
+mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZH(void *handle, LSM6DSL_ACC_GYRO_DSD_ZH_t *value);
 
 /*******************************************************************************
 * Register      : D6D_SRC
@@ -1957,8 +1957,8 @@
     LSM6DSL_ACC_GYRO_D6D_EV_STATUS_DETECTED          =0x40,
 } LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_D6D_EV_STATUS_MASK     0x40
-status_t LSM6DSL_ACC_GYRO_R_D6D_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_D6D_EV_STATUS_MASK     0x40
+mems_status_t LSM6DSL_ACC_GYRO_R_D6D_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -1971,8 +1971,8 @@
     LSM6DSL_ACC_GYRO_XLDA_DATA_AVAIL         =0x01,
 } LSM6DSL_ACC_GYRO_XLDA_t;
 
-#define     LSM6DSL_ACC_GYRO_XLDA_MASK      0x01
-status_t LSM6DSL_ACC_GYRO_R_XLDA(void *handle, LSM6DSL_ACC_GYRO_XLDA_t *value);
+#define       LSM6DSL_ACC_GYRO_XLDA_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_R_XLDA(void *handle, LSM6DSL_ACC_GYRO_XLDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -1985,8 +1985,8 @@
     LSM6DSL_ACC_GYRO_GDA_DATA_AVAIL          =0x02,
 } LSM6DSL_ACC_GYRO_GDA_t;
 
-#define     LSM6DSL_ACC_GYRO_GDA_MASK   0x02
-status_t LSM6DSL_ACC_GYRO_R_GDA(void *handle, LSM6DSL_ACC_GYRO_GDA_t *value);
+#define       LSM6DSL_ACC_GYRO_GDA_MASK   0x02
+mems_status_t LSM6DSL_ACC_GYRO_R_GDA(void *handle, LSM6DSL_ACC_GYRO_GDA_t *value);
 
 /*******************************************************************************
 * Register      : STATUS_REG
@@ -1999,8 +1999,8 @@
     LSM6DSL_ACC_GYRO_TDA_DATA_AVAIL          =0x04,
 } LSM6DSL_ACC_GYRO_TDA_t;
 
-#define     LSM6DSL_ACC_GYRO_TDA_MASK   0x04
-status_t LSM6DSL_ACC_GYRO_R_TDA(void *handle, LSM6DSL_ACC_GYRO_TDA_t *value);
+#define       LSM6DSL_ACC_GYRO_TDA_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_R_TDA(void *handle, LSM6DSL_ACC_GYRO_TDA_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS1
@@ -2008,11 +2008,11 @@
 * Bit Group Name: DIFF_FIFO
 * Permission    : RO
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_MASK     0xFF
-#define     LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_POSITION     0
-#define     LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_MASK  0xF
-#define     LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_POSITION     0
-status_t LSM6DSL_ACC_GYRO_R_FIFONumOfEntries(void *handle, u16_t *value);
+#define       LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_MASK     0xFF
+#define       LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_POSITION     0
+#define       LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_MASK  0xF
+#define       LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_POSITION     0
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFONumOfEntries(void *handle, u16_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS2
@@ -2025,8 +2025,8 @@
     LSM6DSL_ACC_GYRO_FIFO_EMPTY_FIFO_EMPTY       =0x10,
 } LSM6DSL_ACC_GYRO_FIFO_EMPTY_t;
 
-#define     LSM6DSL_ACC_GYRO_FIFO_EMPTY_MASK    0x10
-status_t LSM6DSL_ACC_GYRO_R_FIFOEmpty(void *handle, LSM6DSL_ACC_GYRO_FIFO_EMPTY_t *value);
+#define       LSM6DSL_ACC_GYRO_FIFO_EMPTY_MASK    0x10
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOEmpty(void *handle, LSM6DSL_ACC_GYRO_FIFO_EMPTY_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS2
@@ -2039,8 +2039,8 @@
     LSM6DSL_ACC_GYRO_FIFO_FULL_FIFO_FULL         =0x20,
 } LSM6DSL_ACC_GYRO_FIFO_FULL_t;
 
-#define     LSM6DSL_ACC_GYRO_FIFO_FULL_MASK     0x20
-status_t LSM6DSL_ACC_GYRO_R_FIFOFull(void *handle, LSM6DSL_ACC_GYRO_FIFO_FULL_t *value);
+#define       LSM6DSL_ACC_GYRO_FIFO_FULL_MASK     0x20
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOFull(void *handle, LSM6DSL_ACC_GYRO_FIFO_FULL_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS2
@@ -2053,8 +2053,8 @@
     LSM6DSL_ACC_GYRO_OVERRUN_OVERRUN         =0x40,
 } LSM6DSL_ACC_GYRO_OVERRUN_t;
 
-#define     LSM6DSL_ACC_GYRO_OVERRUN_MASK   0x40
-status_t LSM6DSL_ACC_GYRO_R_OVERRUN(void *handle, LSM6DSL_ACC_GYRO_OVERRUN_t *value);
+#define       LSM6DSL_ACC_GYRO_OVERRUN_MASK   0x40
+mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN(void *handle, LSM6DSL_ACC_GYRO_OVERRUN_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS2
@@ -2067,8 +2067,8 @@
     LSM6DSL_ACC_GYRO_WTM_ABOVE_OR_EQUAL_WTM          =0x80,
 } LSM6DSL_ACC_GYRO_WTM_t;
 
-#define     LSM6DSL_ACC_GYRO_WTM_MASK   0x80
-status_t LSM6DSL_ACC_GYRO_R_WaterMark(void *handle, LSM6DSL_ACC_GYRO_WTM_t *value);
+#define       LSM6DSL_ACC_GYRO_WTM_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_R_WaterMark(void *handle, LSM6DSL_ACC_GYRO_WTM_t *value);
 
 /*******************************************************************************
 * Register      : FIFO_STATUS3
@@ -2076,11 +2076,11 @@
 * Bit Group Name: FIFO_PATTERN
 * Permission    : RO
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_MASK      0xFF
-#define     LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_POSITION      0
-#define     LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_MASK      0x03
-#define     LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_POSITION      0
-status_t LSM6DSL_ACC_GYRO_R_FIFOPattern(void *handle, u16_t *value);
+#define       LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_MASK      0xFF
+#define       LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_POSITION      0
+#define       LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_MASK      0x03
+#define       LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_POSITION      0
+mems_status_t LSM6DSL_ACC_GYRO_R_FIFOPattern(void *handle, u16_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2093,8 +2093,8 @@
     LSM6DSL_ACC_GYRO_SENS_HUB_END_OP_COMPLETED       =0x01,
 } LSM6DSL_ACC_GYRO_SENS_HUB_END_t;
 
-#define     LSM6DSL_ACC_GYRO_SENS_HUB_END_MASK      0x01
-status_t LSM6DSL_ACC_GYRO_R_SENS_HUB_END(void *handle, LSM6DSL_ACC_GYRO_SENS_HUB_END_t *value);
+#define       LSM6DSL_ACC_GYRO_SENS_HUB_END_MASK      0x01
+mems_status_t LSM6DSL_ACC_GYRO_R_SENS_HUB_END(void *handle, LSM6DSL_ACC_GYRO_SENS_HUB_END_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2107,8 +2107,8 @@
     LSM6DSL_ACC_GYRO_SOFT_IRON_END_COMPLETED         =0x02,
 } LSM6DSL_ACC_GYRO_SOFT_IRON_END_t;
 
-#define     LSM6DSL_ACC_GYRO_SOFT_IRON_END_MASK     0x02
-status_t LSM6DSL_ACC_GYRO_R_SOFT_IRON_END(void *handle, LSM6DSL_ACC_GYRO_SOFT_IRON_END_t *value);
+#define       LSM6DSL_ACC_GYRO_SOFT_IRON_END_MASK     0x02
+mems_status_t LSM6DSL_ACC_GYRO_R_SOFT_IRON_END(void *handle, LSM6DSL_ACC_GYRO_SOFT_IRON_END_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2121,8 +2121,8 @@
     LSM6DSL_ACC_GYRO_HARD_IRON_FAIL          =0x04,
 } LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t;
 
-#define     LSM6DSL_ACC_GYRO_HARD_IRON_STAT_MASK    0x04
-status_t LSM6DSL_ACC_GYRO_R_HardIron(void *handle, LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t *value);
+#define       LSM6DSL_ACC_GYRO_HARD_IRON_STAT_MASK    0x04
+mems_status_t LSM6DSL_ACC_GYRO_R_HardIron(void *handle, LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2135,8 +2135,8 @@
     LSM6DSL_ACC_GYRO_PEDO_ESTEP_OVERFLOW         =0x08,
 } LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t;
 
-#define     LSM6DSL_ACC_GYRO_STEP_OVERFLOW_MASK     0x08
-status_t LSM6DSL_ACC_GYRO_R_STEP_OVERFLOW(void *handle, LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t *value);
+#define       LSM6DSL_ACC_GYRO_STEP_OVERFLOW_MASK     0x08
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_OVERFLOW(void *handle, LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2149,8 +2149,8 @@
     LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_DETECTED         =0x10,
 } LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_MASK    0x10
-status_t LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_MASK    0x10
+mems_status_t LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2163,8 +2163,8 @@
     LSM6DSL_ACC_GYRO_TILT_EV_STATUS_DETECTED         =0x20,
 } LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_TILT_EV_STATUS_MASK    0x20
-status_t LSM6DSL_ACC_GYRO_R_TILT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_TILT_EV_STATUS_MASK    0x20
+mems_status_t LSM6DSL_ACC_GYRO_R_TILT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2177,8 +2177,8 @@
     LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_DETECTED         =0x40,
 } LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t;
 
-#define     LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_MASK    0x40
-status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t *value);
+#define       LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_MASK    0x40
+mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t *value);
 
 /*******************************************************************************
 * Register      : FUNC_SRC
@@ -2191,8 +2191,8 @@
     LSM6DSL_ACC_GYRO_STEP_COUNT_IN_DELTA         =0x80,
 } LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t;
 
-#define     LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_MASK      0x80
-status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_DELTA(void *handle, LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t *value);
+#define       LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_MASK      0x80
+mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_DELTA(void *handle, LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t *value);
 
 /*******************************************************************************
 * Register      : TAP_CFG1
@@ -2205,9 +2205,9 @@
     LSM6DSL_ACC_GYRO_LIR_ENABLED         =0x01,
 } LSM6DSL_ACC_GYRO_LIR_t;
 
-#define     LSM6DSL_ACC_GYRO_LIR_MASK   0x01
-status_t  LSM6DSL_ACC_GYRO_W_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t *value);
+#define       LSM6DSL_ACC_GYRO_LIR_MASK   0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t *value);
 
 /*******************************************************************************
 * Register      : TAP_CFG1
@@ -2220,9 +2220,9 @@
     LSM6DSL_ACC_GYRO_TAP_Z_EN_ENABLED        =0x02,
 } LSM6DSL_ACC_GYRO_TAP_Z_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_TAP_Z_EN_MASK      0x02
-status_t  LSM6DSL_ACC_GYRO_W_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_Z_EN_MASK      0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t *value);
 
 /*******************************************************************************
 * Register      : TAP_CFG1
@@ -2235,9 +2235,9 @@
     LSM6DSL_ACC_GYRO_TAP_Y_EN_ENABLED        =0x04,
 } LSM6DSL_ACC_GYRO_TAP_Y_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_TAP_Y_EN_MASK      0x04
-status_t  LSM6DSL_ACC_GYRO_W_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_Y_EN_MASK      0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t *value);
 
 /*******************************************************************************
 * Register      : TAP_CFG1
@@ -2250,9 +2250,9 @@
     LSM6DSL_ACC_GYRO_TAP_X_EN_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_TAP_X_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_TAP_X_EN_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_X_EN_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t *value);
 /*******************************************************************************
 * Register      : TAP_CFG1
 * Address       : 0X58
@@ -2264,9 +2264,9 @@
     LSM6DSL_ACC_GYRO_SLOPE_FDS_ENABLED       =0x10,
 } LSM6DSL_ACC_GYRO_SLOPE_FDS_t;
 
-#define     LSM6DSL_ACC_GYRO_SLOPE_FDS_MASK     0x10
-status_t  LSM6DSL_ACC_GYRO_W_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t *value);
+#define       LSM6DSL_ACC_GYRO_SLOPE_FDS_MASK     0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t *value);
 
 /*******************************************************************************
 * Register      : TAP_CFG1
@@ -2279,9 +2279,9 @@
     LSM6DSL_ACC_GYRO_BASIC_INT_ENABLED       =0x80,
 } LSM6DSL_ACC_GYRO_INT_EN_t;
 
-#define     LSM6DSL_ACC_GYRO_INT_EN_MASK    0x80
-status_t  LSM6DSL_ACC_GYRO_W_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t *value);
+#define       LSM6DSL_ACC_GYRO_INT_EN_MASK    0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t *value);
 
 /*******************************************************************************
 * Register      : TAP_THS_6D
@@ -2289,10 +2289,10 @@
 * Bit Group Name: TAP_THS
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_TAP_THS_MASK   0x1F
-#define     LSM6DSL_ACC_GYRO_TAP_THS_POSITION   0
-status_t  LSM6DSL_ACC_GYRO_W_TAP_THS(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TAP_THS(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_TAP_THS_MASK   0x1F
+#define       LSM6DSL_ACC_GYRO_TAP_THS_POSITION   0
+mems_status_t LSM6DSL_ACC_GYRO_W_TAP_THS(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TAP_THS(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : TAP_THS_6D
@@ -2307,9 +2307,9 @@
     LSM6DSL_ACC_GYRO_SIXD_THS_50_degree          =0x60,
 } LSM6DSL_ACC_GYRO_SIXD_THS_t;
 
-#define     LSM6DSL_ACC_GYRO_SIXD_THS_MASK      0x60
-status_t  LSM6DSL_ACC_GYRO_W_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t *value);
+#define       LSM6DSL_ACC_GYRO_SIXD_THS_MASK      0x60
+mems_status_t LSM6DSL_ACC_GYRO_W_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t *value);
 
 /*******************************************************************************
 * Register      : TAP_THS_6D
@@ -2322,9 +2322,9 @@
     LSM6DSL_ACC_GYRO_D4D_EN          =0x80,
 } LSM6DSL_ACC_GYRO_D4D_t;
 
-#define     LSM6DSL_ACC_GYRO_D4D_MASK   0x80
-status_t  LSM6DSL_ACC_GYRO_W_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t *value);
+#define       LSM6DSL_ACC_GYRO_D4D_MASK   0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t *value);
 
 /*******************************************************************************
 * Register      : INT_DUR2
@@ -2332,10 +2332,10 @@
 * Bit Group Name: SHOCK
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_SHOCK_MASK     0x03
-#define     LSM6DSL_ACC_GYRO_SHOCK_POSITION     0
-status_t  LSM6DSL_ACC_GYRO_W_SHOCK_Duration(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SHOCK_Duration(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_SHOCK_MASK     0x03
+#define       LSM6DSL_ACC_GYRO_SHOCK_POSITION     0
+mems_status_t LSM6DSL_ACC_GYRO_W_SHOCK_Duration(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SHOCK_Duration(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : INT_DUR2
@@ -2343,10 +2343,10 @@
 * Bit Group Name: QUIET
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_QUIET_MASK     0x0C
-#define     LSM6DSL_ACC_GYRO_QUIET_POSITION     2
-status_t  LSM6DSL_ACC_GYRO_W_QUIET_Duration(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_QUIET_Duration(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_QUIET_MASK     0x0C
+#define       LSM6DSL_ACC_GYRO_QUIET_POSITION     2
+mems_status_t LSM6DSL_ACC_GYRO_W_QUIET_Duration(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_QUIET_Duration(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : INT_DUR2
@@ -2354,10 +2354,10 @@
 * Bit Group Name: DUR
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_DUR_MASK   0xF0
-#define     LSM6DSL_ACC_GYRO_DUR_POSITION   4
-status_t  LSM6DSL_ACC_GYRO_W_DUR(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_DUR(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_DUR_MASK   0xF0
+#define       LSM6DSL_ACC_GYRO_DUR_POSITION   4
+mems_status_t LSM6DSL_ACC_GYRO_W_DUR(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_DUR(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_THS
@@ -2365,10 +2365,10 @@
 * Bit Group Name: WK_THS
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_WK_THS_MASK    0x3F
-#define     LSM6DSL_ACC_GYRO_WK_THS_POSITION    0
-status_t  LSM6DSL_ACC_GYRO_W_WK_THS(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_WK_THS(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_WK_THS_MASK    0x3F
+#define       LSM6DSL_ACC_GYRO_WK_THS_POSITION    0
+mems_status_t LSM6DSL_ACC_GYRO_W_WK_THS(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_WK_THS(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_THS
@@ -2381,9 +2381,9 @@
     LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_DOUBLE_TAP        =0x80,
 } LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_MASK     0x80
-status_t  LSM6DSL_ACC_GYRO_W_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_MASK     0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_DUR
@@ -2391,10 +2391,10 @@
 * Bit Group Name: SLEEP_DUR
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_SLEEP_DUR_MASK     0x0F
-#define     LSM6DSL_ACC_GYRO_SLEEP_DUR_POSITION     0
-status_t  LSM6DSL_ACC_GYRO_W_SLEEP_DUR(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SLEEP_DUR(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_SLEEP_DUR_MASK     0x0F
+#define       LSM6DSL_ACC_GYRO_SLEEP_DUR_POSITION     0
+mems_status_t LSM6DSL_ACC_GYRO_W_SLEEP_DUR(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_DUR(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_DUR
@@ -2407,9 +2407,9 @@
     LSM6DSL_ACC_GYRO_TIMER_HR_25us       =0x10,
 } LSM6DSL_ACC_GYRO_TIMER_HR_t;
 
-#define     LSM6DSL_ACC_GYRO_TIMER_HR_MASK      0x10
-status_t  LSM6DSL_ACC_GYRO_W_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t *value);
+#define       LSM6DSL_ACC_GYRO_TIMER_HR_MASK      0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t *value);
 
 /*******************************************************************************
 * Register      : WAKE_UP_DUR
@@ -2417,10 +2417,10 @@
 * Bit Group Name: WAKE_DUR
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_WAKE_DUR_MASK      0x60
-#define     LSM6DSL_ACC_GYRO_WAKE_DUR_POSITION      5
-status_t  LSM6DSL_ACC_GYRO_W_WAKE_DUR(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_WAKE_DUR(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_WAKE_DUR_MASK      0x60
+#define       LSM6DSL_ACC_GYRO_WAKE_DUR_POSITION      5
+mems_status_t LSM6DSL_ACC_GYRO_W_WAKE_DUR(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_WAKE_DUR(void *handle, u8_t *value);
 
 /*******************************************************************************
 * Register      : FREE_FALL
@@ -2428,12 +2428,12 @@
 * Bit Group Name: FF_DUR
 * Permission    : RW
 *******************************************************************************/
-#define     LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_MASK      0xF8
-#define     LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_POSITION      3
-#define     LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_MASK    0x80
-#define     LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_POSITION    7
-status_t  LSM6DSL_ACC_GYRO_W_FF_Duration(void *handle, u8_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FF_Duration(void *handle, u8_t *value);
+#define       LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_MASK      0xF8
+#define       LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_POSITION      3
+#define       LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_MASK    0x80
+#define       LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_POSITION    7
+mems_status_t LSM6DSL_ACC_GYRO_W_FF_Duration(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_Duration(void *handle, u8_t *value);
 
 
 /*******************************************************************************
@@ -2453,9 +2453,9 @@
     LSM6DSL_ACC_GYRO_FF_THS_500mg        =0x07,
 } LSM6DSL_ACC_GYRO_FF_THS_t;
 
-#define     LSM6DSL_ACC_GYRO_FF_THS_MASK    0x07
-status_t  LSM6DSL_ACC_GYRO_W_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t *value);
+#define       LSM6DSL_ACC_GYRO_FF_THS_MASK    0x07
+mems_status_t LSM6DSL_ACC_GYRO_W_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2468,9 +2468,9 @@
     LSM6DSL_ACC_GYRO_INT1_TIMER_ENABLED          =0x01,
 } LSM6DSL_ACC_GYRO_INT1_TIMER_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_TIMER_MASK    0x01
-status_t  LSM6DSL_ACC_GYRO_W_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_TIMER_MASK    0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2483,9 +2483,9 @@
     LSM6DSL_ACC_GYRO_INT1_TILT_ENABLED       =0x02,
 } LSM6DSL_ACC_GYRO_INT1_TILT_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_TILT_MASK     0x02
-status_t  LSM6DSL_ACC_GYRO_W_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_TILT_MASK     0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2498,9 +2498,9 @@
     LSM6DSL_ACC_GYRO_INT1_6D_ENABLED         =0x04,
 } LSM6DSL_ACC_GYRO_INT1_6D_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_6D_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_6D_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2513,9 +2513,9 @@
     LSM6DSL_ACC_GYRO_INT1_TAP_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_INT1_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_TAP_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_TAP_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2528,9 +2528,9 @@
     LSM6DSL_ACC_GYRO_INT1_FF_ENABLED         =0x10,
 } LSM6DSL_ACC_GYRO_INT1_FF_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_FF_MASK   0x10
-status_t  LSM6DSL_ACC_GYRO_W_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_FF_MASK   0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2543,9 +2543,9 @@
     LSM6DSL_ACC_GYRO_INT1_WU_ENABLED         =0x20,
 } LSM6DSL_ACC_GYRO_INT1_WU_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_WU_MASK   0x20
-status_t  LSM6DSL_ACC_GYRO_W_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_WU_MASK   0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2558,9 +2558,9 @@
     LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_ENABLED         =0x40,
 } LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_MASK   0x40
-status_t  LSM6DSL_ACC_GYRO_W_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_MASK   0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t *value);
 
 /*******************************************************************************
 * Register      : MD1_CFG
@@ -2573,9 +2573,9 @@
     LSM6DSL_ACC_GYRO_INT1_SLEEP_ENABLED          =0x80,
 } LSM6DSL_ACC_GYRO_INT1_SLEEP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT1_SLEEP_MASK    0x80
-status_t  LSM6DSL_ACC_GYRO_W_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT1_SLEEP_MASK    0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2588,9 +2588,9 @@
     LSM6DSL_ACC_GYRO_INT2_IRON_ENABLED       =0x01,
 } LSM6DSL_ACC_GYRO_INT2_IRON_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_IRON_MASK     0x01
-status_t  LSM6DSL_ACC_GYRO_W_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_IRON_MASK     0x01
+mems_status_t LSM6DSL_ACC_GYRO_W_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2603,9 +2603,9 @@
     LSM6DSL_ACC_GYRO_INT2_TILT_ENABLED       =0x02,
 } LSM6DSL_ACC_GYRO_INT2_TILT_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_TILT_MASK     0x02
-status_t  LSM6DSL_ACC_GYRO_W_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_TILT_MASK     0x02
+mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2618,9 +2618,9 @@
     LSM6DSL_ACC_GYRO_INT2_6D_ENABLED         =0x04,
 } LSM6DSL_ACC_GYRO_INT2_6D_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_6D_MASK   0x04
-status_t  LSM6DSL_ACC_GYRO_W_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_6D_MASK   0x04
+mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2633,9 +2633,9 @@
     LSM6DSL_ACC_GYRO_INT2_TAP_ENABLED        =0x08,
 } LSM6DSL_ACC_GYRO_INT2_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_TAP_MASK      0x08
-status_t  LSM6DSL_ACC_GYRO_W_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_TAP_MASK      0x08
+mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2648,9 +2648,9 @@
     LSM6DSL_ACC_GYRO_INT2_FF_ENABLED         =0x10,
 } LSM6DSL_ACC_GYRO_INT2_FF_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_FF_MASK   0x10
-status_t  LSM6DSL_ACC_GYRO_W_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_FF_MASK   0x10
+mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2663,9 +2663,9 @@
     LSM6DSL_ACC_GYRO_INT2_WU_ENABLED         =0x20,
 } LSM6DSL_ACC_GYRO_INT2_WU_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_WU_MASK   0x20
-status_t  LSM6DSL_ACC_GYRO_W_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_WU_MASK   0x20
+mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2678,9 +2678,9 @@
     LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_ENABLED         =0x40,
 } LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_MASK   0x40
-status_t  LSM6DSL_ACC_GYRO_W_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_MASK   0x40
+mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t *value);
 
 /*******************************************************************************
 * Register      : MD2_CFG
@@ -2693,57 +2693,57 @@
     LSM6DSL_ACC_GYRO_INT2_SLEEP_ENABLED          =0x80,
 } LSM6DSL_ACC_GYRO_INT2_SLEEP_t;
 
-#define     LSM6DSL_ACC_GYRO_INT2_SLEEP_MASK    0x80
-status_t  LSM6DSL_ACC_GYRO_W_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t newValue);
-status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t *value);
+#define       LSM6DSL_ACC_GYRO_INT2_SLEEP_MASK    0x80
+mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t *value);
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetAccData
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff);
-status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo);
+mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff);
+mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo);
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetFIFOData
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(void *handle, u8_t *buff); 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(void *handle, u8_t *buff); 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetTimestamp
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(void *handle, u8_t *buff); 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(void *handle, u8_t *buff); 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : GetStepCounter
 * Permission    : RO 
 *******************************************************************************/
-status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(void *handle, u8_t *buff); 
+mems_status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(void *handle, u8_t *buff); 
 
 /*******************************************************************************
 * Register      : <REGISTER_L> - <REGISTER_H>
 * Output Type   : Pedometer Threshold
 * Permission    : RO 
 *******************************************************************************/
-status_t  LSM6DSL_ACC_GYRO_W_PedoThreshold(void *handle, u8_t newValue);
+mems_status_t LSM6DSL_ACC_GYRO_W_PedoThreshold(void *handle, u8_t newValue);
 
 /************** Use Sensor Hub  *******************/
 
 /* program to .... */
-status_t LSM6DSL_ACC_GYRO_SH0_Program(void *handle, u8_t SlvAddr, u8_t Reg, u8_t len);
+mems_status_t LSM6DSL_ACC_GYRO_SH0_Program(void *handle, u8_t SlvAddr, u8_t Reg, u8_t len);
 
 /* Program the six Soft Iron Matrix coefficients. */
-status_t LSM6DSL_ACC_GYRO_SH_init_SI_Matrix(void *handle, u8_t *SI_matrix);
+mems_status_t LSM6DSL_ACC_GYRO_SH_init_SI_Matrix(void *handle, u8_t *SI_matrix);
 
 /* Read a remote device through I2C Sensor Hub Slave 0 */
-status_t LSM6DSL_ACC_GYRO_SH0_ReadMem(void *handle, u8_t SlvAddr, u8_t Reg, u8_t *Bufp, u8_t len, u8_t stop);
+mems_status_t LSM6DSL_ACC_GYRO_SH0_ReadMem(void *handle, u8_t SlvAddr, u8_t Reg, u8_t *Bufp, u8_t len, u8_t stop);
 
 /* Write a remote device through I2C Sensor Hub Slave 0 */
-status_t LSM6DSL_ACC_GYRO_SH0_WriteByte(void *handle, u8_t SlvAddr, u8_t Reg, u8_t Bufp);
+mems_status_t LSM6DSL_ACC_GYRO_SH0_WriteByte(void *handle, u8_t SlvAddr, u8_t Reg, u8_t Bufp);
 
 #ifdef __cplusplus
 }