weather 2.0.0.0
weather.h File Reference

This file contains API for Weather Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  weather_digital_data_t
 
struct  weather_raw_data_t
 
struct  weather_s
 Click ctx object definition. More...
 
struct  weather_cfg_t
 Click configuration structure definition. More...
 
struct  weather_data_t
 Weather data structure definition. More...
 
struct  weather_measurement_cfg_t
 Measurement configuration structure definition. More...
 

Macros

#define WEATHER_MAP_MIKROBUS(cfg, mikrobus)
 
#define WEATHER_MASTER_I2C   0
 
#define WEATHER_MASTER_SPI   1
 
#define WEATHER_OK   0
 
#define WEATHER_ERROR   -1
 
#define WEATHER_DEF_CHIP_ID   0x60
 
#define WEATHER_SOFT_RESET   0xB6
 
#define WEATHER_I2C_ADDRESS_0   0x76
 
#define WEATHER_I2C_ADDRESS_1   0x77
 
#define WEATHER_REG_CHIP_ID   0xD0
 
#define WEATHER_REG_RESET   0xE0
 
#define WEATHER_REG_STATUS   0xF3
 
#define WEATHER_REG_CTRL_MEASUREMENT   0xF4
 
#define WEATHER_REG_CTRL_HUMIDITY   0xF2
 
#define WEATHER_REG_CONFIG   0xF5
 
#define WEATHER_REG_RAW_DATA   0xF7
 
#define WEATHER_REG_PRESSURE_MSB   0xF7
 
#define WEATHER_REG_PRESSURE_LSB   0xF8
 
#define WEATHER_REG_PRESSURE_XLSB   0xF9
 
#define WEATHER_REG_TEMPERATURE_MSB   0xFA
 
#define WEATHER_REG_TEMPERATURE_LSB   0xFB
 
#define WEATHER_REG_TEMPERATURE_XLSB   0xFC
 
#define WEATHER_REG_HUMIDITY_MSB   0xFD
 
#define WEATHER_REG_HUMIDITY_LSB   0xFE
 
#define WEATHER_REG_CALIB_TEMPERATURE   0x88
 
#define WEATHER_REG_CALIB_TEMP_1_LSB   0x88
 
#define WEATHER_REG_CALIB_TEMP_1_MSB   0x89
 
#define WEATHER_REG_CALIB_TEMP_2_LSB   0x8A
 
#define WEATHER_REG_CALIB_TEMP_2_MSB   0x8B
 
#define WEATHER_REG_CALIB_TEMP_3_LSB   0x8C
 
#define WEATHER_REG_CALIB_TEMP_3_MSB   0x8D
 
#define WEATHER_REG_CALIB_PRESSURE   0x8E
 
#define WEATHER_REG_CALIB_PRESS_1_LSB   0x8E
 
#define WEATHER_REG_CALIB_PRESS_1_MSB   0x8F
 
#define WEATHER_REG_CALIB_PRESS_2_LSB   0x90
 
#define WEATHER_REG_CALIB_PRESS_2_MSB   0x91
 
#define WEATHER_REG_CALIB_PRESS_3_LSB   0x92
 
#define WEATHER_REG_CALIB_PRESS_3_MSB   0x93
 
#define WEATHER_REG_CALIB_PRESS_4_LSB   0x94
 
#define WEATHER_REG_CALIB_PRESS_4_MSB   0x95
 
#define WEATHER_REG_CALIB_PRESS_5_LSB   0x96
 
#define WEATHER_REG_CALIB_PRESS_5_MSB   0x97
 
#define WEATHER_REG_CALIB_PRESS_6_LSB   0x98
 
#define WEATHER_REG_CALIB_PRESS_6_MSB   0x99
 
#define WEATHER_REG_CALIB_PRESS_7_LSB   0x9A
 
#define WEATHER_REG_CALIB_PRESS_7_MSB   0x9B
 
#define WEATHER_REG_CALIB_PRESS_8_LSB   0x9C
 
#define WEATHER_REG_CALIB_PRESS_8_MSB   0x9D
 
#define WEATHER_REG_CALIB_PRESS_9_LSB   0x9E
 
#define WEATHER_REG_CALIB_PRESS_9_MSB   0x9F
 
#define WEATHER_REG_CALIB_HUMIDITY   0xA1
 
#define WEATHER_REG_CALIB_HUM_1   0xA1
 
#define WEATHER_REG_CALIB_HUM_2_LSB   0xE1
 
#define WEATHER_REG_CALIB_HUM_2_MSB   0xE2
 
#define WEATHER_REG_CALIB_HUM_3   0xE3
 
#define WEATHER_REG_CALIB_HUM_4_MSB   0xE4
 
#define WEATHER_REG_CALIB_HUM_4_LSB   0xE5
 
#define WEATHER_REG_CALIB_HUM_5_MSB   0xE6
 
#define WEATHER_REG_CALIB_HUM_6   0xE7
 
#define WEATHER_HUM_OS_SKIPPED   0x00
 
#define WEATHER_HUM_OS_1X   0x01
 
#define WEATHER_HUM_OS_2X   0x02
 
#define WEATHER_HUM_OS_4X   0x03
 
#define WEATHER_HUM_OS_8X   0x04
 
#define WEATHER_HUM_OS_16X   0x05
 
#define WEATHER_STATUS_MEASURING   0x08
 
#define WEATHER_STATUS_IM_UPDATE   0x01
 
#define WEATHER_MCTRL_PRESS_OS_SKIPPED   0x00;
 
#define WEATHER_MCTRL_PRESS_OS_1X   ( 0x01<<2 )
 
#define WEATHER_MCTRL_PRESS_OS_2X   ( 0x02<<2 )
 
#define WEATHER_MCTRL_PRESS_OS_4X   ( 0x03<<2 )
 
#define WEATHER_MCTRL_PRESS_OS_8X   ( 0x04<<2 )
 
#define WEATHER_MCTRL_PRESS_OS_16X   ( 0x05<<2 )
 
#define WEATHER_MCTRL_TEMP_OS_SKIPPED   0x00
 
#define WEATHER_MCTRL_TEMP_OS_1X   ( 0x01<<5 )
 
#define WEATHER_MCTRL_TEMP_OS_2X   ( 0x02<<5 )
 
#define WEATHER_MCTRL_TEMP_OS_4X   ( 0x03<<5 )
 
#define WEATHER_MCTRL_TEMP_OS_8X   ( 0x04<<5 )
 
#define WEATHER_MCTRL_TEMP_OS_16X   ( 0x05<<5 )
 
#define WEATHER_MCTRL_MODE_SLEEP   0x00
 
#define WEATHER_MCTRL_MODE_FORCED   0x01
 
#define WEATHER_MCTRL_MODE_NORMAL   0x03
 
#define WEATHER_CFG_STANDBY_TIME_0p5ms   0x00
 
#define WEATHER_CFG_STANDBY_TIME_62p5ms   ( 0x01<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_125ms   ( 0x02<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_250ms   ( 0x03<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_500ms   ( 0x04<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_1000ms   ( 0x05<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_10ms   ( 0x06<<5 )
 
#define WEATHER_CFG_STANDBY_TIME_20ms   ( 0x07<<5 )
 
#define WEATHER_CFG_FILTER_OFF   0x00
 
#define WEATHER_CFG_FILTER_2   ( 0x01<<2 )
 
#define WEATHER_CFG_FILTER_4   ( 0x02<<2 )
 
#define WEATHER_CFG_FILTER_8   ( 0x03<<2 )
 
#define WEATHER_CFG_FILTER_16   ( 0x04<<2 )
 

Typedefs

typedef err_t(* weather_master_io_t) (struct weather_s *, uint8_t, uint8_t *, uint8_t)
 Master Input/Output type.
 
typedef struct weather_s weather_t
 Click ctx object definition.
 

Functions

void weather_cfg_setup (weather_cfg_t *cfg)
 Config Object Initialization function.
 
err_t weather_init (weather_t *ctx, weather_cfg_t *cfg)
 Initialization function.
 
err_t weather_default_cfg (weather_t *ctx)
 Click Default Configuration function.
 
err_t weather_generic_write (weather_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
err_t weather_generic_read (weather_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
err_t weather_get_device_id (weather_t *ctx, uint8_t *device_id)
 Device ID.
 
err_t weather_software_reset (weather_t *ctx)
 Software reset function.
 
err_t weather_get_ambient_data (weather_t *ctx, weather_data_t *weather_data)
 Weather data.
 
err_t weather_measurement_cfg (weather_t *ctx, weather_measurement_cfg_t *cfg)
 Measurement config.
 

Detailed Description

This file contains API for Weather Click driver.