Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
si114x_internals.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2016-2018 Inria
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
26
#define SI114X_ADDR (0x60)
27
32
#define SI114X_PARAM_QUERY (0x80)
33
#define SI114X_PARAM_SET (0xA0)
34
#define SI114X_NOP (0x00)
35
#define SI114X_RESET (0x01)
36
#define SI114X_BUSADDR (0x02)
37
#define SI114X_PS_FORCE (0x05)
38
#define SI114X_ALS_FORCE (0x06)
39
#define SI114X_PS_ALS_FORCE (0x07)
40
#define SI114X_PS_PAUSE (0x09)
41
#define SI114X_ALS_PAUSE (0x0A)
42
#define SI114X_PS_ALS_PAUSE (0x0B)
43
#define SI114X_PS_AUTO (0x0D)
44
#define SI114X_ALS_AUTO (0x0E)
45
#define SI114X_PS_ALS_AUTO (0x0F)
46
#define SI114X_GET_CAL (0x12)
48
53
#define SI114X_REG_PART_ID (0x00)
54
#define SI114X_REG_REV_ID (0x01)
55
#define SI114X_REG_SEQ_ID (0x02)
56
#define SI114X_REG_INT_CFG (0x03)
57
#define SI114X_REG_IRQ_ENABLE (0x04)
58
#define SI114X_REG_IRQ_MODE1 (0x05)
59
#define SI114X_REG_IRQ_MODE2 (0x06)
60
#define SI114X_REG_HW_KEY (0x07)
61
#define SI114X_REG_MEAS_RATE0 (0x08)
62
#define SI114X_REG_MEAS_RATE1 (0x09)
63
#define SI114X_REG_PS_LED21 (0x0F)
64
#define SI114X_REG_PS_LED3 (0x10)
65
#define SI114X_REG_UCOEF0 (0x13)
66
#define SI114X_REG_UCOEF1 (0x14)
67
#define SI114X_REG_UCOEF2 (0x15)
68
#define SI114X_REG_UCOEF3 (0x16)
69
#define SI114X_REG_PARAM_WR (0x17)
70
#define SI114X_REG_COMMAND (0x18)
71
#define SI114X_REG_RESPONSE (0x20)
72
#define SI114X_REG_IRQ_STATUS (0x21)
73
#define SI114X_REG_ALS_VIS_DATA0 (0x22)
74
#define SI114X_REG_ALS_VIS_DATA1 (0x23)
75
#define SI114X_REG_ALS_IR_DATA0 (0x24)
76
#define SI114X_REG_ALS_IR_DATA1 (0x25)
77
#define SI114X_REG_PS1_DATA0 (0x26)
78
#define SI114X_REG_PS1_DATA1 (0x27)
79
#define SI114X_REG_PS2_DATA0 (0x28)
80
#define SI114X_REG_PS2_DATA1 (0x29)
81
#define SI114X_REG_PS3_DATA0 (0x2A)
82
#define SI114X_REG_PS3_DATA1 (0x2B)
83
#define SI114X_REG_UV_INDEX0 (0x2C)
84
#define SI114X_REG_UV_INDEX1 (0x2D)
85
#define SI114X_REG_PARAM_RD (0x2E)
86
#define SI114X_REG_CHIP_STAT (0x30)
88
93
#define SI114X_NO_ERROR (0x00)
94
#define SI114X_INVALID_SETTING (0x80)
95
#define SI114X_PS1_ADC_OVERFLOW (0x88)
96
#define SI114X_PS2_ADC_OVERFLOW (0x89)
97
#define SI114X_PS3_ADC_OVERFLOW (0x8A)
98
#define SI114X_ALS_VIS_ADC_OVERFLOW (0x8C)
99
#define SI114X_ALS_IR_ADC_OVERFLOW (0x8D)
100
#define SI114X_UV_ADC_OVERFLOW (0x8E)
102
110
#define SI114X_I2C_ADDR (0x00)
111
#define SI114X_PARAM_CHLIST (0x01)
112
#define SI114X_PARAM_CHLIST_ENUV (0x80)
113
#define SI114X_PARAM_CHLIST_ENAUX (0x40)
114
#define SI114X_PARAM_CHLIST_ENALSIR (0x20)
115
#define SI114X_PARAM_CHLIST_ENALSVIS (0x10)
116
#define SI114X_PARAM_CHLIST_ENPS1 (0x01)
117
#define SI114X_PARAM_CHLIST_ENPS2 (0x02)
118
#define SI114X_PARAM_CHLIST_ENPS3 (0x04)
119
#define SI114X_PARAM_PSLED12SEL (0x02)
120
#define SI114X_PARAM_PSLED12SEL_PS2NONE (0x00)
121
#define SI114X_PARAM_PSLED12SEL_PS2LED1 (0x10)
122
#define SI114X_PARAM_PSLED12SEL_PS2LED2 (0x20)
123
#define SI114X_PARAM_PSLED12SEL_PS2LED3 (0x40)
124
#define SI114X_PARAM_PSLED12SEL_PS1NONE (0x00)
125
#define SI114X_PARAM_PSLED12SEL_PS1LED1 (0x01)
126
#define SI114X_PARAM_PSLED12SEL_PS1LED2 (0x02)
127
#define SI114X_PARAM_PSLED12SEL_PS1LED3 (0x04)
128
#define SI114X_PARAM_PSLED3SEL (0x03)
129
#define SI114X_PARAM_PSENCODE (0x05)
130
#define SI114X_PARAM_ALSENCODE (0x06)
131
#define SI114X_PARAM_PS1ADCMUX (0x07)
132
#define SI114X_PARAM_PS2ADCMUX (0x08)
133
#define SI114X_PARAM_PS3ADCMUX (0x09)
134
#define SI114X_PARAM_PSADCOUNTER (0x0A)
135
#define SI114X_PARAM_PSADCGAIN (0x0B)
136
#define SI114X_PARAM_PSADCMISC (0x0C)
137
#define SI114X_PARAM_PSADCMISC_RANGE (0x20)
138
#define SI114X_PARAM_PSADCMISC_PSMODE (0x04)
139
#define SI114X_PARAM_ALSIRADCMUX (0x0E)
140
#define SI114X_PARAM_AUXADCMUX (0x0F)
141
#define SI114X_PARAM_ALSVISADCOUNTER (0x10)
142
#define SI114X_PARAM_ALSVISADCGAIN (0x11)
143
#define SI114X_PARAM_ALSVISADCMISC (0x12)
144
#define SI114X_PARAM_ALSVISADCMISC_VISRANGE (0x20)
145
#define SI114X_PARAM_ALSIRADCOUNTER (0x1D)
146
#define SI114X_PARAM_ALSIRADCGAIN (0x1E)
147
#define SI114X_PARAM_ALSIRADCMISC (0x1F)
148
#define SI114X_PARAM_ALSIRADCMISC_RANGE (0x20)
149
#define SI114X_PARAM_ADCMUX_SMALLIR (0x00)
150
#define SI114X_PARAM_ADCMUX_LARGEIR (0x03)
152
157
#define SI1145_ID (0x45)
158
#define SI1146_ID (0x46)
159
#define SI1147_ID (0x47)
160
#define SI114X_STARTUP_TIME_MS (25UL)
161
#define SI114X_WAIT_10MS (10UL)
/* 10ms */
162
#define SI114X_INIT_VALUE (0x17)
163
#define SI114X_UCOEF0_DEFAULT (0x29)
164
#define SI114X_UCOEF1_DEFAULT (0x89)
165
#define SI114X_UCOEF2_DEFAULT (0x02)
166
#define SI114X_UCOEF3_DEFAULT (0x00)
167
#define SI114X_ADC_REC_CLK (0x70)
/* 511 ADC Clock */
169
174
#define SI114X_EN_UV (0x80)
175
#define SI114X_EN_AUX (0x40)
176
#define SI114X_EN_ALS_IR (0x20)
177
#define SI114X_EN_ALS_VIS (0x10)
178
179
#define SI114X_EN_PS3_IE (0x10)
180
#define SI114X_EN_PS2_IE (0x08)
181
#define SI114X_EN_PS1_IE (0x04)
182
#define SI114X_EN_ALS_IE (0x01)
183
184
#define SI114X_INTCFG_INTOE (0x01)
185
#define SI114X_INTCFG_INTMODE (0x02)
186
187
#define SI114X_PS3_ALIGN (0x40)
188
#define SI114X_PS2_ALIGN (0x20)
189
#define SI114X_PS1_ALIGN (0x10)
190
#define SI114X_ALS_IR_ALIGN (0x20)
191
#define SI114X_ALS_VIS_ALIGN (0x10)
192
#define SI114X_PS_RANGE (0x20)
193
#define SI114X_PS_ADC_MODE (0x04)
194
#define SI114X_VIS_RANGE (0x20)
195
#define SI114X_IR_RANGE (0x20)
197
198
#ifdef __cplusplus
199
}
200
#endif
201
Generated on Tue Apr 14 2026 23:40:13 by
1.13.2