Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: VL53L0X
Fork of BSP_B-L475E-IOT01 by
stm32l475e_iot01_psensor.c
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l475e_iot01_psensor.c 00004 * @author MCD Application Team 00005 * @brief This file provides a set of functions needed to manage the pressure sensor 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V. 00010 * All rights reserved.</center></h2> 00011 * 00012 * Redistribution and use in source and binary forms, with or without 00013 * modification, are permitted, provided that the following conditions are met: 00014 * 00015 * 1. Redistribution 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 other 00021 * contributors to this software may be used to endorse or promote products 00022 * derived from this software without specific written permission. 00023 * 4. This software, including modifications and/or derivative works of this 00024 * software, must execute solely and exclusively on microcontroller or 00025 * microprocessor devices manufactured by or for STMicroelectronics. 00026 * 5. Redistribution and use of this software other than as permitted under 00027 * this license is void and will automatically terminate your rights under 00028 * this license. 00029 * 00030 * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 00031 * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 00032 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 00033 * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 00034 * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 00035 * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00036 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00037 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 00038 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00039 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00040 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00041 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00042 * 00043 ****************************************************************************** 00044 */ 00045 00046 /* Includes ------------------------------------------------------------------*/ 00047 #include "stm32l475e_iot01_psensor.h" 00048 00049 /** @addtogroup BSP 00050 * @{ 00051 */ 00052 00053 /** @addtogroup STM32L475E_IOT01 00054 * @{ 00055 */ 00056 00057 /** @defgroup STM32L475E_IOT01_PRESSURE PRESSURE 00058 * @{ 00059 */ 00060 00061 /** @defgroup STM32L475E_IOT01_PRESSURE_Private_Variables PRESSURE Private Variables 00062 * @{ 00063 */ 00064 static PSENSOR_DrvTypeDef *Psensor_drv; 00065 /** 00066 * @} 00067 */ 00068 00069 /** @defgroup STM32L475E_IOT01_PRESSURE_Private_Functions PRESSURE Private Functions 00070 * @{ 00071 */ 00072 00073 /** 00074 * @brief Initializes peripherals used by the I2C Pressure Sensor driver. 00075 * @retval PSENSOR status 00076 */ 00077 uint32_t BSP_PSENSOR_Init(void) 00078 { 00079 uint32_t ret; 00080 00081 if(LPS22HB_P_Drv.ReadID(LPS22HB_I2C_ADDRESS) != LPS22HB_WHO_AM_I_VAL) 00082 { 00083 ret = PSENSOR_ERROR; 00084 } 00085 else 00086 { 00087 Psensor_drv = &LPS22HB_P_Drv; 00088 00089 /* PSENSOR Init */ 00090 Psensor_drv->Init(LPS22HB_I2C_ADDRESS); 00091 ret = PSENSOR_OK; 00092 } 00093 00094 return ret; 00095 } 00096 00097 /** 00098 * @brief Read ID of LPS22HB. 00099 * @retval LPS22HB ID value. 00100 */ 00101 uint8_t BSP_PSENSOR_ReadID(void) 00102 { 00103 return Psensor_drv->ReadID(LPS22HB_I2C_ADDRESS); 00104 } 00105 00106 /** 00107 * @brief Read Pressure register of LPS22HB. 00108 * @retval LPS22HB measured pressure value. 00109 */ 00110 float BSP_PSENSOR_ReadPressure(void) 00111 { 00112 return Psensor_drv->ReadPressure(LPS22HB_I2C_ADDRESS); 00113 } 00114 /** 00115 * @} 00116 */ 00117 00118 /** 00119 * @} 00120 */ 00121 00122 /** 00123 * @} 00124 */ 00125 00126 /** 00127 * @} 00128 */ 00129 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 15:06:31 by
1.7.2
