RUI3 (RAK Unified Interface 3) - RAK4631
rak1906.h File Reference

Go to the source code of this file.

Data Structures

class  rak1906
 

Macros

#define __RAK1906_H_
 
#define _BV(bit)   (1 << (bit))
 
#define RAK1906_ADDRESS   0x76
 
#define CONCAT_BYTES(msb, lsb)   (((uint16_t)msb << 8) | (uint16_t)lsb)
 
#define RAK1906_COEFF_SIZE1   25
 
#define RAK1906_COEFF_SIZE2   16
 
#define RAK1906_COEFF_START_ADDRESS1   0x89
 
#define RAK1906_COEFF_START_ADDRESS2   0xE1
 
#define RAK1906_HUM_REG_SHIFT_VAL   4
 
#define RAK1906_BIT_H1_DATA_MSK   0x0F
 
#define RAK1906_T2_LSB_REG   1
 
#define RAK1906_T2_MSB_REG   2
 
#define RAK1906_T3_REG   3
 
#define RAK1906_P1_LSB_REG   5
 
#define RAK1906_P1_MSB_REG   6
 
#define RAK1906_P2_LSB_REG   7
 
#define RAK1906_P2_MSB_REG   8
 
#define RAK1906_P3_REG   9
 
#define RAK1906_P4_LSB_REG   11
 
#define RAK1906_P4_MSB_REG   12
 
#define RAK1906_P5_LSB_REG   13
 
#define RAK1906_P5_MSB_REG   14
 
#define RAK1906_P7_REG   15
 
#define RAK1906_P6_REG   16
 
#define RAK1906_P8_LSB_REG   19
 
#define RAK1906_P8_MSB_REG   20
 
#define RAK1906_P9_LSB_REG   21
 
#define RAK1906_P9_MSB_REG   22
 
#define RAK1906_P10_REG   23
 
#define RAK1906_H2_MSB_REG   0
 
#define RAK1906_H2_LSB_REG   1
 
#define RAK1906_H1_LSB_REG   1
 
#define RAK1906_H1_MSB_REG   2
 
#define RAK1906_H3_REG   3
 
#define RAK1906_H4_REG   4
 
#define RAK1906_H5_REG   5
 
#define RAK1906_H6_REG   6
 
#define RAK1906_H7_REG   7
 
#define RAK1906_T1_LSB_REG   8
 
#define RAK1906_T1_MSB_REG   9
 
#define RAK1906_GH2_LSB_REG   10
 
#define RAK1906_GH2_MSB_REG   11
 
#define RAK1906_GH1_REG   12
 
#define RAK1906_GH3_REG   13
 
#define RAK1906_ADDR_RES_HEAT_RANGE_ADDR   0x02
 
#define RAK1906_RHRANGE_MSK   0x30
 
#define RAK1906_ADDR_RES_HEAT_VAL_ADDR   0x00
 
#define RAK1906_ADDR_RANGE_SW_ERR_ADDR   0x04
 
#define RAK1906_RSERROR_MSK   0xF0
 

Enumerations

enum  RAK1906_Commands {
  RAK1906_STATUS_REGISTER = 0x1D,
  RAK1906_GAS_HEATER_REGISTER0 = 0x5A,
  RAK1906_GAS_DURATION_REGISTER0 = 0x64,
  RAK1906_CONTROL_GAS_REGISTER1 = 0x70,
  RAK1906_CONTROL_GAS_REGISTER2 = 0x71,
  RAK1906_CONTROL_HUMIDITY_REGISTER = 0x72,
  RAK1906_SPI_REGISTER = 0x73,
  RAK1906_CONTROL_MEASURE_REGISTER = 0x74,
  RAK1906_CONFIG_REGISTER = 0x75,
  RAK1906_CHIPID_REGISTER = 0xD0,
  RAK1906_SOFTRESET_REGISTER = 0xE0,
  RAK1906_CHIPID = 0x61,
  RAK1906_RESET_CODE = 0xB6,
  RAK1906_MEASURING_BIT_POSITION = 5,
  RAK1906_HUMIDITY_MASK = 0xF8,
  RAK1906_PRESSURE_MASK = 0xE3,
  RAK1906_TEMPERATURE_MASK = 0x1F
}
 
enum  RAK1906_ErrorCode {
  RAK1906_NO_ERROR = 0,
  RAK1906_NOT_INIT = -1,
  RAK1906_WRONG_ARG = -2,
  RAK1906_NACK = -3
}
 
enum  sensorTypes {
  TemperatureSensor,
  HumiditySensor,
  PressureSensor,
  GasSensor,
  UnknownSensor
}
 
enum  iirFilterTypes {
  IIROff,
  IIR2,
  IIR4,
  IIR8,
  IIR16,
  IIR32,
  IIR64,
  IIR128,
  UnknownIIR
}
 
enum  oversamplingTypes {
  SensorOff,
  Oversample1,
  Oversample2,
  Oversample4,
  Oversample8,
  Oversample16,
  UnknownOversample
}
 

Macro Definition Documentation

◆ __RAK1906_H_

#define __RAK1906_H_

◆ _BV

#define _BV (   bit)    (1 << (bit))

◆ RAK1906_ADDRESS

#define RAK1906_ADDRESS   0x76

◆ CONCAT_BYTES

#define CONCAT_BYTES (   msb,
  lsb 
)    (((uint16_t)msb << 8) | (uint16_t)lsb)

◆ RAK1906_COEFF_SIZE1

#define RAK1906_COEFF_SIZE1   25

◆ RAK1906_COEFF_SIZE2

#define RAK1906_COEFF_SIZE2   16

◆ RAK1906_COEFF_START_ADDRESS1

#define RAK1906_COEFF_START_ADDRESS1   0x89

◆ RAK1906_COEFF_START_ADDRESS2

#define RAK1906_COEFF_START_ADDRESS2   0xE1

◆ RAK1906_HUM_REG_SHIFT_VAL

#define RAK1906_HUM_REG_SHIFT_VAL   4

◆ RAK1906_BIT_H1_DATA_MSK

#define RAK1906_BIT_H1_DATA_MSK   0x0F

◆ RAK1906_T2_LSB_REG

#define RAK1906_T2_LSB_REG   1

◆ RAK1906_T2_MSB_REG

#define RAK1906_T2_MSB_REG   2

◆ RAK1906_T3_REG

#define RAK1906_T3_REG   3

◆ RAK1906_P1_LSB_REG

#define RAK1906_P1_LSB_REG   5

◆ RAK1906_P1_MSB_REG

#define RAK1906_P1_MSB_REG   6

◆ RAK1906_P2_LSB_REG

#define RAK1906_P2_LSB_REG   7

◆ RAK1906_P2_MSB_REG

#define RAK1906_P2_MSB_REG   8

◆ RAK1906_P3_REG

#define RAK1906_P3_REG   9

◆ RAK1906_P4_LSB_REG

#define RAK1906_P4_LSB_REG   11

◆ RAK1906_P4_MSB_REG

#define RAK1906_P4_MSB_REG   12

◆ RAK1906_P5_LSB_REG

#define RAK1906_P5_LSB_REG   13

◆ RAK1906_P5_MSB_REG

#define RAK1906_P5_MSB_REG   14

◆ RAK1906_P7_REG

#define RAK1906_P7_REG   15

◆ RAK1906_P6_REG

#define RAK1906_P6_REG   16

◆ RAK1906_P8_LSB_REG

#define RAK1906_P8_LSB_REG   19

◆ RAK1906_P8_MSB_REG

#define RAK1906_P8_MSB_REG   20

◆ RAK1906_P9_LSB_REG

#define RAK1906_P9_LSB_REG   21

◆ RAK1906_P9_MSB_REG

#define RAK1906_P9_MSB_REG   22

◆ RAK1906_P10_REG

#define RAK1906_P10_REG   23

◆ RAK1906_H2_MSB_REG

#define RAK1906_H2_MSB_REG   0

◆ RAK1906_H2_LSB_REG

#define RAK1906_H2_LSB_REG   1

◆ RAK1906_H1_LSB_REG

#define RAK1906_H1_LSB_REG   1

◆ RAK1906_H1_MSB_REG

#define RAK1906_H1_MSB_REG   2

◆ RAK1906_H3_REG

#define RAK1906_H3_REG   3

◆ RAK1906_H4_REG

#define RAK1906_H4_REG   4

◆ RAK1906_H5_REG

#define RAK1906_H5_REG   5

◆ RAK1906_H6_REG

#define RAK1906_H6_REG   6

◆ RAK1906_H7_REG

#define RAK1906_H7_REG   7

◆ RAK1906_T1_LSB_REG

#define RAK1906_T1_LSB_REG   8

◆ RAK1906_T1_MSB_REG

#define RAK1906_T1_MSB_REG   9

◆ RAK1906_GH2_LSB_REG

#define RAK1906_GH2_LSB_REG   10

◆ RAK1906_GH2_MSB_REG

#define RAK1906_GH2_MSB_REG   11

◆ RAK1906_GH1_REG

#define RAK1906_GH1_REG   12

◆ RAK1906_GH3_REG

#define RAK1906_GH3_REG   13

◆ RAK1906_ADDR_RES_HEAT_RANGE_ADDR

#define RAK1906_ADDR_RES_HEAT_RANGE_ADDR   0x02

◆ RAK1906_RHRANGE_MSK

#define RAK1906_RHRANGE_MSK   0x30

◆ RAK1906_ADDR_RES_HEAT_VAL_ADDR

#define RAK1906_ADDR_RES_HEAT_VAL_ADDR   0x00

◆ RAK1906_ADDR_RANGE_SW_ERR_ADDR

#define RAK1906_ADDR_RANGE_SW_ERR_ADDR   0x04

◆ RAK1906_RSERROR_MSK

#define RAK1906_RSERROR_MSK   0xF0

Enumeration Type Documentation

◆ RAK1906_Commands

Enumerator
RAK1906_STATUS_REGISTER 
RAK1906_GAS_HEATER_REGISTER0 
RAK1906_GAS_DURATION_REGISTER0 
RAK1906_CONTROL_GAS_REGISTER1 
RAK1906_CONTROL_GAS_REGISTER2 
RAK1906_CONTROL_HUMIDITY_REGISTER 
RAK1906_SPI_REGISTER 
RAK1906_CONTROL_MEASURE_REGISTER 
RAK1906_CONFIG_REGISTER 
RAK1906_CHIPID_REGISTER 
RAK1906_SOFTRESET_REGISTER 
RAK1906_CHIPID 
RAK1906_RESET_CODE 
RAK1906_MEASURING_BIT_POSITION 
RAK1906_HUMIDITY_MASK 
RAK1906_PRESSURE_MASK 
RAK1906_TEMPERATURE_MASK 

◆ RAK1906_ErrorCode

Enumerator
RAK1906_NO_ERROR 
RAK1906_NOT_INIT 
RAK1906_WRONG_ARG 
RAK1906_NACK 

◆ sensorTypes

Enumerator
TemperatureSensor 
HumiditySensor 
PressureSensor 
GasSensor 
UnknownSensor 

◆ iirFilterTypes

Enumerator
IIROff 
IIR2 
IIR4 
IIR8 
IIR16 
IIR32 
IIR64 
IIR128 
UnknownIIR 

◆ oversamplingTypes

Enumerator
SensorOff 
Oversample1 
Oversample2 
Oversample4 
Oversample8 
Oversample16 
UnknownOversample