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 lis3mdl.h Source File

lis3mdl.h

Go to the documentation of this file.
00001 /**
00002 ******************************************************************************
00003 * @file    x_cube_mems_lis3mdl.h
00004 * @author  AST / EST
00005 * @version V0.0.1
00006 * @date    9-December-2014
00007 * @brief   Header file for component LIS3MDL
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_LIS3MDL_H
00039 #define __X_CUBE_MEMS_LIS3MDL_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 LIS3MDL
00050 {
00051 public:
00052     /** Constructor
00053      * @param 
00054      */
00055     LIS3MDL(DevI2C &i2c) : dev_i2c(i2c) {
00056         LIS3MDLInitialized = 0;
00057         Init();
00058     };
00059 
00060     void GetAxes(AxesRaw_TypeDef *pData);
00061     void GetAxesRaw(int16_t *pData);
00062     void    Init(/*HUM_TEMP_InitTypeDef *HTS221_Init*/);
00063     uint8_t   ReadID(void);
00064     void      RebootCmd(void);
00065 
00066 private:
00067     
00068     uint8_t isInitialized(void)
00069     {
00070         return LIS3MDLInitialized;
00071     }
00072     
00073     DevI2C &dev_i2c;
00074     uint8_t LIS3MDLInitialized;
00075 };
00076 
00077 #endif // __X_CUBE_MEMS_LIS3MDL_H
00078