RUI3 (RAK Unified Interface 3) - RAK4631
rak1903.h
Go to the documentation of this file.
1 #pragma once
2 #ifndef __RAK1903_H__
3 #define __RAK1903_H__
4 
5 #include "Wire.h"
6 
7 #define RAK1903_ADDRESS 0x44
8 
9 typedef enum {
17 
18 typedef enum {
24 
25 typedef union {
26  uint16_t rawData;
27  struct {
28  uint16_t result:12;
29  uint8_t exponent:4;
30  };
31 } RAK1903_ER;
32 
33 typedef union {
34  struct {
35  uint8_t FaultCount:2;
36  uint8_t MaskExponent:1;
37  uint8_t Polarity:1;
38  uint8_t Latch:1;
39  uint8_t FlagLow:1;
40  uint8_t FlagHigh:1;
41  uint8_t ConversionReady:1;
42  uint8_t OverflowFlag:1;
44  uint8_t ConvertionTime:1;
45  uint8_t RangeNumber:4;
46  };
47  uint16_t rawData;
49 
50 class rak1903 {
51  private:
52  RAK1903_ErrorCode sendCommand(RAK1903_Commands cmd);
53  RAK1903_ErrorCode readData(uint16_t *);
54 
55  void setConfig();
56  float LUX;
57  public:
58  rak1903();
59 
61 
62  uint16_t ID;
63 
64 #ifdef RAK5010_EVB
65 
69 #endif
70 
77  bool init(void);
78 
87  bool update(void);
88 
97  float lux(void);
99 };
100 
101 #endif // end rak1903
uint8_t Latch
Definition: rak1903.h:38
uint8_t ConvertionTime
Definition: rak1903.h:44
uint16_t result
Definition: rak1903.h:28
uint8_t OverflowFlag
Definition: rak1903.h:42
bool init(void)
uint8_t Polarity
Definition: rak1903.h:37
uint16_t rawData
Definition: rak1903.h:47
Definition: rak1903.h:15
Definition: rak1903.h:50
Definition: rak1903.h:13
Definition: rak1903.h:20
Definition: rak1903.h:21
uint8_t RangeNumber
Definition: rak1903.h:45
Definition: rak1903.h:19
uint8_t FlagHigh
Definition: rak1903.h:40
Definition: rak1903.h:33
uint8_t FaultCount
Definition: rak1903.h:35
uint8_t exponent
Definition: rak1903.h:29
Definition: rak1903.h:11
uint16_t ID
Definition: rak1903.h:62
Definition: rak1903.h:25
Definition: rak1903.h:14
uint8_t ConversionReady
Definition: rak1903.h:41
Definition: rak1903.h:22
Definition: rak1903.h:12
float lux(void)
uint8_t MaskExponent
Definition: rak1903.h:36
RAK1903_Commands
Definition: rak1903.h:9
uint16_t rawData
Definition: rak1903.h:26
uint8_t FlagLow
Definition: rak1903.h:39
RAK1903_ErrorCode
Definition: rak1903.h:18
bool update(void)
RAK1903_ErrorCode writeConfig(RAK1903_Config)
uint8_t ModeOfConversionOperation
Definition: rak1903.h:43
Definition: rak1903.h:10