-
Notifications
You must be signed in to change notification settings - Fork 2
/
stm32u083c_discovery_env_sensors.h
141 lines (115 loc) · 3.46 KB
/
stm32u083c_discovery_env_sensors.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/**
******************************************************************************
* @file stm32u083c_discovery_env_sensors.h
* @author MCD Application Team
* @brief This file contains the common defines and functions prototypes for
* the stm32u083c_discovery_env_sensors.c driver.
******************************************************************************
* @attention
*
* Copyright (c) 2023 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 STM32U083C_DK_ENV_SENSORS_H
#define STM32U083C_DK_ENV_SENSORS_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32u083c_discovery_conf.h"
#include "stm32u083c_discovery_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 */
#if (USE_ENV_SENSOR_STTS22H_0 == 1)
#include "stts22h.h"
#endif /* USE_ENV_SENSOR_STTS22H_0 */
/** @addtogroup BSP BSP
* @{
*/
/** @addtogroup STM32U083C_DK
* @{
*/
/** @addtogroup STM32U083C_DK_ENV_SENSORS
* @{
*/
/** @defgroup STM32U083C_DK_ENV_SENSORS_Exported_Types STM32U083C-DK 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 STM32U083C_DK_ENV_SENSORS_Exported_Constants STM32U083C-DK ENV SENSORS Exported Constants
* @{
*/
#if (USE_ENV_SENSOR_STTS22H_0 == 1)
#define ENV_SENSOR_STTS22H_0 0
#endif /* USE_ENV_SENSOR_STTS22H_0 */
#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 3U
#define ENV_SENSOR_INSTANCES_NBR (USE_ENV_SENSOR_STTS22H_0)
#if (ENV_SENSOR_INSTANCES_NBR == 0)
#error "No environmental sensor instance has been selected"
#endif /* ENV_SENSOR_INSTANCES_NBR */
/**
* @}
*/
/** @addtogroup STM32U083C_DK_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
#endif /* STM32U083C_DK_ENV_SENSORS_H */