KETCube
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ketCube_hdcX080.h File Reference
#include "ketCube_cfg.h"
#include "ketCube_common.h"

Go to the source code of this file.

Data Structures

struct  ketCube_hdcX080_moduleCfg_t
 KETCube module configuration. More...
 
struct  ketCube_hdc1080_Init_t
 HDC1080 Init structure definition. More...
 
struct  ketCube_hdc2080_Init_t
 HDC2080 Init structure definition. More...
 

Macros

#define KETCUBE_HDCX080_I2C_TIMEOUT   0x1000
 I2C Timeout. More...
 
#define KETCUBE_HDC1080_I2C_ADDRESS   (uint8_t) (0x40 << 1)
 HDC1080 I2C address. More...
 
#define IS_KETCUBE_HDC1080_OutputType(MODE)   ((MODE == KETCUBE_HDC1080_PUSHPULL) || (MODE == KETCUBE_HDC1080_OPENDRAIN))
 
#define IS_KETCUBE_HDC1080_DrdyLevelType(MODE)   ((MODE == KETCUBE_HDC1080_HIGH_LVL) || (MODE == KETCUBE_HDC1080_LOW_LVL))
 
#define KETCUBE_HDC2080_I2C_ADDRESS   (uint8_t) (0x40 << 1)
 Default HDC2080 I2C address. More...
 

Typedefs

typedef struct ketCube_hdcX080_moduleCfg_t ketCube_hdcX080_moduleCfg_t
 KETCube module configuration. More...
 

Enumerations

enum  ketCube_hdcX080_sensType_t { KETCUBE_HDCX080_TYPE_AUTODETECT = 0, KETCUBE_HDCX080_TYPE_HDC1080 = 1, KETCUBE_HDCX080_TYPE_HDC2080 = 2 }
 List of sensors supported by this driver. More...
 
enum  ketCube_hdcX080_Htr_t { KETCUBE_HDCX080_HTR_ON = (uint8_t) 0x01, KETCUBE_HDCX080_HTR_OFF = (uint8_t) 0x00 }
 Heater On/Off. More...
 
enum  ketCube_hdcX080_Rst_t { KETCUBE_HDCX080_RST_RESET = (uint8_t) 0x01, KETCUBE_HDCX080_RST_NONE = (uint8_t) 0x00 }
 Reset. More...
 
enum  ketCube_hdcX080_HRes_t { KETCUBE_HDCX080_HRES_8BIT = (uint8_t) 0x02, KETCUBE_HDCX080_HRES_11BIT = (uint8_t) 0x01, KETCUBE_HDCX080_HRES_14BIT = (uint8_t) 0x00 }
 RH resolution configuration. More...
 
enum  ketCube_hdc1080_RegMap_t {
  KETCUBE_HDC1080_TEMPERATURE_REG = 0x00, KETCUBE_HDC1080_HUMIDITY_REG = 0x01, KETCUBE_HDC1080_CONFIGURATION_REG = 0x02, KETCUBE_HDC1080_MANUFACTURER_ID_REG = 0xFE,
  KETCUBE_HDC1080_DEVICE_ID_REG = 0xFF, KETCUBE_HDC1080_SERIAL_ID_FIRST_REG = 0xFB, KETCUBE_HDC1080_SERIAL_ID_MID_REG = 0xFC, KETCUBE_HDC1080_SERIAL_ID_LAST_REG = 0xFD
}
 HDC1080 register File. More...
 
enum  ketCube_hdc1080_TRes_t { KETCUBE_HDC1080_TRES_11BIT = (uint8_t) 0x01, KETCUBE_HDC1080_TRES_14BIT = (uint8_t) 0x00 }
 Temperature resolution configuration. More...
 
enum  ketCube_hdc1080_Aq_t { KETCUBE_HDC1080_AQ_SEPARATE = (uint8_t) 0x00, KETCUBE_HDC1080_AQ_SEQ = (uint8_t) 0x01 }
 AQ mode. More...
 
enum  ketCube_hdc1080_Bat_t { KETCUBE_HDC1080_BAT_HIGH = (uint8_t) 0x00, KETCUBE_HDC1080_BAT_LOW = (uint8_t) 0x01 }
 Battery voltage. More...
 
enum  ketCube_hdc1080_OutputType_t { KETCUBE_HDC1080_PUSHPULL = (uint8_t) 0x00, KETCUBE_HDC1080_OPENDRAIN = (uint8_t) 0x40 }
 Push-pull/Open Drain selection on DRDY pin. More...
 
enum  ketCube_hdc1080_DrdyLevel_t { KETCUBE_HDC1080_HIGH_LVL = (uint8_t) 0x00, KETCUBE_HDC1080_LOW_LVL = (uint8_t) 0x80 }
 Active level of DRDY pin. More...
 
enum  ketCube_hdc2080_RegMap_t {
  KETCUBE_HDC2080_TEMPERATURE_REG_L = 0x00, KETCUBE_HDC2080_TEMPERATURE_REG_H = 0x01, KETCUBE_HDC2080_HUMIDITY_REG_L = 0x02, KETCUBE_HDC2080_HUMIDITY_REG_H = 0x03,
  KETCUBE_HDC2080_CFG_REG = 0x0E, KETCUBE_HDC2080_MEASCFG_REG = 0x0F, KETCUBE_HDC2080_MANUFACTURER_ID_REG_L = 0xFC, KETCUBE_HDC2080_MANUFACTURER_ID_REG_H = 0xFD,
  KETCUBE_HDC2080_DEVICE_ID_REG_L = 0xFE, KETCUBE_HDC2080_DEVICE_ID_REG_H = 0xFF
}
 HDC2080 Register File. More...
 
enum  ketCube_hdc2080_TRes_t { KETCUBE_HDC2080_TRES_9BIT = (uint8_t) 0x02, KETCUBE_HDC2080_TRES_11BIT = (uint8_t) 0x01, KETCUBE_HDC2080_TRES_14BIT = (uint8_t) 0x00 }
 Temperature resolution configuration. More...
 
enum  ketCube_hdc2080_AMM_t {
  KETCUBE_HDC2080_AMM_DIS = 0, KETCUBE_HDC2080_AMM_0_008 = 1, KETCUBE_HDC2080_AMM_0_016 = 2, KETCUBE_HDC2080_AMM_0_1 = 3,
  KETCUBE_HDC2080_AMM_0_2 = 4, KETCUBE_HDC2080_AMM_1_0 = 5, KETCUBE_HDC2080_AMM_2_0 = 6, KETCUBE_HDC2080_AMM_5_0 = 7
}
 HDC2080 Auto Measurement Mode (AMM) More...
 
enum  ketCube_hdc2080_IntEn_t { KETCUBE_HDC2080_INTEN_HZ = (uint8_t) 0x0, KETCUBE_HDC2080_INTEN_EN = (uint8_t) 0x1 }
 DRDY/INT_EN mode. More...
 
enum  ketCube_hdc2080_IntPol_t { KETCUBE_HDC2080_INTPOL_LOW = (uint8_t) 0x0, KETCUBE_HDC2080_INTPOL_HIGH = (uint8_t) 0x1 }
 Interrupt polarity. More...
 
enum  ketCube_hdc2080_IntMode_t { KETCUBE_HDC2080_INTPOL_LS = (uint8_t) 0x0, KETCUBE_HDC2080_INTPOL_CMP = (uint8_t) 0x1 }
 Interrupt mode. More...
 
enum  ketCube_hdc2080_MeasCfg_t { KETCUBE_HDC2080_MEASCFG_RHT = (uint8_t) 0x0, KETCUBE_HDC2080_MEASCFG_T = (uint8_t) 0x1 }
 Measurement Configuration. More...
 
enum  ketCube_hdc2080_MeasTrig_t { KETCUBE_HDC2080_MEASTRIG_NONE = (uint8_t) 0x0, KETCUBE_HDC2080_MEASTRIG_START = (uint8_t) 0x1 }
 Measurement Trigger. More...
 

Functions

ketCube_cfg_ModError_t ketCube_hdcX080_Init (ketCube_InterModMsg_t ***msg)
 
ketCube_cfg_ModError_t ketCube_hdcX080_UnInit (void)
 
ketCube_cfg_ModError_t ketCube_hdcX080_ReadData (uint8_t *buffer, uint8_t *len)
 

Variables

ketCube_hdcX080_moduleCfg_t ketCube_hdcX080_moduleCfg