Sailesh Timilsena / Mbed OS Z_IOT_ResearchWork

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HTS221_driver.h Source File

HTS221_driver.h

Go to the documentation of this file.
00001 /**
00002  ******************************************************************************
00003  * @file    HTS221_driver.h
00004  * @author  HESA Application Team
00005  * @version V1.1
00006  * @date    10-August-2016
00007  * @brief   HTS221 driver header file
00008  ******************************************************************************
00009  * @attention
00010  *
00011  * <h2><center>&copy; COPYRIGHT(c) 2016 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 /* Define to prevent recursive inclusion -------------------------------------*/
00039 #ifndef __HTS221_DRIVER__H
00040 #define __HTS221_DRIVER__H
00041 
00042 #include <stdint.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047 
00048 /* Uncomment the line below to expanse the "assert_param" macro in the drivers code */
00049 #define USE_FULL_ASSERT_HTS221
00050 
00051 /* Exported macro ------------------------------------------------------------*/
00052 #ifdef  USE_FULL_ASSERT_HTS221
00053 
00054 /**
00055 * @brief  The assert_param macro is used for function's parameters check.
00056 * @param  expr: If expr is false, it calls assert_failed function which reports
00057 *         the name of the source file and the source line number of the call
00058 *         that failed. If expr is true, it returns no value.
00059 * @retval None
00060 */
00061 #define HTS221_assert_param(expr) ((expr) ? (void)0 : HTS221_assert_failed((uint8_t *)__FILE__, __LINE__))
00062 /* Exported functions ------------------------------------------------------- */
00063 void HTS221_assert_failed(uint8_t* file, uint32_t line);
00064 #else
00065 #define HTS221_assert_param(expr) ((void)0)
00066 #endif /* USE_FULL_ASSERT_HTS221 */
00067 
00068 /** @addtogroup Environmental_Sensor
00069 * @{
00070 */
00071 
00072 /** @addtogroup HTS221_DRIVER
00073 * @{
00074 */
00075 
00076 /* Exported Types -------------------------------------------------------------*/
00077 /** @defgroup HTS221_Exported_Types
00078 * @{
00079 */
00080 
00081 
00082 /**
00083 * @brief  Error code type.
00084 */
00085 typedef enum {HTS221_OK = (uint8_t)0, HTS221_ERROR = !HTS221_OK} HTS221_Error_et;
00086 
00087 /**
00088 * @brief  State type.
00089 */
00090 typedef enum {HTS221_DISABLE = (uint8_t)0, HTS221_ENABLE = !HTS221_DISABLE} HTS221_State_et;
00091 #define IS_HTS221_State(MODE) ((MODE == HTS221_ENABLE) || (MODE == HTS221_DISABLE))
00092 
00093 /**
00094 * @brief  Bit status type.
00095 */
00096 typedef enum {HTS221_RESET = (uint8_t)0, HTS221_SET = !HTS221_RESET} HTS221_BitStatus_et;
00097 #define IS_HTS221_BitStatus(MODE) ((MODE == HTS221_RESET) || (MODE == HTS221_SET))
00098 
00099 /**
00100 * @brief  Humidity average.
00101 */
00102 typedef enum
00103 {
00104   HTS221_AVGH_4          = (uint8_t)0x00,         /*!< Internal average on 4 samples */
00105   HTS221_AVGH_8          = (uint8_t)0x01,         /*!< Internal average on 8 samples */
00106   HTS221_AVGH_16         = (uint8_t)0x02,         /*!< Internal average on 16 samples */
00107   HTS221_AVGH_32         = (uint8_t)0x03,         /*!< Internal average on 32 samples */
00108   HTS221_AVGH_64         = (uint8_t)0x04,         /*!< Internal average on 64 samples */
00109   HTS221_AVGH_128        = (uint8_t)0x05,         /*!< Internal average on 128 samples */
00110   HTS221_AVGH_256        = (uint8_t)0x06,         /*!< Internal average on 256 samples */
00111   HTS221_AVGH_512        = (uint8_t)0x07          /*!< Internal average on 512 samples */
00112 } HTS221_Avgh_et;
00113 #define IS_HTS221_AVGH(AVGH) ((AVGH == HTS221_AVGH_4) || (AVGH == HTS221_AVGH_8) || \
00114                               (AVGH == HTS221_AVGH_16) || (AVGH == HTS221_AVGH_32) || \
00115                               (AVGH == HTS221_AVGH_64) || (AVGH == HTS221_AVGH_128) || \
00116                               (AVGH == HTS221_AVGH_256) || (AVGH == HTS221_AVGH_512))
00117 
00118 /**
00119 * @brief  Temperature average.
00120 */
00121 typedef enum
00122 {
00123   HTS221_AVGT_2          = (uint8_t)0x00,        /*!< Internal average on 2 samples */
00124   HTS221_AVGT_4          = (uint8_t)0x08,        /*!< Internal average on 4 samples */
00125   HTS221_AVGT_8          = (uint8_t)0x10,        /*!< Internal average on 8 samples */
00126   HTS221_AVGT_16         = (uint8_t)0x18,        /*!< Internal average on 16 samples */
00127   HTS221_AVGT_32         = (uint8_t)0x20,        /*!< Internal average on 32 samples */
00128   HTS221_AVGT_64         = (uint8_t)0x28,        /*!< Internal average on 64 samples */
00129   HTS221_AVGT_128        = (uint8_t)0x30,        /*!< Internal average on 128 samples */
00130   HTS221_AVGT_256        = (uint8_t)0x38         /*!< Internal average on 256 samples */
00131 } HTS221_Avgt_et;
00132 #define IS_HTS221_AVGT(AVGT) ((AVGT == HTS221_AVGT_2) || (AVGT == HTS221_AVGT_4) || \
00133                               (AVGT == HTS221_AVGT_8) || (AVGT == HTS221_AVGT_16) || \
00134                               (AVGT == HTS221_AVGT_32) || (AVGT == HTS221_AVGT_64) || \
00135                               (AVGT == HTS221_AVGT_128) || (AVGT == HTS221_AVGT_256))
00136 
00137 /**
00138 * @brief  Output data rate configuration.
00139 */
00140 typedef enum
00141 {
00142   HTS221_ODR_ONE_SHOT   = (uint8_t)0x00,         /*!< Output Data Rate: one shot */
00143   HTS221_ODR_1HZ        = (uint8_t)0x01,         /*!< Output Data Rate: 1Hz */
00144   HTS221_ODR_7HZ        = (uint8_t)0x02,         /*!< Output Data Rate: 7Hz */
00145   HTS221_ODR_12_5HZ     = (uint8_t)0x03,         /*!< Output Data Rate: 12.5Hz */
00146 } HTS221_Odr_et;
00147 #define IS_HTS221_ODR(ODR) ((ODR == HTS221_ODR_ONE_SHOT) || (ODR == HTS221_ODR_1HZ) || \
00148                             (ODR == HTS221_ODR_7HZ) || (ODR == HTS221_ODR_12_5HZ))
00149 
00150 
00151 /**
00152 * @brief  Push-pull/Open Drain selection on DRDY pin.
00153 */
00154 typedef enum
00155 {
00156   HTS221_PUSHPULL    = (uint8_t)0x00,   /*!< DRDY pin in push pull */
00157   HTS221_OPENDRAIN   = (uint8_t)0x40    /*!< DRDY pin in open drain */
00158 } HTS221_OutputType_et;
00159 #define IS_HTS221_OutputType(MODE) ((MODE == HTS221_PUSHPULL) || (MODE == HTS221_OPENDRAIN))
00160 
00161 /**
00162 * @brief  Active level of DRDY pin.
00163 */
00164 typedef enum
00165 {
00166   HTS221_HIGH_LVL    = (uint8_t)0x00,   /*!< HIGH state level for DRDY pin */
00167   HTS221_LOW_LVL     = (uint8_t)0x80    /*!< LOW state level for DRDY pin */
00168 } HTS221_DrdyLevel_et;
00169 #define IS_HTS221_DrdyLevelType(MODE) ((MODE == HTS221_HIGH_LVL) || (MODE == HTS221_LOW_LVL))
00170 
00171 /**
00172 * @brief  Driver Version Info structure definition.
00173 */
00174 typedef struct
00175 {
00176   uint8_t   Major;
00177   uint8_t   Minor;
00178   uint8_t   Point;
00179 } HTS221_DriverVersion_st;
00180 
00181 
00182 /**
00183 * @brief  HTS221 Init structure definition.
00184 */
00185 typedef struct
00186 {
00187   HTS221_Avgh_et        avg_h ;            /*!< Humidity average */
00188   HTS221_Avgt_et        avg_t ;            /*!< Temperature average */
00189   HTS221_Odr_et         odr ;              /*!< Output data rate */
00190   HTS221_State_et       bdu_status ;       /*!< HTS221_ENABLE/HTS221_DISABLE the block data update */
00191   HTS221_State_et       heater_status ;    /*!< HTS221_ENABLE/HTS221_DISABLE the internal heater */
00192 
00193   HTS221_DrdyLevel_et   irq_level ;        /*!< HTS221_HIGH_LVL/HTS221_LOW_LVL the level for DRDY pin */
00194   HTS221_OutputType_et  irq_output_type ;  /*!< Output configuration for DRDY pin */
00195   HTS221_State_et       irq_enable ;       /*!< HTS221_ENABLE/HTS221_DISABLE interrupt on DRDY pin */
00196 } HTS221_Init_st;
00197 
00198 /**
00199 * @}
00200 */
00201 
00202 
00203 /* Exported Constants ---------------------------------------------------------*/
00204 /** @defgroup HTS221_Exported_Constants
00205 * @{
00206 */
00207 
00208 /**
00209 * @brief  Bitfield positioning.
00210 */
00211 #define HTS221_BIT(x) ((uint8_t)x)
00212 
00213 /**
00214 * @brief  I2C address.
00215 */
00216 #define HTS221_I2C_ADDRESS  (uint8_t)0xBE
00217 
00218 /**
00219 * @brief  Driver version.
00220 */
00221 #define HTS221_DRIVER_VERSION_MAJOR (uint8_t)1
00222 #define HTS221_DRIVER_VERSION_MINOR (uint8_t)1
00223 #define HTS221_DRIVER_VERSION_POINT (uint8_t)0
00224 
00225 /**
00226 * @addtogroup HTS221_Registers
00227 * @{
00228 */
00229 
00230 
00231 /**
00232 * @brief Device Identification register.
00233 * \code
00234 * Read
00235 * Default value: 0xBC
00236 * 7:0 This read-only register contains the device identifier for HTS221.
00237 * \endcode
00238 */
00239 #define HTS221_WHO_AM_I_REG          (uint8_t)0x0F
00240 
00241 /**
00242 * @brief Device Identification value.
00243 */
00244 #define HTS221_WHO_AM_I_VAL         (uint8_t)0xBC
00245 
00246 
00247 /**
00248 * @brief Humidity and temperature average mode register.
00249 * \code
00250 * Read/write
00251 * Default value: 0x1B
00252 * 7:6 Reserved.
00253 * 5:3 AVGT2-AVGT1-AVGT0: Select the temperature internal average.
00254 *
00255 *      AVGT2 | AVGT1 | AVGT0 | Nr. Internal Average
00256 *   ----------------------------------------------------
00257 *       0    |   0   |   0   |    2
00258 *       0    |   0   |   1   |    4
00259 *       0    |   1   |   0   |    8
00260 *       0    |   1   |   1   |    16
00261 *       1    |   0   |   0   |    32
00262 *       1    |   0   |   1   |    64
00263 *       1    |   1   |   0   |    128
00264 *       1    |   1   |   1   |    256
00265 *
00266 * 2:0 AVGH2-AVGH1-AVGH0: Select humidity internal average.
00267 *      AVGH2 | AVGH1 |  AVGH0 | Nr. Internal Average
00268 *   ------------------------------------------------------
00269 *       0    |   0   |   0   |    4
00270 *       0    |   0   |   1   |    8
00271 *       0    |   1   |   0   |    16
00272 *       0    |   1   |   1   |    32
00273 *       1    |   0   |   0   |    64
00274 *       1    |   0   |   1   |    128
00275 *       1    |   1   |   0   |    256
00276 *       1    |   1   |   1   |    512
00277 *
00278 * \endcode
00279 */
00280 #define HTS221_AV_CONF_REG        (uint8_t)0x10
00281 
00282 #define HTS221_AVGT_BIT           HTS221_BIT(3)
00283 #define HTS221_AVGH_BIT           HTS221_BIT(0)
00284 
00285 #define HTS221_AVGH_MASK          (uint8_t)0x07
00286 #define HTS221_AVGT_MASK          (uint8_t)0x38
00287 
00288 /**
00289 * @brief Control register 1.
00290 * \code
00291 * Read/write
00292 * Default value: 0x00
00293 * 7 PD: power down control. 0 - power down mode; 1 - active mode.
00294 * 6:3 Reserved.
00295 * 2 BDU: block data update. 0 - continuous update; 1 - output registers not updated until MSB and LSB reading.
00296 * 1:0 ODR1, ODR0: output data rate selection.
00297 *
00298 *   ODR1  | ODR0  | Humidity output data-rate(Hz)  | Pressure output data-rate(Hz)
00299 *   ----------------------------------------------------------------------------------
00300 *     0   |   0   |         one shot               |         one shot
00301 *     0   |   1   |            1                   |            1
00302 *     1   |   0   |            7                   |            7
00303 *     1   |   1   |           12.5                 |           12.5
00304 *
00305 * \endcode
00306 */
00307 #define HTS221_CTRL_REG1      (uint8_t)0x20
00308 
00309 #define HTS221_PD_BIT          HTS221_BIT(7)
00310 #define HTS221_BDU_BIT         HTS221_BIT(2)
00311 #define HTS221_ODR_BIT         HTS221_BIT(0)
00312 
00313 #define HTS221_PD_MASK        (uint8_t)0x80
00314 #define HTS221_BDU_MASK       (uint8_t)0x04
00315 #define HTS221_ODR_MASK       (uint8_t)0x03
00316 
00317 /**
00318 * @brief Control register 2.
00319 * \code
00320 * Read/write
00321 * Default value: 0x00
00322 * 7 BOOT:  Reboot memory content. 0: normal mode; 1: reboot memory content. Self-cleared upon completation.
00323 * 6:2 Reserved.
00324 * 1 HEATHER: 0: heater enable; 1: heater disable.
00325 * 0 ONE_SHOT: 0: waiting for start of conversion; 1: start for a new dataset. Self-cleared upon completation.
00326 * \endcode
00327 */
00328 #define HTS221_CTRL_REG2      (uint8_t)0x21
00329 
00330 #define HTS221_BOOT_BIT        HTS221_BIT(7)
00331 #define HTS221_HEATHER_BIT     HTS221_BIT(1)
00332 #define HTS221_ONESHOT_BIT     HTS221_BIT(0)
00333 
00334 #define HTS221_BOOT_MASK      (uint8_t)0x80
00335 #define HTS221_HEATHER_MASK   (uint8_t)0x02
00336 #define HTS221_ONE_SHOT_MASK  (uint8_t)0x01
00337 
00338 /**
00339 * @brief Control register 3.
00340 * \code
00341 * Read/write
00342 * Default value: 0x00
00343 * 7 DRDY_H_L: Interrupt edge. 0: active high, 1: active low.
00344 * 6 PP_OD: Push-Pull/OpenDrain selection on interrupt pads. 0: push-pull; 1: open drain.
00345 * 5:3 Reserved.
00346 * 2 DRDY: interrupt config. 0: disable, 1: enable.
00347 * \endcode
00348 */
00349 #define HTS221_CTRL_REG3      (uint8_t)0x22
00350 
00351 #define HTS221_DRDY_H_L_BIT    HTS221_BIT(7)
00352 #define HTS221_PP_OD_BIT       HTS221_BIT(6)
00353 #define HTS221_DRDY_BIT        HTS221_BIT(2)
00354 
00355 #define HTS221_DRDY_H_L_MASK  (uint8_t)0x80
00356 #define HTS221_PP_OD_MASK     (uint8_t)0x40
00357 #define HTS221_DRDY_MASK      (uint8_t)0x04
00358 
00359 /**
00360 * @brief  Status register.
00361 * \code
00362 * Read
00363 * Default value: 0x00
00364 * 7:2 Reserved.
00365 * 1 H_DA: Humidity data available. 0: new data for humidity is not yet available; 1: new data for humidity is available.
00366 * 0 T_DA: Temperature data available. 0: new data for temperature is not yet available; 1: new data for temperature is available.
00367 * \endcode
00368 */
00369 #define HTS221_STATUS_REG    (uint8_t)0x27
00370 
00371 #define HTS221_H_DA_BIT       HTS221_BIT(1)
00372 #define HTS221_T_DA_BIT       HTS221_BIT(0)
00373 
00374 #define HTS221_HDA_MASK      (uint8_t)0x02
00375 #define HTS221_TDA_MASK      (uint8_t)0x01
00376 
00377 /**
00378 * @brief  Humidity data (LSB).
00379 * \code
00380 * Read
00381 * Default value: 0x00.
00382 * HOUT7 - HOUT0: Humidity data LSB (2's complement).
00383 * \endcode
00384 */
00385 #define HTS221_HR_OUT_L_REG        (uint8_t)0x28
00386 
00387 /**
00388 * @brief  Humidity data (MSB).
00389 * \code
00390 * Read
00391 * Default value: 0x00.
00392 * HOUT15 - HOUT8: Humidity data MSB (2's complement).
00393 * \endcode
00394 */
00395 #define HTS221_HR_OUT_H_REG        (uint8_t)0x29
00396 
00397 
00398 /**
00399 * @brief  Temperature data (LSB).
00400 * \code
00401 * Read
00402 * Default value: 0x00.
00403 * TOUT7 - TOUT0: temperature data LSB.
00404 * \endcode
00405 */
00406 #define HTS221_TEMP_OUT_L_REG         (uint8_t)0x2A
00407 
00408 /**
00409 * @brief  Temperature data (MSB).
00410 * \code
00411 * Read
00412 * Default value: 0x00.
00413 * TOUT15 - TOUT8: temperature data MSB.
00414 * \endcode
00415 */
00416 #define HTS221_TEMP_OUT_H_REG         (uint8_t)0x2B
00417 
00418 /**
00419 * @brief  Calibration registers.
00420 * \code
00421 * Read
00422 * \endcode
00423 */
00424 #define HTS221_H0_RH_X2        (uint8_t)0x30
00425 #define HTS221_H1_RH_X2        (uint8_t)0x31
00426 #define HTS221_T0_DEGC_X8      (uint8_t)0x32
00427 #define HTS221_T1_DEGC_X8      (uint8_t)0x33
00428 #define HTS221_T0_T1_DEGC_H2   (uint8_t)0x35
00429 #define HTS221_H0_T0_OUT_L     (uint8_t)0x36
00430 #define HTS221_H0_T0_OUT_H     (uint8_t)0x37
00431 #define HTS221_H1_T0_OUT_L     (uint8_t)0x3A
00432 #define HTS221_H1_T0_OUT_H     (uint8_t)0x3B
00433 #define HTS221_T0_OUT_L        (uint8_t)0x3C
00434 #define HTS221_T0_OUT_H        (uint8_t)0x3D
00435 #define HTS221_T1_OUT_L        (uint8_t)0x3E
00436 #define HTS221_T1_OUT_H        (uint8_t)0x3F
00437 
00438 
00439 /**
00440 * @}
00441 */
00442 
00443 
00444 /**
00445 * @}
00446 */
00447 
00448 
00449 /* Exported Functions -------------------------------------------------------------*/
00450 /** @defgroup HTS221_Exported_Functions
00451 * @{
00452 */
00453 
00454 HTS221_Error_et HTS221_read_reg( void *handle, uint8_t RegAddr, uint16_t NumByteToRead, uint8_t *Data );
00455 HTS221_Error_et HTS221_write_reg( void *handle, uint8_t RegAddr, uint16_t NumByteToWrite, uint8_t *Data );
00456 
00457 HTS221_Error_et HTS221_Get_DriverVersion(HTS221_DriverVersion_st* version);
00458 HTS221_Error_et HTS221_Get_DeviceID(void *handle, uint8_t* deviceid);
00459 
00460 HTS221_Error_et HTS221_Set_InitConfig(void *handle, HTS221_Init_st* pxInit);
00461 HTS221_Error_et HTS221_Get_InitConfig(void *handle, HTS221_Init_st* pxInit);
00462 HTS221_Error_et HTS221_DeInit(void *handle);
00463 HTS221_Error_et HTS221_IsMeasurementCompleted(void *handle, HTS221_BitStatus_et* Is_Measurement_Completed);
00464 
00465 HTS221_Error_et HTS221_Get_Measurement(void *handle, uint16_t* humidity, int16_t* temperature);
00466 HTS221_Error_et HTS221_Get_RawMeasurement(void *handle, int16_t* humidity, int16_t* temperature);
00467 HTS221_Error_et HTS221_Get_Humidity(void *handle, uint16_t* value);
00468 HTS221_Error_et HTS221_Get_HumidityRaw(void *handle, int16_t* value);
00469 HTS221_Error_et HTS221_Get_TemperatureRaw(void *handle, int16_t* value);
00470 HTS221_Error_et HTS221_Get_Temperature(void *handle, int16_t* value);
00471 HTS221_Error_et HTS221_Get_DataStatus(void *handle, HTS221_BitStatus_et* humidity, HTS221_BitStatus_et* temperature);
00472 HTS221_Error_et HTS221_Activate(void *handle);
00473 HTS221_Error_et HTS221_DeActivate(void *handle);
00474 
00475 HTS221_Error_et HTS221_Set_AvgHT(void *handle, HTS221_Avgh_et avgh, HTS221_Avgt_et avgt);
00476 HTS221_Error_et HTS221_Set_AvgH(void *handle, HTS221_Avgh_et avgh);
00477 HTS221_Error_et HTS221_Set_AvgT(void *handle, HTS221_Avgt_et avgt);
00478 HTS221_Error_et HTS221_Get_AvgHT(void *handle, HTS221_Avgh_et* avgh, HTS221_Avgt_et* avgt);
00479 HTS221_Error_et HTS221_Set_BduMode(void *handle, HTS221_State_et status);
00480 HTS221_Error_et HTS221_Get_BduMode(void *handle, HTS221_State_et* status);
00481 HTS221_Error_et HTS221_Set_PowerDownMode(void *handle, HTS221_BitStatus_et status);
00482 HTS221_Error_et HTS221_Get_PowerDownMode(void *handle, HTS221_BitStatus_et* status);
00483 HTS221_Error_et HTS221_Set_Odr(void *handle, HTS221_Odr_et odr);
00484 HTS221_Error_et HTS221_Get_Odr(void *handle, HTS221_Odr_et* odr);
00485 HTS221_Error_et HTS221_MemoryBoot(void *handle);
00486 HTS221_Error_et HTS221_Set_HeaterState(void *handle, HTS221_State_et status);
00487 HTS221_Error_et HTS221_Get_HeaterState(void *handle, HTS221_State_et* status);
00488 HTS221_Error_et HTS221_StartOneShotMeasurement(void *handle);
00489 HTS221_Error_et HTS221_Set_IrqActiveLevel(void *handle, HTS221_DrdyLevel_et status);
00490 HTS221_Error_et HTS221_Get_IrqActiveLevel(void *handle, HTS221_DrdyLevel_et* status);
00491 HTS221_Error_et HTS221_Set_IrqOutputType(void *handle, HTS221_OutputType_et value);
00492 HTS221_Error_et HTS221_Get_IrqOutputType(void *handle, HTS221_OutputType_et* value);
00493 HTS221_Error_et HTS221_Set_IrqEnable(void *handle, HTS221_State_et status);
00494 HTS221_Error_et HTS221_Get_IrqEnable(void *handle, HTS221_State_et* status);
00495 
00496 /**
00497 * @}
00498 */
00499 
00500 /**
00501 * @}
00502 */
00503 
00504 /**
00505 * @}
00506 */
00507 
00508 #ifdef __cplusplus
00509 }
00510 #endif
00511 
00512 #endif /* __HTS221_DRIVER__H */
00513 
00514 /******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/