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 x_cube_mems.cpp Source File

x_cube_mems.cpp

Go to the documentation of this file.
00001 /**
00002 ******************************************************************************
00003 * @file    x_cube_mems.cpp
00004 * @author  AST / EST
00005 * @version V0.0.1
00006 * @date    08-October-2014
00007 * @brief   Implementation file for the X_CUBE_MEMS singleton class
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 /* Includes ------------------------------------------------------------------*/
00039 #include "mbed.h"
00040 #include "x_cube_mems.h"
00041 
00042 /* Static variables ----------------------------------------------------------*/
00043 X_CUBE_MEMS* X_CUBE_MEMS::_instance = NULL;
00044 
00045 /* Methods -------------------------------------------------------------------*/
00046 /**
00047  * @brief  Constructor
00048  */
00049 X_CUBE_MEMS::X_CUBE_MEMS(void) : dev_i2c(PB_9,PB_8),
00050     hts221(dev_i2c),
00051     lps25h(dev_i2c),
00052     lis3mdl(dev_i2c),
00053     lsm6ds0(dev_i2c)
00054 {
00055   
00056 }
00057 
00058 /**
00059  * @brief  Get singleton instance
00060  * @return a pointer to the singleton instance of class X_CUBE_MEMS
00061  */
00062  X_CUBE_MEMS* X_CUBE_MEMS::Instance(void) {
00063     if(_instance == NULL) {
00064         _instance = new X_CUBE_MEMS();
00065     }
00066     return _instance;
00067 }