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
{
10
RAK1903_RESULT
= 0x00,
11
RAK1903_CONFIG
= 0x01,
12
RAK1903_LOW_LIMIT
= 0x02,
13
RAK1903_HIGH_LIMIT
= 0x03,
14
RAK1903_MANUFACTURER_ID
= 0x7E,
15
RAK1903_DEVICE_ID
= 0x7F,
16
}
RAK1903_Commands
;
17
18
typedef
enum
{
19
RAK1903_NO_ERROR
= 0,
20
RAK1903_NOT_INIT
= -1,
21
RAK1903_WRONG_ARG
= -2,
22
RAK1903_NACK
= -3,
23
}
RAK1903_ErrorCode
;
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;
43
uint8_t
ModeOfConversionOperation
:2;
44
uint8_t
ConvertionTime
:1;
45
uint8_t
RangeNumber
:4;
46
};
47
uint16_t
rawData
;
48
}
RAK1903_Config
;
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
60
RAK1903_ErrorCode
writeConfig
(
RAK1903_Config
);
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
RAK1903_Config::Latch
uint8_t Latch
Definition:
rak1903.h:38
RAK1903_Config::ConvertionTime
uint8_t ConvertionTime
Definition:
rak1903.h:44
RAK1903_ER::result
uint16_t result
Definition:
rak1903.h:28
rak1903::rak1903
rak1903()
RAK1903_Config::OverflowFlag
uint8_t OverflowFlag
Definition:
rak1903.h:42
rak1903::init
bool init(void)
RAK1903_Config::Polarity
uint8_t Polarity
Definition:
rak1903.h:37
RAK1903_Config::rawData
uint16_t rawData
Definition:
rak1903.h:47
RAK1903_DEVICE_ID
Definition:
rak1903.h:15
rak1903
Definition:
rak1903.h:50
RAK1903_HIGH_LIMIT
Definition:
rak1903.h:13
RAK1903_NOT_INIT
Definition:
rak1903.h:20
RAK1903_WRONG_ARG
Definition:
rak1903.h:21
RAK1903_Config::RangeNumber
uint8_t RangeNumber
Definition:
rak1903.h:45
RAK1903_NO_ERROR
Definition:
rak1903.h:19
RAK1903_Config::FlagHigh
uint8_t FlagHigh
Definition:
rak1903.h:40
RAK1903_Config
Definition:
rak1903.h:33
RAK1903_Config::FaultCount
uint8_t FaultCount
Definition:
rak1903.h:35
RAK1903_ER::exponent
uint8_t exponent
Definition:
rak1903.h:29
RAK1903_CONFIG
Definition:
rak1903.h:11
rak1903::ID
uint16_t ID
Definition:
rak1903.h:62
RAK1903_ER
Definition:
rak1903.h:25
RAK1903_MANUFACTURER_ID
Definition:
rak1903.h:14
RAK1903_Config::ConversionReady
uint8_t ConversionReady
Definition:
rak1903.h:41
RAK1903_NACK
Definition:
rak1903.h:22
RAK1903_LOW_LIMIT
Definition:
rak1903.h:12
rak1903::lux
float lux(void)
RAK1903_Config::MaskExponent
uint8_t MaskExponent
Definition:
rak1903.h:36
RAK1903_Commands
RAK1903_Commands
Definition:
rak1903.h:9
RAK1903_ER::rawData
uint16_t rawData
Definition:
rak1903.h:26
Wire.h
RAK1903_Config::FlagLow
uint8_t FlagLow
Definition:
rak1903.h:39
RAK1903_ErrorCode
RAK1903_ErrorCode
Definition:
rak1903.h:18
rak1903::update
bool update(void)
rak1903::writeConfig
RAK1903_ErrorCode writeConfig(RAK1903_Config)
RAK1903_Config::ModeOfConversionOperation
uint8_t ModeOfConversionOperation
Definition:
rak1903.h:43
RAK1903_RESULT
Definition:
rak1903.h:10
component
rui_v3_library
rak1903
RAKwireless_RAK1903_Optical_OPT3001
src
rak1903.h
Generated by
1.8.13