-
Notifications
You must be signed in to change notification settings - Fork 0
/
vl6180x_mem.h
67 lines (65 loc) · 3.02 KB
/
vl6180x_mem.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#ifndef __VL6180X_MEM_H_
#define __VL6180X_MEM_H_
// REGISTERS ARE DIVIDED INTO GROUPS
// IDENTIFICATION REG
#define VL6180X_REG_IDENTIFICATION_MODEL_ID 0x000
#define VL6180X_REG_IDENTIFICATION_MODEL_REV_MAJOR 0x001
#define VL6180X_REG_IDENTIFICATION_MODEL_REV_MINOR 0x002
#define VL6180X_REG_IDENTIFICATION_MODULE_REV_MAJOR 0x003
#define VL6180X_REG_IDENTIFICATION_MODULE_REV_MINOR 0x004
#define VL6180X_REG_IDENTIFICATION_DATE_HI 0x006
#define VL6180X_REG_IDENTIFICATION_DATE_LO 0x007
#define VL6180X_REG_IDENTIFICATION_TIME 0x008
// SYSTEM SETUP REG
#define VL6180X_REG_SYSTEM_MODE_GPIO0 0x010
#define VL6180X_REG_SYSTEM_MODE_GPIO1 0x011
#define VL6180X_REG_SYSTEM_HISTORY_CTRL 0x012
#define VL6180X_REG_SYSTEM_INTERRUPT_CONFIG_GPIO 0x014
#define VL6180X_REG_SYSTEM_INTERRUPT_CLEAR 0x015
#define VL6180X_REG_SYSTEM_FRESH_OUT_OF_RESET 0x016
#define VL6180X_REG_SYSTEM_GROUPED_PARAMETER_HOLD 0x017
// RANGE SETUP REG
#define VL6180X_REG_SYSRANGE_START 0x018
#define VL6180X_REG_SYSRANGE_THRESH_HIGH 0x019
#define VL6180X_REG_SYSRANGE_THRESH_LOW 0x01A
#define VL6180X_REG_SYSRANGE_INTERMEASUREMENT_PERIOD 0x01B
#define VL6180X_REG_SYSRANGE_MAX_CONVERGENCE_TIME 0x01C
#define VL6180X_REG_SYSRANGE_CROSSTALK_COMPENSATION_RATE 0x01E
#define VL6180X_REG_SYSRANGE_CROSSTALK_VALID_HEIGHT 0x021
#define VL6180X_REG_SYSRANGE_EARLY_CONVERGENCE_ESTIMATE 0x022
#define VL6180X_REG_SYSRANGE_PART_TO_PART_RANGE_OFFSET 0x024
#define VL6180X_REG_SYSRANGE_RANGE_IGNORE_VALID_HEIGHT 0x025
#define VL6180X_REG_SYSRANGE_RANGE_IGNORE_THRESHOLD 0x026
#define VL6180X_REG_SYSRANGE_MAX_AMBIENT_LEVEL_MULT 0x02C
#define VL6180X_REG_SYSRANGE_RANGE_CHECK_ENABLES 0x02D
#define VL6180X_REG_SYSRANGE_VHV_RECALIBRATE 0x02E
#define VL6180X_REG_SYSRANGE_VHV_REPEAT_RATE 0x031
// ALS SETUP REG
#define VL6180X_REG_SYSALS_START 0x038
#define VL6180X_REG_SYSALS_THRESH_HIGH 0x03A
#define VL6180X_REG_SYSALS_THRESH_LOW 0x03C
#define VL6180X_REG_SYSALS_INTERMEASUREMENT_PERIOD 0x03E
#define VL6180X_REG_SYSALS_ANALOGUE_GAIN 0x03F
#define VL6180X_REG_SYSALS_INTEGRATION_PERIOD 0x040
// RESULTS REG
#define VL6180X_REG_RESULT_RANGE_STATUS 0x04D
#define VL6180X_REG_RESULT_ALS_STATUS 0x04E
#define VL6180X_REG_RESULT_INTERRUPT_STATUS_GPIO 0x04F
#define VL6180X_REG_RESULT_ALS_VAL 0x050
#define VL6180X_REG_RESULT_HISTORY_BUFFER 0x052
#define VL6180X_REG_RESULT_RANGE_VAL 0x062
#define VL6180X_REG_RESULT_RANGE_RAW 0x064
#define VL6180X_REG_RESULT_RANGE_RETURN_RATE 0x066
#define VL6180X_REG_RESULT_RANGE_REFERENCE_RATE 0x068
#define VL6180X_REG_RESULT_RANGE_RETURN_SIGNAL_COUNT 0x06C
#define VL6180X_REG_RESULT_RANGE_REFERENCE_SIGNAL_COUNT 0x070
#define VL6180X_REG_RESULT_RANGE_RETURN_AMB_COUNT 0x074
#define VL6180X_REG_RESULT_RANGE_REFERENCE_AMB_COUNT 0x078
#define VL6180X_REG_RESULT_RANGE_RETURN_CONV_TIME 0x07C
#define VL6180X_REG_RESULT_RANGE_REFERENCE_CONV_TIME 0x080
#define VL6180X_REG_READOUT_AVERAGING_SAMPLE_PERIOD 0x10A
#define VL6180X_REG_FIRMWARE_BOOTUP 0x119
#define VL6180X_REG_FIRMWARE_RESULT_SCALER 0x120
#define VL6180X_REG_I2C_SLAVE_DEVICE_ADDRESS 0x212
#define VL6180X_REG_INTERLEAVED_MODE_ENABLE 0x2A3
#endif