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
x_cube_mems.h
00001 /** 00002 ****************************************************************************** 00003 * @file x_cube_mems.h 00004 * @author AST / EST 00005 * @version V0.0.1 00006 * @date 01-December-2014 00007 * @brief Header file for class X_CUBE_MEMS representing an MEMS expansion board 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * <h2><center>© 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 00039 #ifndef __X_CUBE_MEMS_H 00040 #define __X_CUBE_MEMS_H 00041 00042 /* Includes ------------------------------------------------------------------*/ 00043 #include "mbed.h" 00044 00045 #include "x_cube_mems_i2c.h" 00046 #include "Components/HTS221/hts221.h" 00047 #include "Components/LPS25H/lps25h.h" 00048 #include "Components/LIS3MDL/lis3mdl.h" 00049 #include "Components/LSM6DS0/lsm6ds0.h" 00050 00051 /* Classes -------------------------------------------------------------------*/ 00052 /** Class X_CUBE_MEMS represents the MEMS Sensor expansion board X-NUCLEO-IKS01A1 00053 * 00054 * The expansion board has the following IPs:\n 00055 * - HTS221 Relative Humidity and Temperature Sensor 00056 * - LIS3MDL 3-Axis Magnetometer 00057 * - LPS25H MEMS Pressure Sensor 00058 * - LSM6DS0 3D Acceleromenter and 3D Gyroscope 00059 * * 00060 * @code 00061 * // MEMS Sensors expansion board singleton instance 00062 * static X_CUBE_MEMS *mems_expansion_board = X_CUBE_MEMS::Instance(); 00063 * @endcode 00064 */ 00065 class X_CUBE_MEMS 00066 { 00067 protected: 00068 X_CUBE_MEMS(void); 00069 00070 public: 00071 static X_CUBE_MEMS* Instance(void); 00072 00073 DevI2C dev_i2c; 00074 HTS221 hts221; 00075 LPS25H lps25h; 00076 LIS3MDL lis3mdl; 00077 LSM6DS0 lsm6ds0; 00078 00079 private: 00080 static X_CUBE_MEMS *_instance; 00081 }; 00082 00083 #endif /* __X_CUBE_MEMS_H */
Generated on Tue Jul 12 2022 14:47:53 by 1.7.2