
Mbed OS and Pelion Device Management example over WIFI for DISCO_L475VG_IOT01 board
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
DEPRECATED
This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM and Arm toolchain. It doesn't work with Mbed Studio.
Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/
This example is known to work on the following platforms:
- DISCO_L475E_IOT01A over WiFI and using onboard QSPI flash.
Follow the Quick-Start instructions: https://cloud.mbed.com/quick-start
Example functionality
This example showcases the following device functionality:
- Read onboard temperature and humidity sensors, and report them as Pelion LWM2M resources (see image below).
- On user button click, increment Pelion LWM2M button resource.
- Allow the user to change the state of the board LED from Pelion LWM2M led_state resource and PUT request.
- Uses all onboard sensors and reports them as Pelion LWM2M resources.
Use this example with Mbed CLI
1. Import the application into your desktop:
mbed import https://os.mbed.com/teams/ST/code/pelion-example-disco-iot01 cd pelion-example-disco-iot01
2. Install the CLOUD_SDK_API_KEY
mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>
For instructions on how to generate your API key, please see the documentation.
3. Initialize firmware credentials (done once per repository). You can use the following command:
mbed dm init -d "<your company name in Pelion DM>" --model-name "<product model identifier>" -q --force
If above command do not work for your Mbed CLI, please consider upgrading Mbed CLI to version 1.8.x or above.
4. Compile and program:
mbed compile -t <toolchain> -m DISCO_L475VG_IOT01A
(supported toolchains : GCC_ARM / ARM / IAR)
5. You can connect on a virtual terminal/COM port to the platform using:
mbed sterm -b 115200
This should give you an output similar to:
[BOOT] Mbed Bootloader [BOOT] ARM: 00000000000000000000 [BOOT] OEM: 00000000000000000000 [BOOT] Layout: 0 80096F4 [BOOT] Active firmware integrity check: [BOOT] SHA256: 0660E360D432225D5251461998FD8617B017098C5F1F90D5FB607BF8C27ED530 [BOOT] Version: 1553615309 [BOOT] Slot 0 is empty [BOOT] Active firmware up-to-date [BOOT] Application's start address: 0x8010400 [BOOT] Application's jump address: 0x8011041 [BOOT] Application's stack address: 0x20018000 [BOOT] Forwarding to application... Starting Simple Pelion Device Management Client example You can hold the user button during boot to format the storage and change the device identity. Sensors configuration: Invalid new address! HTS221 humidity & temperature = 0xBC LPS22HB pressure & temperature = 0xB1 LIS3MDL magnetometer = 0x3D LSM6DSL accelerometer & gyroscope = 0x6A Connecting to the network using Wifi... Connected to the network successfully. IP address: 192.168.1.3 Initializing Pelion Device Management Client... Initialized Pelion Client. Registering... Registered to Pelion Device Management. Endpoint Name: 0169********************001002d5 ADC temp: 23.0037 C, vref: 0.3661 V HTS221 temp: 28.700 C, humidity: 31.90 % LPS22HB temp: 29.600 C, pressure: 1032.01 mbar LIS3MDL mag: 0.217 x, -0.284 y, -0.053 z [gauss] LSM6DSL acc: 0.005 x, -0.014 y, 1.029 z [g] LSM6DSL gyro: 0.910 x, -0.910 y, 1.120 z [dps] VL53L0X dist: 1855 mm
sensors/HTS221/HTS221_driver.h@36:aaf44d2a6c33, 2020-03-13 (annotated)
- Committer:
- chris
- Date:
- Fri Mar 13 13:18:07 2020 +0000
- Revision:
- 36:aaf44d2a6c33
- Parent:
- 18:a15bfe7aaebd
First revision
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
screamer | 18:a15bfe7aaebd | 1 | /** |
screamer | 18:a15bfe7aaebd | 2 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 3 | * @file HTS221_driver.h |
screamer | 18:a15bfe7aaebd | 4 | * @author HESA Application Team |
screamer | 18:a15bfe7aaebd | 5 | * @version V1.1 |
screamer | 18:a15bfe7aaebd | 6 | * @date 10-August-2016 |
screamer | 18:a15bfe7aaebd | 7 | * @brief HTS221 driver header file |
screamer | 18:a15bfe7aaebd | 8 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 9 | * @attention |
screamer | 18:a15bfe7aaebd | 10 | * |
screamer | 18:a15bfe7aaebd | 11 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
screamer | 18:a15bfe7aaebd | 12 | * |
screamer | 18:a15bfe7aaebd | 13 | * Redistribution and use in source and binary forms, with or without modification, |
screamer | 18:a15bfe7aaebd | 14 | * are permitted provided that the following conditions are met: |
screamer | 18:a15bfe7aaebd | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
screamer | 18:a15bfe7aaebd | 16 | * this list of conditions and the following disclaimer. |
screamer | 18:a15bfe7aaebd | 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
screamer | 18:a15bfe7aaebd | 18 | * this list of conditions and the following disclaimer in the documentation |
screamer | 18:a15bfe7aaebd | 19 | * and/or other materials provided with the distribution. |
screamer | 18:a15bfe7aaebd | 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
screamer | 18:a15bfe7aaebd | 21 | * may be used to endorse or promote products derived from this software |
screamer | 18:a15bfe7aaebd | 22 | * without specific prior written permission. |
screamer | 18:a15bfe7aaebd | 23 | * |
screamer | 18:a15bfe7aaebd | 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
screamer | 18:a15bfe7aaebd | 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
screamer | 18:a15bfe7aaebd | 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
screamer | 18:a15bfe7aaebd | 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
screamer | 18:a15bfe7aaebd | 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
screamer | 18:a15bfe7aaebd | 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
screamer | 18:a15bfe7aaebd | 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
screamer | 18:a15bfe7aaebd | 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
screamer | 18:a15bfe7aaebd | 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
screamer | 18:a15bfe7aaebd | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
screamer | 18:a15bfe7aaebd | 34 | * |
screamer | 18:a15bfe7aaebd | 35 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 36 | */ |
screamer | 18:a15bfe7aaebd | 37 | |
screamer | 18:a15bfe7aaebd | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 39 | #ifndef __HTS221_DRIVER__H |
screamer | 18:a15bfe7aaebd | 40 | #define __HTS221_DRIVER__H |
screamer | 18:a15bfe7aaebd | 41 | |
screamer | 18:a15bfe7aaebd | 42 | #include <stdint.h> |
screamer | 18:a15bfe7aaebd | 43 | |
screamer | 18:a15bfe7aaebd | 44 | #ifdef __cplusplus |
screamer | 18:a15bfe7aaebd | 45 | extern "C" { |
screamer | 18:a15bfe7aaebd | 46 | #endif |
screamer | 18:a15bfe7aaebd | 47 | |
screamer | 18:a15bfe7aaebd | 48 | /* Uncomment the line below to expanse the "assert_param" macro in the drivers code */ |
screamer | 18:a15bfe7aaebd | 49 | #define USE_FULL_ASSERT_HTS221 |
screamer | 18:a15bfe7aaebd | 50 | |
screamer | 18:a15bfe7aaebd | 51 | /* Exported macro ------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 52 | #ifdef USE_FULL_ASSERT_HTS221 |
screamer | 18:a15bfe7aaebd | 53 | |
screamer | 18:a15bfe7aaebd | 54 | /** |
screamer | 18:a15bfe7aaebd | 55 | * @brief The assert_param macro is used for function's parameters check. |
screamer | 18:a15bfe7aaebd | 56 | * @param expr: If expr is false, it calls assert_failed function which reports |
screamer | 18:a15bfe7aaebd | 57 | * the name of the source file and the source line number of the call |
screamer | 18:a15bfe7aaebd | 58 | * that failed. If expr is true, it returns no value. |
screamer | 18:a15bfe7aaebd | 59 | * @retval None |
screamer | 18:a15bfe7aaebd | 60 | */ |
screamer | 18:a15bfe7aaebd | 61 | #define HTS221_assert_param(expr) ((expr) ? (void)0 : HTS221_assert_failed((uint8_t *)__FILE__, __LINE__)) |
screamer | 18:a15bfe7aaebd | 62 | /* Exported functions ------------------------------------------------------- */ |
screamer | 18:a15bfe7aaebd | 63 | void HTS221_assert_failed(uint8_t* file, uint32_t line); |
screamer | 18:a15bfe7aaebd | 64 | #else |
screamer | 18:a15bfe7aaebd | 65 | #define HTS221_assert_param(expr) ((void)0) |
screamer | 18:a15bfe7aaebd | 66 | #endif /* USE_FULL_ASSERT_HTS221 */ |
screamer | 18:a15bfe7aaebd | 67 | |
screamer | 18:a15bfe7aaebd | 68 | /** @addtogroup Environmental_Sensor |
screamer | 18:a15bfe7aaebd | 69 | * @{ |
screamer | 18:a15bfe7aaebd | 70 | */ |
screamer | 18:a15bfe7aaebd | 71 | |
screamer | 18:a15bfe7aaebd | 72 | /** @addtogroup HTS221_DRIVER |
screamer | 18:a15bfe7aaebd | 73 | * @{ |
screamer | 18:a15bfe7aaebd | 74 | */ |
screamer | 18:a15bfe7aaebd | 75 | |
screamer | 18:a15bfe7aaebd | 76 | /* Exported Types -------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 77 | /** @defgroup HTS221_Exported_Types |
screamer | 18:a15bfe7aaebd | 78 | * @{ |
screamer | 18:a15bfe7aaebd | 79 | */ |
screamer | 18:a15bfe7aaebd | 80 | |
screamer | 18:a15bfe7aaebd | 81 | |
screamer | 18:a15bfe7aaebd | 82 | /** |
screamer | 18:a15bfe7aaebd | 83 | * @brief Error code type. |
screamer | 18:a15bfe7aaebd | 84 | */ |
screamer | 18:a15bfe7aaebd | 85 | typedef enum {HTS221_OK = (uint8_t)0, HTS221_ERROR = !HTS221_OK} HTS221_Error_et; |
screamer | 18:a15bfe7aaebd | 86 | |
screamer | 18:a15bfe7aaebd | 87 | /** |
screamer | 18:a15bfe7aaebd | 88 | * @brief State type. |
screamer | 18:a15bfe7aaebd | 89 | */ |
screamer | 18:a15bfe7aaebd | 90 | typedef enum {HTS221_DISABLE = (uint8_t)0, HTS221_ENABLE = !HTS221_DISABLE} HTS221_State_et; |
screamer | 18:a15bfe7aaebd | 91 | #define IS_HTS221_State(MODE) ((MODE == HTS221_ENABLE) || (MODE == HTS221_DISABLE)) |
screamer | 18:a15bfe7aaebd | 92 | |
screamer | 18:a15bfe7aaebd | 93 | /** |
screamer | 18:a15bfe7aaebd | 94 | * @brief Bit status type. |
screamer | 18:a15bfe7aaebd | 95 | */ |
screamer | 18:a15bfe7aaebd | 96 | typedef enum {HTS221_RESET = (uint8_t)0, HTS221_SET = !HTS221_RESET} HTS221_BitStatus_et; |
screamer | 18:a15bfe7aaebd | 97 | #define IS_HTS221_BitStatus(MODE) ((MODE == HTS221_RESET) || (MODE == HTS221_SET)) |
screamer | 18:a15bfe7aaebd | 98 | |
screamer | 18:a15bfe7aaebd | 99 | /** |
screamer | 18:a15bfe7aaebd | 100 | * @brief Humidity average. |
screamer | 18:a15bfe7aaebd | 101 | */ |
screamer | 18:a15bfe7aaebd | 102 | typedef enum |
screamer | 18:a15bfe7aaebd | 103 | { |
screamer | 18:a15bfe7aaebd | 104 | HTS221_AVGH_4 = (uint8_t)0x00, /*!< Internal average on 4 samples */ |
screamer | 18:a15bfe7aaebd | 105 | HTS221_AVGH_8 = (uint8_t)0x01, /*!< Internal average on 8 samples */ |
screamer | 18:a15bfe7aaebd | 106 | HTS221_AVGH_16 = (uint8_t)0x02, /*!< Internal average on 16 samples */ |
screamer | 18:a15bfe7aaebd | 107 | HTS221_AVGH_32 = (uint8_t)0x03, /*!< Internal average on 32 samples */ |
screamer | 18:a15bfe7aaebd | 108 | HTS221_AVGH_64 = (uint8_t)0x04, /*!< Internal average on 64 samples */ |
screamer | 18:a15bfe7aaebd | 109 | HTS221_AVGH_128 = (uint8_t)0x05, /*!< Internal average on 128 samples */ |
screamer | 18:a15bfe7aaebd | 110 | HTS221_AVGH_256 = (uint8_t)0x06, /*!< Internal average on 256 samples */ |
screamer | 18:a15bfe7aaebd | 111 | HTS221_AVGH_512 = (uint8_t)0x07 /*!< Internal average on 512 samples */ |
screamer | 18:a15bfe7aaebd | 112 | } HTS221_Avgh_et; |
screamer | 18:a15bfe7aaebd | 113 | #define IS_HTS221_AVGH(AVGH) ((AVGH == HTS221_AVGH_4) || (AVGH == HTS221_AVGH_8) || \ |
screamer | 18:a15bfe7aaebd | 114 | (AVGH == HTS221_AVGH_16) || (AVGH == HTS221_AVGH_32) || \ |
screamer | 18:a15bfe7aaebd | 115 | (AVGH == HTS221_AVGH_64) || (AVGH == HTS221_AVGH_128) || \ |
screamer | 18:a15bfe7aaebd | 116 | (AVGH == HTS221_AVGH_256) || (AVGH == HTS221_AVGH_512)) |
screamer | 18:a15bfe7aaebd | 117 | |
screamer | 18:a15bfe7aaebd | 118 | /** |
screamer | 18:a15bfe7aaebd | 119 | * @brief Temperature average. |
screamer | 18:a15bfe7aaebd | 120 | */ |
screamer | 18:a15bfe7aaebd | 121 | typedef enum |
screamer | 18:a15bfe7aaebd | 122 | { |
screamer | 18:a15bfe7aaebd | 123 | HTS221_AVGT_2 = (uint8_t)0x00, /*!< Internal average on 2 samples */ |
screamer | 18:a15bfe7aaebd | 124 | HTS221_AVGT_4 = (uint8_t)0x08, /*!< Internal average on 4 samples */ |
screamer | 18:a15bfe7aaebd | 125 | HTS221_AVGT_8 = (uint8_t)0x10, /*!< Internal average on 8 samples */ |
screamer | 18:a15bfe7aaebd | 126 | HTS221_AVGT_16 = (uint8_t)0x18, /*!< Internal average on 16 samples */ |
screamer | 18:a15bfe7aaebd | 127 | HTS221_AVGT_32 = (uint8_t)0x20, /*!< Internal average on 32 samples */ |
screamer | 18:a15bfe7aaebd | 128 | HTS221_AVGT_64 = (uint8_t)0x28, /*!< Internal average on 64 samples */ |
screamer | 18:a15bfe7aaebd | 129 | HTS221_AVGT_128 = (uint8_t)0x30, /*!< Internal average on 128 samples */ |
screamer | 18:a15bfe7aaebd | 130 | HTS221_AVGT_256 = (uint8_t)0x38 /*!< Internal average on 256 samples */ |
screamer | 18:a15bfe7aaebd | 131 | } HTS221_Avgt_et; |
screamer | 18:a15bfe7aaebd | 132 | #define IS_HTS221_AVGT(AVGT) ((AVGT == HTS221_AVGT_2) || (AVGT == HTS221_AVGT_4) || \ |
screamer | 18:a15bfe7aaebd | 133 | (AVGT == HTS221_AVGT_8) || (AVGT == HTS221_AVGT_16) || \ |
screamer | 18:a15bfe7aaebd | 134 | (AVGT == HTS221_AVGT_32) || (AVGT == HTS221_AVGT_64) || \ |
screamer | 18:a15bfe7aaebd | 135 | (AVGT == HTS221_AVGT_128) || (AVGT == HTS221_AVGT_256)) |
screamer | 18:a15bfe7aaebd | 136 | |
screamer | 18:a15bfe7aaebd | 137 | /** |
screamer | 18:a15bfe7aaebd | 138 | * @brief Output data rate configuration. |
screamer | 18:a15bfe7aaebd | 139 | */ |
screamer | 18:a15bfe7aaebd | 140 | typedef enum |
screamer | 18:a15bfe7aaebd | 141 | { |
screamer | 18:a15bfe7aaebd | 142 | HTS221_ODR_ONE_SHOT = (uint8_t)0x00, /*!< Output Data Rate: one shot */ |
screamer | 18:a15bfe7aaebd | 143 | HTS221_ODR_1HZ = (uint8_t)0x01, /*!< Output Data Rate: 1Hz */ |
screamer | 18:a15bfe7aaebd | 144 | HTS221_ODR_7HZ = (uint8_t)0x02, /*!< Output Data Rate: 7Hz */ |
screamer | 18:a15bfe7aaebd | 145 | HTS221_ODR_12_5HZ = (uint8_t)0x03, /*!< Output Data Rate: 12.5Hz */ |
screamer | 18:a15bfe7aaebd | 146 | } HTS221_Odr_et; |
screamer | 18:a15bfe7aaebd | 147 | #define IS_HTS221_ODR(ODR) ((ODR == HTS221_ODR_ONE_SHOT) || (ODR == HTS221_ODR_1HZ) || \ |
screamer | 18:a15bfe7aaebd | 148 | (ODR == HTS221_ODR_7HZ) || (ODR == HTS221_ODR_12_5HZ)) |
screamer | 18:a15bfe7aaebd | 149 | |
screamer | 18:a15bfe7aaebd | 150 | |
screamer | 18:a15bfe7aaebd | 151 | /** |
screamer | 18:a15bfe7aaebd | 152 | * @brief Push-pull/Open Drain selection on DRDY pin. |
screamer | 18:a15bfe7aaebd | 153 | */ |
screamer | 18:a15bfe7aaebd | 154 | typedef enum |
screamer | 18:a15bfe7aaebd | 155 | { |
screamer | 18:a15bfe7aaebd | 156 | HTS221_PUSHPULL = (uint8_t)0x00, /*!< DRDY pin in push pull */ |
screamer | 18:a15bfe7aaebd | 157 | HTS221_OPENDRAIN = (uint8_t)0x40 /*!< DRDY pin in open drain */ |
screamer | 18:a15bfe7aaebd | 158 | } HTS221_OutputType_et; |
screamer | 18:a15bfe7aaebd | 159 | #define IS_HTS221_OutputType(MODE) ((MODE == HTS221_PUSHPULL) || (MODE == HTS221_OPENDRAIN)) |
screamer | 18:a15bfe7aaebd | 160 | |
screamer | 18:a15bfe7aaebd | 161 | /** |
screamer | 18:a15bfe7aaebd | 162 | * @brief Active level of DRDY pin. |
screamer | 18:a15bfe7aaebd | 163 | */ |
screamer | 18:a15bfe7aaebd | 164 | typedef enum |
screamer | 18:a15bfe7aaebd | 165 | { |
screamer | 18:a15bfe7aaebd | 166 | HTS221_HIGH_LVL = (uint8_t)0x00, /*!< HIGH state level for DRDY pin */ |
screamer | 18:a15bfe7aaebd | 167 | HTS221_LOW_LVL = (uint8_t)0x80 /*!< LOW state level for DRDY pin */ |
screamer | 18:a15bfe7aaebd | 168 | } HTS221_DrdyLevel_et; |
screamer | 18:a15bfe7aaebd | 169 | #define IS_HTS221_DrdyLevelType(MODE) ((MODE == HTS221_HIGH_LVL) || (MODE == HTS221_LOW_LVL)) |
screamer | 18:a15bfe7aaebd | 170 | |
screamer | 18:a15bfe7aaebd | 171 | /** |
screamer | 18:a15bfe7aaebd | 172 | * @brief Driver Version Info structure definition. |
screamer | 18:a15bfe7aaebd | 173 | */ |
screamer | 18:a15bfe7aaebd | 174 | typedef struct |
screamer | 18:a15bfe7aaebd | 175 | { |
screamer | 18:a15bfe7aaebd | 176 | uint8_t Major; |
screamer | 18:a15bfe7aaebd | 177 | uint8_t Minor; |
screamer | 18:a15bfe7aaebd | 178 | uint8_t Point; |
screamer | 18:a15bfe7aaebd | 179 | } HTS221_DriverVersion_st; |
screamer | 18:a15bfe7aaebd | 180 | |
screamer | 18:a15bfe7aaebd | 181 | |
screamer | 18:a15bfe7aaebd | 182 | /** |
screamer | 18:a15bfe7aaebd | 183 | * @brief HTS221 Init structure definition. |
screamer | 18:a15bfe7aaebd | 184 | */ |
screamer | 18:a15bfe7aaebd | 185 | typedef struct |
screamer | 18:a15bfe7aaebd | 186 | { |
screamer | 18:a15bfe7aaebd | 187 | HTS221_Avgh_et avg_h; /*!< Humidity average */ |
screamer | 18:a15bfe7aaebd | 188 | HTS221_Avgt_et avg_t; /*!< Temperature average */ |
screamer | 18:a15bfe7aaebd | 189 | HTS221_Odr_et odr; /*!< Output data rate */ |
screamer | 18:a15bfe7aaebd | 190 | HTS221_State_et bdu_status; /*!< HTS221_ENABLE/HTS221_DISABLE the block data update */ |
screamer | 18:a15bfe7aaebd | 191 | HTS221_State_et heater_status; /*!< HTS221_ENABLE/HTS221_DISABLE the internal heater */ |
screamer | 18:a15bfe7aaebd | 192 | |
screamer | 18:a15bfe7aaebd | 193 | HTS221_DrdyLevel_et irq_level; /*!< HTS221_HIGH_LVL/HTS221_LOW_LVL the level for DRDY pin */ |
screamer | 18:a15bfe7aaebd | 194 | HTS221_OutputType_et irq_output_type; /*!< Output configuration for DRDY pin */ |
screamer | 18:a15bfe7aaebd | 195 | HTS221_State_et irq_enable; /*!< HTS221_ENABLE/HTS221_DISABLE interrupt on DRDY pin */ |
screamer | 18:a15bfe7aaebd | 196 | } HTS221_Init_st; |
screamer | 18:a15bfe7aaebd | 197 | |
screamer | 18:a15bfe7aaebd | 198 | /** |
screamer | 18:a15bfe7aaebd | 199 | * @} |
screamer | 18:a15bfe7aaebd | 200 | */ |
screamer | 18:a15bfe7aaebd | 201 | |
screamer | 18:a15bfe7aaebd | 202 | |
screamer | 18:a15bfe7aaebd | 203 | /* Exported Constants ---------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 204 | /** @defgroup HTS221_Exported_Constants |
screamer | 18:a15bfe7aaebd | 205 | * @{ |
screamer | 18:a15bfe7aaebd | 206 | */ |
screamer | 18:a15bfe7aaebd | 207 | |
screamer | 18:a15bfe7aaebd | 208 | /** |
screamer | 18:a15bfe7aaebd | 209 | * @brief Bitfield positioning. |
screamer | 18:a15bfe7aaebd | 210 | */ |
screamer | 18:a15bfe7aaebd | 211 | #define HTS221_BIT(x) ((uint8_t)x) |
screamer | 18:a15bfe7aaebd | 212 | |
screamer | 18:a15bfe7aaebd | 213 | /** |
screamer | 18:a15bfe7aaebd | 214 | * @brief I2C address. |
screamer | 18:a15bfe7aaebd | 215 | */ |
screamer | 18:a15bfe7aaebd | 216 | #define HTS221_I2C_ADDRESS (uint8_t)0xBE |
screamer | 18:a15bfe7aaebd | 217 | |
screamer | 18:a15bfe7aaebd | 218 | /** |
screamer | 18:a15bfe7aaebd | 219 | * @brief Driver version. |
screamer | 18:a15bfe7aaebd | 220 | */ |
screamer | 18:a15bfe7aaebd | 221 | #define HTS221_DRIVER_VERSION_MAJOR (uint8_t)1 |
screamer | 18:a15bfe7aaebd | 222 | #define HTS221_DRIVER_VERSION_MINOR (uint8_t)1 |
screamer | 18:a15bfe7aaebd | 223 | #define HTS221_DRIVER_VERSION_POINT (uint8_t)0 |
screamer | 18:a15bfe7aaebd | 224 | |
screamer | 18:a15bfe7aaebd | 225 | /** |
screamer | 18:a15bfe7aaebd | 226 | * @addtogroup HTS221_Registers |
screamer | 18:a15bfe7aaebd | 227 | * @{ |
screamer | 18:a15bfe7aaebd | 228 | */ |
screamer | 18:a15bfe7aaebd | 229 | |
screamer | 18:a15bfe7aaebd | 230 | |
screamer | 18:a15bfe7aaebd | 231 | /** |
screamer | 18:a15bfe7aaebd | 232 | * @brief Device Identification register. |
screamer | 18:a15bfe7aaebd | 233 | * \code |
screamer | 18:a15bfe7aaebd | 234 | * Read |
screamer | 18:a15bfe7aaebd | 235 | * Default value: 0xBC |
screamer | 18:a15bfe7aaebd | 236 | * 7:0 This read-only register contains the device identifier for HTS221. |
screamer | 18:a15bfe7aaebd | 237 | * \endcode |
screamer | 18:a15bfe7aaebd | 238 | */ |
screamer | 18:a15bfe7aaebd | 239 | #define HTS221_WHO_AM_I_REG (uint8_t)0x0F |
screamer | 18:a15bfe7aaebd | 240 | |
screamer | 18:a15bfe7aaebd | 241 | /** |
screamer | 18:a15bfe7aaebd | 242 | * @brief Device Identification value. |
screamer | 18:a15bfe7aaebd | 243 | */ |
screamer | 18:a15bfe7aaebd | 244 | #define HTS221_WHO_AM_I_VAL (uint8_t)0xBC |
screamer | 18:a15bfe7aaebd | 245 | |
screamer | 18:a15bfe7aaebd | 246 | |
screamer | 18:a15bfe7aaebd | 247 | /** |
screamer | 18:a15bfe7aaebd | 248 | * @brief Humidity and temperature average mode register. |
screamer | 18:a15bfe7aaebd | 249 | * \code |
screamer | 18:a15bfe7aaebd | 250 | * Read/write |
screamer | 18:a15bfe7aaebd | 251 | * Default value: 0x1B |
screamer | 18:a15bfe7aaebd | 252 | * 7:6 Reserved. |
screamer | 18:a15bfe7aaebd | 253 | * 5:3 AVGT2-AVGT1-AVGT0: Select the temperature internal average. |
screamer | 18:a15bfe7aaebd | 254 | * |
screamer | 18:a15bfe7aaebd | 255 | * AVGT2 | AVGT1 | AVGT0 | Nr. Internal Average |
screamer | 18:a15bfe7aaebd | 256 | * ---------------------------------------------------- |
screamer | 18:a15bfe7aaebd | 257 | * 0 | 0 | 0 | 2 |
screamer | 18:a15bfe7aaebd | 258 | * 0 | 0 | 1 | 4 |
screamer | 18:a15bfe7aaebd | 259 | * 0 | 1 | 0 | 8 |
screamer | 18:a15bfe7aaebd | 260 | * 0 | 1 | 1 | 16 |
screamer | 18:a15bfe7aaebd | 261 | * 1 | 0 | 0 | 32 |
screamer | 18:a15bfe7aaebd | 262 | * 1 | 0 | 1 | 64 |
screamer | 18:a15bfe7aaebd | 263 | * 1 | 1 | 0 | 128 |
screamer | 18:a15bfe7aaebd | 264 | * 1 | 1 | 1 | 256 |
screamer | 18:a15bfe7aaebd | 265 | * |
screamer | 18:a15bfe7aaebd | 266 | * 2:0 AVGH2-AVGH1-AVGH0: Select humidity internal average. |
screamer | 18:a15bfe7aaebd | 267 | * AVGH2 | AVGH1 | AVGH0 | Nr. Internal Average |
screamer | 18:a15bfe7aaebd | 268 | * ------------------------------------------------------ |
screamer | 18:a15bfe7aaebd | 269 | * 0 | 0 | 0 | 4 |
screamer | 18:a15bfe7aaebd | 270 | * 0 | 0 | 1 | 8 |
screamer | 18:a15bfe7aaebd | 271 | * 0 | 1 | 0 | 16 |
screamer | 18:a15bfe7aaebd | 272 | * 0 | 1 | 1 | 32 |
screamer | 18:a15bfe7aaebd | 273 | * 1 | 0 | 0 | 64 |
screamer | 18:a15bfe7aaebd | 274 | * 1 | 0 | 1 | 128 |
screamer | 18:a15bfe7aaebd | 275 | * 1 | 1 | 0 | 256 |
screamer | 18:a15bfe7aaebd | 276 | * 1 | 1 | 1 | 512 |
screamer | 18:a15bfe7aaebd | 277 | * |
screamer | 18:a15bfe7aaebd | 278 | * \endcode |
screamer | 18:a15bfe7aaebd | 279 | */ |
screamer | 18:a15bfe7aaebd | 280 | #define HTS221_AV_CONF_REG (uint8_t)0x10 |
screamer | 18:a15bfe7aaebd | 281 | |
screamer | 18:a15bfe7aaebd | 282 | #define HTS221_AVGT_BIT HTS221_BIT(3) |
screamer | 18:a15bfe7aaebd | 283 | #define HTS221_AVGH_BIT HTS221_BIT(0) |
screamer | 18:a15bfe7aaebd | 284 | |
screamer | 18:a15bfe7aaebd | 285 | #define HTS221_AVGH_MASK (uint8_t)0x07 |
screamer | 18:a15bfe7aaebd | 286 | #define HTS221_AVGT_MASK (uint8_t)0x38 |
screamer | 18:a15bfe7aaebd | 287 | |
screamer | 18:a15bfe7aaebd | 288 | /** |
screamer | 18:a15bfe7aaebd | 289 | * @brief Control register 1. |
screamer | 18:a15bfe7aaebd | 290 | * \code |
screamer | 18:a15bfe7aaebd | 291 | * Read/write |
screamer | 18:a15bfe7aaebd | 292 | * Default value: 0x00 |
screamer | 18:a15bfe7aaebd | 293 | * 7 PD: power down control. 0 - power down mode; 1 - active mode. |
screamer | 18:a15bfe7aaebd | 294 | * 6:3 Reserved. |
screamer | 18:a15bfe7aaebd | 295 | * 2 BDU: block data update. 0 - continuous update; 1 - output registers not updated until MSB and LSB reading. |
screamer | 18:a15bfe7aaebd | 296 | * 1:0 ODR1, ODR0: output data rate selection. |
screamer | 18:a15bfe7aaebd | 297 | * |
screamer | 18:a15bfe7aaebd | 298 | * ODR1 | ODR0 | Humidity output data-rate(Hz) | Pressure output data-rate(Hz) |
screamer | 18:a15bfe7aaebd | 299 | * ---------------------------------------------------------------------------------- |
screamer | 18:a15bfe7aaebd | 300 | * 0 | 0 | one shot | one shot |
screamer | 18:a15bfe7aaebd | 301 | * 0 | 1 | 1 | 1 |
screamer | 18:a15bfe7aaebd | 302 | * 1 | 0 | 7 | 7 |
screamer | 18:a15bfe7aaebd | 303 | * 1 | 1 | 12.5 | 12.5 |
screamer | 18:a15bfe7aaebd | 304 | * |
screamer | 18:a15bfe7aaebd | 305 | * \endcode |
screamer | 18:a15bfe7aaebd | 306 | */ |
screamer | 18:a15bfe7aaebd | 307 | #define HTS221_CTRL_REG1 (uint8_t)0x20 |
screamer | 18:a15bfe7aaebd | 308 | |
screamer | 18:a15bfe7aaebd | 309 | #define HTS221_PD_BIT HTS221_BIT(7) |
screamer | 18:a15bfe7aaebd | 310 | #define HTS221_BDU_BIT HTS221_BIT(2) |
screamer | 18:a15bfe7aaebd | 311 | #define HTS221_ODR_BIT HTS221_BIT(0) |
screamer | 18:a15bfe7aaebd | 312 | |
screamer | 18:a15bfe7aaebd | 313 | #define HTS221_PD_MASK (uint8_t)0x80 |
screamer | 18:a15bfe7aaebd | 314 | #define HTS221_BDU_MASK (uint8_t)0x04 |
screamer | 18:a15bfe7aaebd | 315 | #define HTS221_ODR_MASK (uint8_t)0x03 |
screamer | 18:a15bfe7aaebd | 316 | |
screamer | 18:a15bfe7aaebd | 317 | /** |
screamer | 18:a15bfe7aaebd | 318 | * @brief Control register 2. |
screamer | 18:a15bfe7aaebd | 319 | * \code |
screamer | 18:a15bfe7aaebd | 320 | * Read/write |
screamer | 18:a15bfe7aaebd | 321 | * Default value: 0x00 |
screamer | 18:a15bfe7aaebd | 322 | * 7 BOOT: Reboot memory content. 0: normal mode; 1: reboot memory content. Self-cleared upon completation. |
screamer | 18:a15bfe7aaebd | 323 | * 6:2 Reserved. |
screamer | 18:a15bfe7aaebd | 324 | * 1 HEATHER: 0: heater enable; 1: heater disable. |
screamer | 18:a15bfe7aaebd | 325 | * 0 ONE_SHOT: 0: waiting for start of conversion; 1: start for a new dataset. Self-cleared upon completation. |
screamer | 18:a15bfe7aaebd | 326 | * \endcode |
screamer | 18:a15bfe7aaebd | 327 | */ |
screamer | 18:a15bfe7aaebd | 328 | #define HTS221_CTRL_REG2 (uint8_t)0x21 |
screamer | 18:a15bfe7aaebd | 329 | |
screamer | 18:a15bfe7aaebd | 330 | #define HTS221_BOOT_BIT HTS221_BIT(7) |
screamer | 18:a15bfe7aaebd | 331 | #define HTS221_HEATHER_BIT HTS221_BIT(1) |
screamer | 18:a15bfe7aaebd | 332 | #define HTS221_ONESHOT_BIT HTS221_BIT(0) |
screamer | 18:a15bfe7aaebd | 333 | |
screamer | 18:a15bfe7aaebd | 334 | #define HTS221_BOOT_MASK (uint8_t)0x80 |
screamer | 18:a15bfe7aaebd | 335 | #define HTS221_HEATHER_MASK (uint8_t)0x02 |
screamer | 18:a15bfe7aaebd | 336 | #define HTS221_ONE_SHOT_MASK (uint8_t)0x01 |
screamer | 18:a15bfe7aaebd | 337 | |
screamer | 18:a15bfe7aaebd | 338 | /** |
screamer | 18:a15bfe7aaebd | 339 | * @brief Control register 3. |
screamer | 18:a15bfe7aaebd | 340 | * \code |
screamer | 18:a15bfe7aaebd | 341 | * Read/write |
screamer | 18:a15bfe7aaebd | 342 | * Default value: 0x00 |
screamer | 18:a15bfe7aaebd | 343 | * 7 DRDY_H_L: Interrupt edge. 0: active high, 1: active low. |
screamer | 18:a15bfe7aaebd | 344 | * 6 PP_OD: Push-Pull/OpenDrain selection on interrupt pads. 0: push-pull; 1: open drain. |
screamer | 18:a15bfe7aaebd | 345 | * 5:3 Reserved. |
screamer | 18:a15bfe7aaebd | 346 | * 2 DRDY: interrupt config. 0: disable, 1: enable. |
screamer | 18:a15bfe7aaebd | 347 | * \endcode |
screamer | 18:a15bfe7aaebd | 348 | */ |
screamer | 18:a15bfe7aaebd | 349 | #define HTS221_CTRL_REG3 (uint8_t)0x22 |
screamer | 18:a15bfe7aaebd | 350 | |
screamer | 18:a15bfe7aaebd | 351 | #define HTS221_DRDY_H_L_BIT HTS221_BIT(7) |
screamer | 18:a15bfe7aaebd | 352 | #define HTS221_PP_OD_BIT HTS221_BIT(6) |
screamer | 18:a15bfe7aaebd | 353 | #define HTS221_DRDY_BIT HTS221_BIT(2) |
screamer | 18:a15bfe7aaebd | 354 | |
screamer | 18:a15bfe7aaebd | 355 | #define HTS221_DRDY_H_L_MASK (uint8_t)0x80 |
screamer | 18:a15bfe7aaebd | 356 | #define HTS221_PP_OD_MASK (uint8_t)0x40 |
screamer | 18:a15bfe7aaebd | 357 | #define HTS221_DRDY_MASK (uint8_t)0x04 |
screamer | 18:a15bfe7aaebd | 358 | |
screamer | 18:a15bfe7aaebd | 359 | /** |
screamer | 18:a15bfe7aaebd | 360 | * @brief Status register. |
screamer | 18:a15bfe7aaebd | 361 | * \code |
screamer | 18:a15bfe7aaebd | 362 | * Read |
screamer | 18:a15bfe7aaebd | 363 | * Default value: 0x00 |
screamer | 18:a15bfe7aaebd | 364 | * 7:2 Reserved. |
screamer | 18:a15bfe7aaebd | 365 | * 1 H_DA: Humidity data available. 0: new data for humidity is not yet available; 1: new data for humidity is available. |
screamer | 18:a15bfe7aaebd | 366 | * 0 T_DA: Temperature data available. 0: new data for temperature is not yet available; 1: new data for temperature is available. |
screamer | 18:a15bfe7aaebd | 367 | * \endcode |
screamer | 18:a15bfe7aaebd | 368 | */ |
screamer | 18:a15bfe7aaebd | 369 | #define HTS221_STATUS_REG (uint8_t)0x27 |
screamer | 18:a15bfe7aaebd | 370 | |
screamer | 18:a15bfe7aaebd | 371 | #define HTS221_H_DA_BIT HTS221_BIT(1) |
screamer | 18:a15bfe7aaebd | 372 | #define HTS221_T_DA_BIT HTS221_BIT(0) |
screamer | 18:a15bfe7aaebd | 373 | |
screamer | 18:a15bfe7aaebd | 374 | #define HTS221_HDA_MASK (uint8_t)0x02 |
screamer | 18:a15bfe7aaebd | 375 | #define HTS221_TDA_MASK (uint8_t)0x01 |
screamer | 18:a15bfe7aaebd | 376 | |
screamer | 18:a15bfe7aaebd | 377 | /** |
screamer | 18:a15bfe7aaebd | 378 | * @brief Humidity data (LSB). |
screamer | 18:a15bfe7aaebd | 379 | * \code |
screamer | 18:a15bfe7aaebd | 380 | * Read |
screamer | 18:a15bfe7aaebd | 381 | * Default value: 0x00. |
screamer | 18:a15bfe7aaebd | 382 | * HOUT7 - HOUT0: Humidity data LSB (2's complement). |
screamer | 18:a15bfe7aaebd | 383 | * \endcode |
screamer | 18:a15bfe7aaebd | 384 | */ |
screamer | 18:a15bfe7aaebd | 385 | #define HTS221_HR_OUT_L_REG (uint8_t)0x28 |
screamer | 18:a15bfe7aaebd | 386 | |
screamer | 18:a15bfe7aaebd | 387 | /** |
screamer | 18:a15bfe7aaebd | 388 | * @brief Humidity data (MSB). |
screamer | 18:a15bfe7aaebd | 389 | * \code |
screamer | 18:a15bfe7aaebd | 390 | * Read |
screamer | 18:a15bfe7aaebd | 391 | * Default value: 0x00. |
screamer | 18:a15bfe7aaebd | 392 | * HOUT15 - HOUT8: Humidity data MSB (2's complement). |
screamer | 18:a15bfe7aaebd | 393 | * \endcode |
screamer | 18:a15bfe7aaebd | 394 | */ |
screamer | 18:a15bfe7aaebd | 395 | #define HTS221_HR_OUT_H_REG (uint8_t)0x29 |
screamer | 18:a15bfe7aaebd | 396 | |
screamer | 18:a15bfe7aaebd | 397 | |
screamer | 18:a15bfe7aaebd | 398 | /** |
screamer | 18:a15bfe7aaebd | 399 | * @brief Temperature data (LSB). |
screamer | 18:a15bfe7aaebd | 400 | * \code |
screamer | 18:a15bfe7aaebd | 401 | * Read |
screamer | 18:a15bfe7aaebd | 402 | * Default value: 0x00. |
screamer | 18:a15bfe7aaebd | 403 | * TOUT7 - TOUT0: temperature data LSB. |
screamer | 18:a15bfe7aaebd | 404 | * \endcode |
screamer | 18:a15bfe7aaebd | 405 | */ |
screamer | 18:a15bfe7aaebd | 406 | #define HTS221_TEMP_OUT_L_REG (uint8_t)0x2A |
screamer | 18:a15bfe7aaebd | 407 | |
screamer | 18:a15bfe7aaebd | 408 | /** |
screamer | 18:a15bfe7aaebd | 409 | * @brief Temperature data (MSB). |
screamer | 18:a15bfe7aaebd | 410 | * \code |
screamer | 18:a15bfe7aaebd | 411 | * Read |
screamer | 18:a15bfe7aaebd | 412 | * Default value: 0x00. |
screamer | 18:a15bfe7aaebd | 413 | * TOUT15 - TOUT8: temperature data MSB. |
screamer | 18:a15bfe7aaebd | 414 | * \endcode |
screamer | 18:a15bfe7aaebd | 415 | */ |
screamer | 18:a15bfe7aaebd | 416 | #define HTS221_TEMP_OUT_H_REG (uint8_t)0x2B |
screamer | 18:a15bfe7aaebd | 417 | |
screamer | 18:a15bfe7aaebd | 418 | /** |
screamer | 18:a15bfe7aaebd | 419 | * @brief Calibration registers. |
screamer | 18:a15bfe7aaebd | 420 | * \code |
screamer | 18:a15bfe7aaebd | 421 | * Read |
screamer | 18:a15bfe7aaebd | 422 | * \endcode |
screamer | 18:a15bfe7aaebd | 423 | */ |
screamer | 18:a15bfe7aaebd | 424 | #define HTS221_H0_RH_X2 (uint8_t)0x30 |
screamer | 18:a15bfe7aaebd | 425 | #define HTS221_H1_RH_X2 (uint8_t)0x31 |
screamer | 18:a15bfe7aaebd | 426 | #define HTS221_T0_DEGC_X8 (uint8_t)0x32 |
screamer | 18:a15bfe7aaebd | 427 | #define HTS221_T1_DEGC_X8 (uint8_t)0x33 |
screamer | 18:a15bfe7aaebd | 428 | #define HTS221_T0_T1_DEGC_H2 (uint8_t)0x35 |
screamer | 18:a15bfe7aaebd | 429 | #define HTS221_H0_T0_OUT_L (uint8_t)0x36 |
screamer | 18:a15bfe7aaebd | 430 | #define HTS221_H0_T0_OUT_H (uint8_t)0x37 |
screamer | 18:a15bfe7aaebd | 431 | #define HTS221_H1_T0_OUT_L (uint8_t)0x3A |
screamer | 18:a15bfe7aaebd | 432 | #define HTS221_H1_T0_OUT_H (uint8_t)0x3B |
screamer | 18:a15bfe7aaebd | 433 | #define HTS221_T0_OUT_L (uint8_t)0x3C |
screamer | 18:a15bfe7aaebd | 434 | #define HTS221_T0_OUT_H (uint8_t)0x3D |
screamer | 18:a15bfe7aaebd | 435 | #define HTS221_T1_OUT_L (uint8_t)0x3E |
screamer | 18:a15bfe7aaebd | 436 | #define HTS221_T1_OUT_H (uint8_t)0x3F |
screamer | 18:a15bfe7aaebd | 437 | |
screamer | 18:a15bfe7aaebd | 438 | |
screamer | 18:a15bfe7aaebd | 439 | /** |
screamer | 18:a15bfe7aaebd | 440 | * @} |
screamer | 18:a15bfe7aaebd | 441 | */ |
screamer | 18:a15bfe7aaebd | 442 | |
screamer | 18:a15bfe7aaebd | 443 | |
screamer | 18:a15bfe7aaebd | 444 | /** |
screamer | 18:a15bfe7aaebd | 445 | * @} |
screamer | 18:a15bfe7aaebd | 446 | */ |
screamer | 18:a15bfe7aaebd | 447 | |
screamer | 18:a15bfe7aaebd | 448 | |
screamer | 18:a15bfe7aaebd | 449 | /* Exported Functions -------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 450 | /** @defgroup HTS221_Exported_Functions |
screamer | 18:a15bfe7aaebd | 451 | * @{ |
screamer | 18:a15bfe7aaebd | 452 | */ |
screamer | 18:a15bfe7aaebd | 453 | |
screamer | 18:a15bfe7aaebd | 454 | HTS221_Error_et HTS221_read_reg( void *handle, uint8_t RegAddr, uint16_t NumByteToRead, uint8_t *Data ); |
screamer | 18:a15bfe7aaebd | 455 | HTS221_Error_et HTS221_write_reg( void *handle, uint8_t RegAddr, uint16_t NumByteToWrite, uint8_t *Data ); |
screamer | 18:a15bfe7aaebd | 456 | |
screamer | 18:a15bfe7aaebd | 457 | HTS221_Error_et HTS221_Get_DriverVersion(HTS221_DriverVersion_st* version); |
screamer | 18:a15bfe7aaebd | 458 | HTS221_Error_et HTS221_Get_DeviceID(void *handle, uint8_t* deviceid); |
screamer | 18:a15bfe7aaebd | 459 | |
screamer | 18:a15bfe7aaebd | 460 | HTS221_Error_et HTS221_Set_InitConfig(void *handle, HTS221_Init_st* pxInit); |
screamer | 18:a15bfe7aaebd | 461 | HTS221_Error_et HTS221_Get_InitConfig(void *handle, HTS221_Init_st* pxInit); |
screamer | 18:a15bfe7aaebd | 462 | HTS221_Error_et HTS221_DeInit(void *handle); |
screamer | 18:a15bfe7aaebd | 463 | HTS221_Error_et HTS221_IsMeasurementCompleted(void *handle, HTS221_BitStatus_et* Is_Measurement_Completed); |
screamer | 18:a15bfe7aaebd | 464 | |
screamer | 18:a15bfe7aaebd | 465 | HTS221_Error_et HTS221_Get_Measurement(void *handle, uint16_t* humidity, int16_t* temperature); |
screamer | 18:a15bfe7aaebd | 466 | HTS221_Error_et HTS221_Get_RawMeasurement(void *handle, int16_t* humidity, int16_t* temperature); |
screamer | 18:a15bfe7aaebd | 467 | HTS221_Error_et HTS221_Get_Humidity(void *handle, uint16_t* value); |
screamer | 18:a15bfe7aaebd | 468 | HTS221_Error_et HTS221_Get_HumidityRaw(void *handle, int16_t* value); |
screamer | 18:a15bfe7aaebd | 469 | HTS221_Error_et HTS221_Get_TemperatureRaw(void *handle, int16_t* value); |
screamer | 18:a15bfe7aaebd | 470 | HTS221_Error_et HTS221_Get_Temperature(void *handle, int16_t* value); |
screamer | 18:a15bfe7aaebd | 471 | HTS221_Error_et HTS221_Get_DataStatus(void *handle, HTS221_BitStatus_et* humidity, HTS221_BitStatus_et* temperature); |
screamer | 18:a15bfe7aaebd | 472 | HTS221_Error_et HTS221_Activate(void *handle); |
screamer | 18:a15bfe7aaebd | 473 | HTS221_Error_et HTS221_DeActivate(void *handle); |
screamer | 18:a15bfe7aaebd | 474 | |
screamer | 18:a15bfe7aaebd | 475 | HTS221_Error_et HTS221_Set_AvgHT(void *handle, HTS221_Avgh_et avgh, HTS221_Avgt_et avgt); |
screamer | 18:a15bfe7aaebd | 476 | HTS221_Error_et HTS221_Set_AvgH(void *handle, HTS221_Avgh_et avgh); |
screamer | 18:a15bfe7aaebd | 477 | HTS221_Error_et HTS221_Set_AvgT(void *handle, HTS221_Avgt_et avgt); |
screamer | 18:a15bfe7aaebd | 478 | HTS221_Error_et HTS221_Get_AvgHT(void *handle, HTS221_Avgh_et* avgh, HTS221_Avgt_et* avgt); |
screamer | 18:a15bfe7aaebd | 479 | HTS221_Error_et HTS221_Set_BduMode(void *handle, HTS221_State_et status); |
screamer | 18:a15bfe7aaebd | 480 | HTS221_Error_et HTS221_Get_BduMode(void *handle, HTS221_State_et* status); |
screamer | 18:a15bfe7aaebd | 481 | HTS221_Error_et HTS221_Set_PowerDownMode(void *handle, HTS221_BitStatus_et status); |
screamer | 18:a15bfe7aaebd | 482 | HTS221_Error_et HTS221_Get_PowerDownMode(void *handle, HTS221_BitStatus_et* status); |
screamer | 18:a15bfe7aaebd | 483 | HTS221_Error_et HTS221_Set_Odr(void *handle, HTS221_Odr_et odr); |
screamer | 18:a15bfe7aaebd | 484 | HTS221_Error_et HTS221_Get_Odr(void *handle, HTS221_Odr_et* odr); |
screamer | 18:a15bfe7aaebd | 485 | HTS221_Error_et HTS221_MemoryBoot(void *handle); |
screamer | 18:a15bfe7aaebd | 486 | HTS221_Error_et HTS221_Set_HeaterState(void *handle, HTS221_State_et status); |
screamer | 18:a15bfe7aaebd | 487 | HTS221_Error_et HTS221_Get_HeaterState(void *handle, HTS221_State_et* status); |
screamer | 18:a15bfe7aaebd | 488 | HTS221_Error_et HTS221_StartOneShotMeasurement(void *handle); |
screamer | 18:a15bfe7aaebd | 489 | HTS221_Error_et HTS221_Set_IrqActiveLevel(void *handle, HTS221_DrdyLevel_et status); |
screamer | 18:a15bfe7aaebd | 490 | HTS221_Error_et HTS221_Get_IrqActiveLevel(void *handle, HTS221_DrdyLevel_et* status); |
screamer | 18:a15bfe7aaebd | 491 | HTS221_Error_et HTS221_Set_IrqOutputType(void *handle, HTS221_OutputType_et value); |
screamer | 18:a15bfe7aaebd | 492 | HTS221_Error_et HTS221_Get_IrqOutputType(void *handle, HTS221_OutputType_et* value); |
screamer | 18:a15bfe7aaebd | 493 | HTS221_Error_et HTS221_Set_IrqEnable(void *handle, HTS221_State_et status); |
screamer | 18:a15bfe7aaebd | 494 | HTS221_Error_et HTS221_Get_IrqEnable(void *handle, HTS221_State_et* status); |
screamer | 18:a15bfe7aaebd | 495 | |
screamer | 18:a15bfe7aaebd | 496 | /** |
screamer | 18:a15bfe7aaebd | 497 | * @} |
screamer | 18:a15bfe7aaebd | 498 | */ |
screamer | 18:a15bfe7aaebd | 499 | |
screamer | 18:a15bfe7aaebd | 500 | /** |
screamer | 18:a15bfe7aaebd | 501 | * @} |
screamer | 18:a15bfe7aaebd | 502 | */ |
screamer | 18:a15bfe7aaebd | 503 | |
screamer | 18:a15bfe7aaebd | 504 | /** |
screamer | 18:a15bfe7aaebd | 505 | * @} |
screamer | 18:a15bfe7aaebd | 506 | */ |
screamer | 18:a15bfe7aaebd | 507 | |
screamer | 18:a15bfe7aaebd | 508 | #ifdef __cplusplus |
screamer | 18:a15bfe7aaebd | 509 | } |
screamer | 18:a15bfe7aaebd | 510 | #endif |
screamer | 18:a15bfe7aaebd | 511 | |
screamer | 18:a15bfe7aaebd | 512 | #endif /* __HTS221_DRIVER__H */ |
screamer | 18:a15bfe7aaebd | 513 | |
screamer | 18:a15bfe7aaebd | 514 | /******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/ |