158 lines
3.9 KiB
C
158 lines
3.9 KiB
C
/**
|
|
******************************************************************************
|
|
* @file b_wl5m_subg_env_sensors.h
|
|
* @author MCD Application Team
|
|
* @brief This file contains the common defines and functions prototypes for
|
|
* the b_wl5m_subg_env_sensors.c driver.
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2022 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef B_WL5M_SUBG_ENV_SENSORS_H
|
|
#define B_WL5M_SUBG_ENV_SENSORS_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "b_wl5m_subg_conf.h"
|
|
#include "b_wl5m_subg_errno.h"
|
|
#include "env_sensor.h"
|
|
|
|
#ifndef USE_ENV_SENSOR_STTS22H_0
|
|
#define USE_ENV_SENSOR_STTS22H_0 1
|
|
#endif /* USE_ENV_SENSOR_STTS22H_0 */
|
|
|
|
#ifndef USE_ENV_SENSOR_ILPS22QS_0
|
|
#define USE_ENV_SENSOR_ILPS22QS_0 1
|
|
#endif /* USE_ENV_SENSOR_ILPS22QS_0 */
|
|
|
|
#if (USE_ENV_SENSOR_STTS22H_0 == 1)
|
|
#include "stts22h.h"
|
|
#endif /* (USE_ENV_SENSOR_STTS22H_0 == 1) */
|
|
|
|
#if (USE_ENV_SENSOR_ILPS22QS_0 == 1)
|
|
#include "ilps22qs.h"
|
|
#endif /* (USE_ENV_SENSOR_ILPS22QS_0 == 1) */
|
|
|
|
/** @addtogroup BSP BSP
|
|
* @{
|
|
*/
|
|
|
|
/** @addtogroup B_WL5M_SUBG
|
|
* @{
|
|
*/
|
|
|
|
/** @addtogroup B_WL5M_SUBG_ENV_SENSORS
|
|
* @{
|
|
*/
|
|
|
|
/** @defgroup B_WL5M_SUBG_ENV_SENSORS_Exported_Types B-WL5M-SUBG ENV SENSORS Exported Types
|
|
* @{
|
|
*/
|
|
|
|
/* Environmental Sensor instance Info */
|
|
typedef struct
|
|
{
|
|
uint8_t Temperature;
|
|
uint8_t Pressure;
|
|
uint8_t Humidity;
|
|
uint8_t LowPower;
|
|
float HumMaxOdr;
|
|
float TempMaxOdr;
|
|
float PressMaxOdr;
|
|
} ENV_SENSOR_Capabilities_t;
|
|
|
|
typedef struct
|
|
{
|
|
uint32_t Functions;
|
|
} ENV_SENSOR_Ctx_t;
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/** @defgroup B_WL5M_SUBG_ENV_SENSORS_Exported_Constants B-WL5M-SUBG ENV SENSORS Exported Constants
|
|
* @{
|
|
*/
|
|
#if (USE_ENV_SENSOR_STTS22H_0 == 1)
|
|
#define ENV_SENSOR_STTS22H_0 0
|
|
#endif /* (USE_ENV_SENSOR_STTS22H_0 == 1) */
|
|
|
|
#if (USE_ENV_SENSOR_ILPS22QS_0 == 1)
|
|
#define ENV_SENSOR_ILPS22QS_0 1
|
|
#endif /* (USE_ENV_SENSOR_ILPS22QS_0 == 1) */
|
|
|
|
#ifndef ENV_TEMPERATURE
|
|
#define ENV_TEMPERATURE 1U
|
|
#endif /* ENV_TEMPERATURE */
|
|
|
|
#ifndef ENV_PRESSURE
|
|
#define ENV_PRESSURE 2U
|
|
#endif /* ENV_PRESSURE */
|
|
|
|
#ifndef ENV_HUMIDITY
|
|
#define ENV_HUMIDITY 4U
|
|
#endif /* ENV_HUMIDITY */
|
|
|
|
#define ENV_SENSOR_FUNCTIONS_NBR 2U
|
|
|
|
#define ENV_SENSOR_INSTANCES_NBR ((USE_ENV_SENSOR_STTS22H_0) \
|
|
+ (USE_ENV_SENSOR_ILPS22QS_0))
|
|
|
|
|
|
#if (ENV_SENSOR_INSTANCES_NBR == 0)
|
|
#warning "No environmental sensor instance has been selected"
|
|
#endif /* (ENV_SENSOR_INSTANCES_NBR == 0) */
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/** @addtogroup B_WL5M_SUBG_ENV_SENSORS_Exported_Functions
|
|
* @{
|
|
*/
|
|
|
|
int32_t BSP_ENV_SENSOR_Init(uint32_t Instance, uint32_t Functions);
|
|
int32_t BSP_ENV_SENSOR_DeInit(uint32_t Instance);
|
|
int32_t BSP_ENV_SENSOR_GetCapabilities(uint32_t Instance, ENV_SENSOR_Capabilities_t *Capabilities);
|
|
int32_t BSP_ENV_SENSOR_ReadID(uint32_t Instance, uint8_t *Id);
|
|
int32_t BSP_ENV_SENSOR_Enable(uint32_t Instance, uint32_t Function);
|
|
int32_t BSP_ENV_SENSOR_Disable(uint32_t Instance, uint32_t Function);
|
|
int32_t BSP_ENV_SENSOR_GetOutputDataRate(uint32_t Instance, uint32_t Function, float *Odr);
|
|
int32_t BSP_ENV_SENSOR_SetOutputDataRate(uint32_t Instance, uint32_t Function, float Odr);
|
|
int32_t BSP_ENV_SENSOR_GetValue(uint32_t Instance, uint32_t Function, float *Value);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* B_WL5M_SUBG_ENV_SENSORS_H */
|