Library for supporting the Nucleo Sensor Shield.

Dependents:   Nucleo_Sensors_Demo m2x-temp_ethernet_demo m2x-MEMS_ACKme_Wifi_demo m2x_MEMS_Ublox_Cellular_demo ... more

Fork of Nucleo_Sensor_Shield by Daniel Griffin

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers lsm6ds0.h Source File

lsm6ds0.h

Go to the documentation of this file.
00001 /**
00002 ******************************************************************************
00003 * @file    x_cube_mems_lsm6ds0.h
00004 * @author  AST / EST
00005 * @version V0.0.1
00006 * @date    9-December-2014
00007 * @brief   Header file for component LSM6DS0
00008 ******************************************************************************
00009 * @attention
00010 *
00011 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
00012 *
00013 * Redistribution and use in source and binary forms, with or without modification,
00014 * are permitted provided that the following conditions are met:
00015 *   1. Redistributions of source code must retain the above copyright notice,
00016 *      this list of conditions and the following disclaimer.
00017 *   2. Redistributions in binary form must reproduce the above copyright notice,
00018 *      this list of conditions and the following disclaimer in the documentation
00019 *      and/or other materials provided with the distribution.
00020 *   3. Neither the name of STMicroelectronics nor the names of its contributors
00021 *      may be used to endorse or promote products derived from this software
00022 *      without specific prior written permission.
00023 *
00024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00030 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00032 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034 *
00035 ******************************************************************************
00036 */
00037 
00038 #ifndef __X_CUBE_MEMS_LSM6DS0_H
00039 #define __X_CUBE_MEMS_LSM6DS0_H
00040 
00041 /* Includes ------------------------------------------------------------------*/
00042 #include "mbed.h"
00043 #include "x_cube_mems_i2c.h"
00044 
00045 
00046 /* Classes -------------------------------------------------------------------*/
00047 /** Class representing a HTS221 sensor component
00048  */
00049 class LSM6DS0
00050 {
00051 public:
00052     /** Constructor
00053      * @param 
00054      */
00055     LSM6DS0(DevI2C &i2c) : dev_i2c(i2c) {
00056         LSM6DS0Initialized = 0;
00057         Init();
00058     };
00059 
00060     void Gyro_GetAxes(AxesRaw_TypeDef *pData);
00061     void Gyro_GetAxesRaw(int16_t *pData);
00062     void Acc_GetAxes(AxesRaw_TypeDef *pData);
00063     void Acc_GetAxesRaw(int16_t *pData);
00064     void    Init(/*HUM_TEMP_InitTypeDef *HTS221_Init*/);
00065     uint8_t   ReadID(void);
00066     void      RebootCmd(void);
00067     //int      Power_OFF(void); 
00068     //int      Power_ON(void);
00069     //int        LIS3MDL_Calibration();
00070 private:
00071     
00072     uint8_t isInitialized(void)
00073     {
00074         return LSM6DS0Initialized;
00075     }
00076     
00077     DevI2C &dev_i2c;
00078     uint8_t LSM6DS0Initialized;
00079 };
00080 
00081 #endif // __X_CUBE_MEMS_LSM6DS0_H
00082