Mon, 03 Apr 2023 16:07:34 +0200
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | /** |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | * @file APDS-9930.cpp |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | * @brief Library for the SparkFun APDS-9930 breakout board |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | * @author Shawn Hymel (SparkFun Electronics) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | * |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | * @copyright This code is public domain but you buy me a beer if you use |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | * this and we meet someday (Beerware license). Davide Depau Arduino version. |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | * |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | * This library interfaces the Avago APDS-9930 to ESP-IDf over I2C. |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | * |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | * APDS-9930 current draw tests (default parameters): |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | * Off: 1mA |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | * Waiting for gesture: 14mA |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | * Gesture in progress: 35mA |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | #include "apds9930.h" |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | #include <inttypes.h> |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | #include <esp_log.h> |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | #include <esp_idf_lib_helpers.h> |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | #define I2C_FREQ_HZ 1000000 // Max 1MHz for esp-idf |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | static const char *TAG = "apds9930"; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | /* Error code for returned values */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | #define APDS9930_ERROR 0xFF |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | /* Command register modes */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | #define APDS9930_REPEATED_BYTE 0x80 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | #define APDS9930_AUTO_INCREMENT 0xA0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | #define APDS9930_SPECIAL_FN 0xE0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | /* APDS-9930 register addresses */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | #define APDS9930_ENABLE 0x00 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | #define APDS9930_ATIME 0x01 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | #define APDS9930_PTIME 0x02 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | #define APDS9930_WTIME 0x03 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | #define APDS9930_AILTL 0x04 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
41 | #define APDS9930_AILTH 0x05 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
42 | #define APDS9930_AIHTL 0x06 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | #define APDS9930_AIHTH 0x07 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
44 | #define APDS9930_PILTL 0x08 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | #define APDS9930_PILTH 0x09 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
46 | #define APDS9930_PIHTL 0x0A |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | #define APDS9930_PIHTH 0x0B |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | #define APDS9930_PERS 0x0C |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
49 | #define APDS9930_CONFIG 0x0D |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
50 | #define APDS9930_PPULSE 0x0E |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
51 | #define APDS9930_CONTROL 0x0F |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
52 | #define APDS9930_ID 0x12 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | #define APDS9930_STATUS 0x13 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | #define APDS9930_Ch0DATAL 0x14 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
55 | #define APDS9930_Ch0DATAH 0x15 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
56 | #define APDS9930_Ch1DATAL 0x16 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
57 | #define APDS9930_Ch1DATAH 0x17 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | #define APDS9930_PDATAL 0x18 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | #define APDS9930_PDATAH 0x19 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | #define APDS9930_POFFSET 0x1E |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | /* Bit fields */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | #define APDS9930_PON 0b00000001 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | #define APDS9930_AEN 0b00000010 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | #define APDS9930_PEN 0b00000100 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | #define APDS9930_WEN 0b00001000 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | #define APSD9930_AIEN 0b00010000 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | #define APDS9930_PIEN 0b00100000 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | #define APDS9930_SAI 0b01000000 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | /* On/Off definitions */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | #define APDS9930_OFF 0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | #define APDS9930_ON 1 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | /* Default values */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | #define APDS9930_DEFAULT_ATIME 0xED |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | #define APDS9930_DEFAULT_WTIME 0xFF |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | #define APDS9930_DEFAULT_PTIME 0xFF |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | #define APDS9930_DEFAULT_PPULSE 0x08 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | #define APDS9930_DEFAULT_POFFSET 0 // 0 offset |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
81 | #define APDS9930_DEFAULT_CONFIG 0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
82 | #define APDS9930_DEFAULT_PDRIVE APDS9930_LED_DRIVE_100MA |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | #define APDS9930_DEFAULT_PDIODE 2 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
84 | #define APDS9930_DEFAULT_PGAIN APDS9930_PGAIN_8X |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
85 | #define APDS9930_DEFAULT_AGAIN APDS9930_AGAIN_1X |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
86 | #define APDS9930_DEFAULT_PILT 0 // Low proximity threshold |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
87 | #define APDS9930_DEFAULT_PIHT 50 // High proximity threshold |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
88 | #define APDS9930_DEFAULT_AILT 0xFFFF // Force interrupt for calibration |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
89 | #define APDS9930_DEFAULT_AIHT 0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
90 | #define APDS9930_DEFAULT_PERS 0x22 // 2 consecutive prox or ALS for int. |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
91 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
92 | /* Acceptable parameters for setMode */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
93 | #define APDS9930_MODE_POWER 0 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
94 | #define APDS9930_MODE_AMBIENT_LIGHT 1 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | #define APDS9930_MODE_PROXIMITY 2 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
96 | #define APDS9930_MODE_WAIT 3 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | #define APDS9930_MODE_AMBIENT_LIGHT_INT 4 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
98 | #define APDS9930_MODE_PROXIMITY_INT 5 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | #define APDS9930_MODE_SLEEP_AFTER_INT 6 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
100 | #define APDS9930_MODE_ALL 7 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
101 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
102 | /* Interrupt clear values */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
103 | #define APDS9930_CLEAR_PROX_INT 0xE5 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
104 | #define APDS9930_CLEAR_ALS_INT 0xE6 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
105 | #define APDS9930_CLEAR_ALL_INTS 0xE7 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
106 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
107 | /* ALS coefficients */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
108 | #define APDS9930_DF 52 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
109 | #define APDS9930_GA 0.49 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
110 | #define APDS9930_ALS_B 1.862 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
111 | #define APDS9930_ALS_C 0.746 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
112 | #define APDS9930_ALS_D 1.291 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
113 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
114 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
115 | #define CHECK(x) do { esp_err_t __; if ((__ = x) != ESP_OK) return __; } while (0) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
116 | #define CHECK_ARG(VAL) do { if (!(VAL)) return ESP_ERR_INVALID_ARG; } while (0) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
117 | #define CHECK_LOGE(dev, x, msg, ...) do { \ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
118 | esp_err_t __; \ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
119 | if ((__ = x) != ESP_OK) { \ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
120 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); \ |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
121 | ESP_LOGE(TAG, msg, ## __VA_ARGS__); \ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
122 | return __; \ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
123 | } \ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
124 | } while (0) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
125 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
126 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
127 | inline static esp_err_t write_register8(i2c_dev_t *dev, uint8_t addr, uint8_t value) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
128 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
129 | return i2c_dev_write_reg(dev, addr, &value, 1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
130 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
131 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
132 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
133 | esp_err_t apds9930_init_desc(apds9930_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
134 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
135 | CHECK_ARG(dev); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
136 | |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
137 | if (addr != 0x39) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
138 | ESP_LOGE(TAG, "Invalid I2C address"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
139 | return ESP_ERR_INVALID_ARG; |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
140 | } |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
141 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
142 | dev->i2c_dev.port = port; |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
143 | dev->i2c_dev.addr = addr; |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
144 | dev->i2c_dev.cfg.sda_io_num = sda_gpio; |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
145 | dev->i2c_dev.cfg.scl_io_num = scl_gpio; |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
146 | #if HELPER_TARGET_IS_ESP32 |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
147 | dev->i2c_dev.cfg.master.clk_speed = I2C_FREQ_HZ; |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
148 | #endif |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
149 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
150 | return i2c_dev_create_mutex(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
151 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
152 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
153 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
154 | esp_err_t apds9930_free_desc(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
155 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
156 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
157 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
158 | return i2c_dev_delete_mutex(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
159 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
160 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
161 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
162 | esp_err_t apds9930_init(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
163 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
164 | esp_err_t err = ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
165 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
166 | CHECK_ARG(dev); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
167 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
168 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
169 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ID, &dev->id, 1), "Sensor not found"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
170 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
171 | if (dev->id != APDS9930_ID_1 && dev->id != APDS9930_ID_2 && dev->id != APDS9930_ID_3) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
172 | CHECK_LOGE(dev, ESP_ERR_INVALID_VERSION, |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
173 | "Invalid chip ID: expected: 0x%x or 0x%x or 0x%x got: 0x%x", |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
174 | APDS9930_ID_1, APDS9930_ID_2, APDS9930_ID_3, dev->id); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
175 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
176 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
177 | /* Set ENABLE register to 0 (disable all features) */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
178 | if ( !apds9930_setMode(dev, APDS9930_MODE_ALL, APDS9930_OFF) ) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
179 | ESP_LOGE(TAG, "Regs off"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
180 | err = ESP_ERR_INVALID_ARG; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
181 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
182 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
183 | /* Set default values for ambient light and proximity registers */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
184 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_ATIME, APDS9930_DEFAULT_ATIME), "Default atime"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
185 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_WTIME, APDS9930_DEFAULT_WTIME), "Default wtime"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
186 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PPULSE, APDS9930_DEFAULT_PPULSE), "Default ppulse"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
187 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_POFFSET, APDS9930_DEFAULT_POFFSET), "Default poffset"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
188 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_CONFIG, APDS9930_DEFAULT_CONFIG), "Default config"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
189 | CHECK_LOGE(dev, apds9930_setLEDDrive(dev, APDS9930_DEFAULT_PDRIVE), "Default pdrive"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
190 | CHECK_LOGE(dev, apds9930_setProximityGain(dev, APDS9930_DEFAULT_PGAIN), "Default pgain"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
191 | CHECK_LOGE(dev, apds9930_setAmbientLightGain(dev, APDS9930_DEFAULT_AGAIN), "Default again"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
192 | CHECK_LOGE(dev, apds9930_setProximityDiode(dev, APDS9930_DEFAULT_PDIODE), "Default pdiode"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
193 | CHECK_LOGE(dev, apds9930_setProximityIntLowThreshold(dev, APDS9930_DEFAULT_PILT), "Default PILT"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
194 | CHECK_LOGE(dev, apds9930_setProximityIntHighThreshold(dev, APDS9930_DEFAULT_PIHT), "Default PIHT"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
195 | CHECK_LOGE(dev, apds9930_setLightIntLowThreshold(dev, APDS9930_DEFAULT_AILT), "Default ailt"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
196 | CHECK_LOGE(dev, apds9930_setLightIntHighThreshold(dev, APDS9930_DEFAULT_AIHT), "Default aiht"); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
197 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PERS, APDS9930_DEFAULT_PERS), "Default pers"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
198 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
199 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
200 | return err; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
201 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
202 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
203 | /******************************************************************************* |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
204 | * Public methods for controlling the APDS-9930 |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
205 | ******************************************************************************/ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
206 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
207 | uint8_t apds9930_getMode(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
208 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
209 | uint8_t enable_value; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
210 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
211 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
212 | /* Read current ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
213 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &enable_value, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
214 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
215 | return APDS9930_ERROR; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
216 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
217 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
218 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
219 | return enable_value; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
220 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
221 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
222 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
223 | esp_err_t apds9930_setMode(apds9930_t *dev, uint8_t mode, uint8_t enable) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
224 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
225 | uint8_t reg_val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
226 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
227 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
228 | /* Read current ENABLE register */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
229 | reg_val = apds9930_getMode(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
230 | if( reg_val == APDS9930_ERROR ) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
231 | return ESP_ERR_INVALID_RESPONSE; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
232 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
233 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
234 | /* Change bit(s) in ENABLE register */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
235 | enable = enable & 0x01; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
236 | if (mode <= 6) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
237 | if (enable) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
238 | reg_val |= (1 << mode); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
239 | } else { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
240 | reg_val &= ~(1 << mode); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
241 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
242 | } else if (mode == APDS9930_MODE_ALL) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
243 | if (enable) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
244 | reg_val = 0x7F; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
245 | } else { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
246 | reg_val = 0x00; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
247 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
248 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
249 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
250 | /* Write value back to ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
251 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
252 | CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_ENABLE, reg_val), "Enable register"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
253 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
254 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
255 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
256 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
257 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
258 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
259 | esp_err_t apds9930_enableLightSensor(apds9930_t *dev, bool interrupts) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
260 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
261 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
262 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
263 | /* Set default gain, interrupts, enable power, and enable sensor */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
264 | CHECK_LOGE(dev, apds9930_setAmbientLightGain(dev, APDS9930_DEFAULT_AGAIN), "setAmbientLightGain"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
265 | if ( interrupts ) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
266 | CHECK_LOGE(dev, apds9930_setAmbientLightIntEnable(dev, 1), "setAmbientLightIntEnable(1)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
267 | } else { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
268 | CHECK_LOGE(dev, apds9930_setAmbientLightIntEnable(dev, 0), "setAmbientLightIntEnable(0)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
269 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
270 | CHECK_LOGE(dev, apds9930_enablePower(dev), "enablePower"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
271 | CHECK_LOGE(dev, apds9930_setMode(dev, APDS9930_MODE_AMBIENT_LIGHT, 1), "setMode"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
272 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
273 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
274 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
275 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
276 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
277 | esp_err_t apds9930_disableLightSensor(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
278 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
279 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
280 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
281 | CHECK_LOGE(dev, apds9930_setAmbientLightIntEnable(dev, 0), "setAmbientLightIntEnable(0)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
282 | CHECK_LOGE(dev, apds9930_setMode(dev, APDS9930_MODE_AMBIENT_LIGHT, 0), "setMode"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
283 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
284 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
285 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
286 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
287 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
288 | esp_err_t apds9930_enableProximitySensor(apds9930_t *dev, bool interrupts) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
289 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
290 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
291 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
292 | /* Set default gain, LED, interrupts, enable power, and enable sensor */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
293 | CHECK_LOGE(dev, apds9930_setProximityGain(dev, APDS9930_DEFAULT_PGAIN), "setProximityGain"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
294 | CHECK_LOGE(dev, apds9930_setLEDDrive(dev, APDS9930_DEFAULT_PDRIVE), "setLEDDrive"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
295 | if( interrupts ) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
296 | CHECK_LOGE(dev, apds9930_setProximityIntEnable(dev, 1), "setProximityIntEnable(1)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
297 | } else { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
298 | CHECK_LOGE(dev, apds9930_setProximityIntEnable(dev, 0), "setProximityIntEnable(0)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
299 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
300 | CHECK_LOGE(dev, apds9930_enablePower(dev), "enablePower"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
301 | CHECK_LOGE(dev, apds9930_setMode(dev, APDS9930_MODE_PROXIMITY, 1), "setMode"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
302 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
303 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
304 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
305 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
306 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
307 | esp_err_t apds9930_disableProximitySensor(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
308 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
309 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
310 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
311 | CHECK_LOGE(dev, apds9930_setProximityIntEnable(dev, 0), "setProximityIntEnable(0)"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
312 | CHECK_LOGE(dev, apds9930_setMode(dev, APDS9930_MODE_PROXIMITY, 0), "setMode"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
313 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
314 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
315 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
316 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
317 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
318 | esp_err_t apds9930_enablePower(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
319 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
320 | return apds9930_setMode(dev, APDS9930_MODE_POWER, 1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
321 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
322 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
323 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
324 | esp_err_t apds9930_disablePower(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
325 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
326 | return apds9930_setMode(dev, APDS9930_MODE_POWER, 0); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
327 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
328 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
329 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
330 | /******************************************************************************* |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
331 | * Ambient light sensor controls |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
332 | ******************************************************************************/ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
333 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
334 | esp_err_t apds9930_readAmbientLightLux(apds9930_t *dev, float *val) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
335 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
336 | uint16_t Ch0, Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
337 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
338 | /* Read value from channels */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
339 | CHECK_LOGE(dev, apds9930_readCh0Light(dev, &Ch0), "read ch0"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
340 | CHECK_LOGE(dev, apds9930_readCh1Light(dev, &Ch1), "read ch1"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
341 | *val = apds9930_floatAmbientToLux(dev, Ch0, Ch1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
342 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
343 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
344 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
345 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
346 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
347 | esp_err_t apds9930_readulAmbientLightLux(apds9930_t *dev, unsigned long *val) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
348 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
349 | uint16_t Ch0, Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
350 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
351 | /* Read value from channels */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
352 | CHECK_LOGE(dev, apds9930_readCh0Light(dev, &Ch0), "read ch0"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
353 | CHECK_LOGE(dev, apds9930_readCh1Light(dev, &Ch1), "read ch1"); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
354 | *val = apds9930_ulongAmbientToLux(dev, Ch0, Ch1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
355 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
356 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
357 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
358 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
359 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
360 | float apds9930_floatAmbientToLux(apds9930_t *dev, uint16_t Ch0, uint16_t Ch1) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
361 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
362 | uint8_t x[4] = {1,8,16,120}; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
363 | float iac; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
364 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
365 | float ALSIT = 2.73 * (256 - APDS9930_DEFAULT_ATIME); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
366 | if ((Ch0 - APDS9930_ALS_B * Ch1) > (APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1)) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
367 | iac = Ch0 - APDS9930_ALS_B * Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
368 | else |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
369 | iac = APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
370 | //float iac = fmax(Ch0 - APDS9930_ALS_B * Ch1, APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
371 | if (iac < 0) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
372 | iac = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
373 | float lpc = APDS9930_GA * APDS9930_DF / (ALSIT * x[apds9930_getAmbientLightGain(dev)]); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
374 | return iac * lpc; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
375 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
376 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
377 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
378 | unsigned long apds9930_ulongAmbientToLux(apds9930_t *dev, uint16_t Ch0, uint16_t Ch1) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
379 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
380 | uint8_t x[4] = {1,8,16,120}; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
381 | unsigned long iac; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
382 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
383 | unsigned long ALSIT = 2.73 * (256 - APDS9930_DEFAULT_ATIME); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
384 | if ((Ch0 - APDS9930_ALS_B * Ch1) > (APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1)) |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
385 | iac = Ch0 - APDS9930_ALS_B * Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
386 | else |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
387 | iac = APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
388 | //unsigned long iac = max(Ch0 - APDS9930_ALS_B * Ch1, APDS9930_ALS_C * Ch0 - APDS9930_ALS_D * Ch1); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
389 | // if (iac < 0) iac = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
390 | unsigned long lpc = APDS9930_GA * APDS9930_DF / (ALSIT * x[apds9930_getAmbientLightGain(dev)]); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
391 | return iac * lpc; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
392 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
393 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
394 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
395 | esp_err_t apds9930_readCh0Light(apds9930_t *dev, uint16_t *val) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
396 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
397 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
398 | *val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
399 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
400 | CHECK_ARG(dev); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
401 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
402 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
403 | /* Read value from channel 0 */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
404 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch0DATAL, &val_byte, 1), "Read ch0 low"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
405 | *val = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
406 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch0DATAH, &val_byte, 1), "Read ch0 high"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
407 | *val += ((uint16_t)val_byte << 8); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
408 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
409 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
410 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
411 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
412 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
413 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
414 | esp_err_t apds9930_readCh1Light(apds9930_t *dev, uint16_t *val) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
415 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
416 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
417 | *val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
418 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
419 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
420 | /* Read value from channel 1 */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
421 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAL, &val_byte, 1), "Read ch1 low"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
422 | *val = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
423 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAH, &val_byte, 1), "Read ch1 high"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
424 | *val += ((uint16_t)val_byte << 8); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
425 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
426 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
427 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
428 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
429 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
430 | /******************************************************************************* |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
431 | * Proximity sensor controls |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
432 | ******************************************************************************/ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
433 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
434 | esp_err_t apds9930_readProximity(apds9930_t *dev, uint16_t *val) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
435 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
436 | *val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
437 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
438 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
439 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
440 | /* Read value from proximity data register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
441 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAL, &val_byte, 1), "Read proximity low"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
442 | *val = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
443 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAH, &val_byte, 1), "Read proximity high"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
444 | *val += ((uint16_t)val_byte << 8); |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
445 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
446 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
447 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
448 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
449 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
450 | /******************************************************************************* |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
451 | * Getters and setters for register values |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
452 | ******************************************************************************/ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
453 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
454 | uint16_t apds9930_getProximityIntLowThreshold(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
455 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
456 | uint16_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
457 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
458 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
459 | /* Read value from PILT register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
460 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
461 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTL, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
462 | val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
463 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
464 | val = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
465 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTH, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
466 | val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
467 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
468 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
469 | val |= ((uint16_t)val_byte << 8); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
470 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
471 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
472 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
473 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
474 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
475 | esp_err_t apds9930_setProximityIntLowThreshold(apds9930_t *dev, uint16_t threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
476 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
477 | uint8_t lo; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
478 | uint8_t hi; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
479 | hi = threshold >> 8; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
480 | lo = threshold & 0x00FF; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
481 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
482 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
483 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTL, &lo, 1), "Write PILTL"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
484 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTH, &hi, 1), "Write PILTH"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
485 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
486 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
487 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
488 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
489 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
490 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
491 | uint16_t apds9930_getProximityIntHighThreshold(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
492 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
493 | uint16_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
494 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
495 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
496 | /* Read value from PIHT register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
497 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
498 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTL, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
499 | val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
500 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
501 | val = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
502 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTH, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
503 | val = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
504 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
505 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
506 | val |= ((uint16_t)val_byte << 8); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
507 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
508 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
509 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
510 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
511 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
512 | esp_err_t apds9930_setProximityIntHighThreshold(apds9930_t *dev, uint16_t threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
513 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
514 | uint8_t lo; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
515 | uint8_t hi; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
516 | hi = threshold >> 8; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
517 | lo = threshold & 0x00FF; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
518 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
519 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
520 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTL, &lo, 1), "Write PIHTL"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
521 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTH, &hi, 1), "Write PIHTH"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
522 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
523 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
524 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
525 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
526 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
527 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
528 | uint8_t apds9930_getLEDDrive(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
529 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
530 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
531 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
532 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
533 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
534 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
535 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
536 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
537 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
538 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
539 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
540 | /* Shift and mask out LED drive bits */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
541 | val = (val >> 6) & 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
542 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
543 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
544 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
545 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
546 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
547 | esp_err_t apds9930_setLEDDrive(apds9930_t *dev, uint8_t drive) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
548 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
549 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
550 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
551 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
552 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
553 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
554 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
555 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
556 | drive &= 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
557 | drive = drive << 6; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
558 | val &= 0b00111111; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
559 | val |= drive; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
560 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
561 | /* Write register value back into CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
562 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
563 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
564 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
565 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
566 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
567 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
568 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
569 | uint8_t apds9930_getProximityGain(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
570 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
571 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
572 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
573 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
574 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
575 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
576 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
577 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
578 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
579 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
580 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
581 | /* Shift and mask out PDRIVE bits */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
582 | val = (val >> 2) & 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
583 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
584 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
585 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
586 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
587 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
588 | esp_err_t apds9930_setProximityGain(apds9930_t *dev, uint8_t drive) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
589 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
590 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
591 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
592 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
593 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
594 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
595 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
596 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
597 | drive &= 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
598 | drive = drive << 2; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
599 | val &= 0b11110011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
600 | val |= drive; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
601 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
602 | /* Write register value back into CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
603 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
604 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
605 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
606 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
607 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
608 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
609 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
610 | uint8_t apds9930_getProximityDiode(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
611 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
612 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
613 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
614 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
615 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
616 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
617 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
618 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
619 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
620 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
621 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
622 | /* Shift and mask out PDRIVE bits */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
623 | val = (val >> 4) & 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
624 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
625 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
626 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
627 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
628 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
629 | esp_err_t apds9930_setProximityDiode(apds9930_t *dev, uint8_t drive) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
630 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
631 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
632 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
633 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
634 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
635 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
636 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
637 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
638 | drive &= 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
639 | drive = drive << 4; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
640 | val &= 0b11001111; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
641 | val |= drive; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
642 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
643 | /* Write register value back into CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
644 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
645 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
646 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
647 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
648 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
649 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
650 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
651 | uint8_t apds9930_getAmbientLightGain(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
652 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
653 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
654 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
655 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
656 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
657 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
658 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
659 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
660 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
661 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
662 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
663 | /* Shift and mask out ADRIVE bits */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
664 | val &= 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
665 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
666 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
667 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
668 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
669 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
670 | esp_err_t apds9930_setAmbientLightGain(apds9930_t *dev, uint8_t drive) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
671 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
672 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
673 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
674 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
675 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
676 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
677 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
678 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
679 | drive &= 0b00000011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
680 | val &= 0b11111100; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
681 | val |= drive; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
682 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
683 | /* Write register value back into CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
684 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
685 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
686 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
687 | return true; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
688 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
689 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
690 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
691 | uint8_t apds9930_getAmbientGainLevel(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
692 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
693 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
694 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
695 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
696 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
697 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
698 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
699 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
700 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
701 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
702 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
703 | /* Shift and mask out AGL bit */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
704 | val = (val >> 2) & 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
705 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
706 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
707 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
708 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
709 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
710 | esp_err_t apds9930_setAmbientGainLevel(apds9930_t *dev, uint8_t enable) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
711 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
712 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
713 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
714 | /* Read value from CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
715 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
716 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
717 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
718 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
719 | enable &= 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
720 | enable = enable << 2; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
721 | val &= 0b11111011; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
722 | val |= enable; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
723 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
724 | /* Write register value back into CONTROL register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
725 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
726 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
727 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
728 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
729 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
730 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
731 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
732 | esp_err_t apds9930_getLightIntLowThreshold(apds9930_t *dev, uint16_t *threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
733 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
734 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
735 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
736 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
737 | /* Read value from ambient light low threshold, low byte register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
738 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
739 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTL, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
740 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
741 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
742 | *threshold = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
743 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTH, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
744 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
745 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
746 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
747 | *threshold = *threshold + ((uint16_t)val_byte << 8); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
748 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
749 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
750 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
751 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
752 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
753 | esp_err_t apds9930_setLightIntLowThreshold(apds9930_t *dev, uint16_t threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
754 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
755 | uint8_t val_low; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
756 | uint8_t val_high; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
757 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
758 | /* Break 16-bit threshold into 2 8-bit values */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
759 | val_low = threshold & 0x00FF; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
760 | val_high = (threshold & 0xFF00) >> 8; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
761 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
762 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
763 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTL, &val_low, 1), "Write AILTL"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
764 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTH, &val_high, 1), "Write AILTH"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
765 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
766 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
767 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
768 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
769 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
770 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
771 | esp_err_t apds9930_getLightIntHighThreshold(apds9930_t *dev, uint16_t *threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
772 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
773 | uint8_t val_byte; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
774 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
775 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
776 | /* Read value from ambient light high threshold, low byte register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
777 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
778 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTL, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
779 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
780 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
781 | *threshold = val_byte; |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
782 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTH, &val_byte, 1) != ESP_OK) { |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
783 | *threshold = 0; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
784 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
785 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
786 | *threshold = *threshold + ((uint16_t)val_byte << 8); |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
787 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
788 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
789 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
790 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
791 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
792 | esp_err_t apds9930_setLightIntHighThreshold(apds9930_t *dev, uint16_t threshold) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
793 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
794 | uint8_t val_low; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
795 | uint8_t val_high; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
796 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
797 | /* Break 16-bit threshold into 2 8-bit values */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
798 | val_low = threshold & 0x00FF; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
799 | val_high = (threshold & 0xFF00) >> 8; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
800 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
801 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
802 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTL, &val_low, 1), "Write AIHTL"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
803 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTH, &val_high, 1), "Write AIHTH"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
804 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
805 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
806 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
807 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
808 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
809 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
810 | uint8_t apds9930_getAmbientLightIntEnable(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
811 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
812 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
813 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
814 | /* Read value from ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
815 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
816 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
817 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
818 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
819 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
820 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
821 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
822 | /* Shift and mask out AIEN bit */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
823 | val = (val >> 4) & 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
824 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
825 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
826 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
827 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
828 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
829 | esp_err_t apds9930_setAmbientLightIntEnable(apds9930_t *dev, uint8_t enable) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
830 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
831 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
832 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
833 | /* Read value from ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
834 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
835 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Read enable"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
836 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
837 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
838 | enable &= 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
839 | enable = enable << 4; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
840 | val &= 0b11101111; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
841 | val |= enable; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
842 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
843 | /* Write register value back into ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
844 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Write enable"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
845 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
846 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
847 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
848 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
849 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
850 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
851 | uint8_t apds9930_getProximityIntEnable(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
852 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
853 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
854 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
855 | /* Read value from ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
856 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
857 | if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1) != ESP_OK) { |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
858 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
859 | return APDS9930_ERROR;; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
860 | } |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
861 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
862 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
863 | /* Shift and mask out PIEN bit */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
864 | val = (val >> 5) & 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
865 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
866 | return val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
867 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
868 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
869 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
870 | esp_err_t apds9930_setProximityIntEnable(apds9930_t *dev, uint8_t enable) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
871 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
872 | uint8_t val; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
873 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
874 | /* Read value from ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
875 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
876 | CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Read enable"); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
877 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
878 | /* Set bits in register to given value */ |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
879 | enable &= 0b00000001; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
880 | enable = enable << 5; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
881 | val &= 0b11011111; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
882 | val |= enable; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
883 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
884 | /* Write register value back into ENABLE register */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
885 | CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Write enable"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
886 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
887 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
888 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
889 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
890 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
891 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
892 | esp_err_t apds9930_clearAmbientLightInt(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
893 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
894 | uint8_t val = APDS9930_CLEAR_ALS_INT; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
895 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
896 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
897 | /* This should write to the chip without register address */ |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
898 | CHECK_LOGE(dev, i2c_dev_write(&dev->i2c_dev, NULL, 0, &val, 1), "Clear ALS_INT"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
899 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
900 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
901 | // if( !wireWriteByte(CLEAR_ALS_INT) ) { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
902 | // return false; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
903 | //} |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
904 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
905 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
906 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
907 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
908 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
909 | esp_err_t apds9930_clearProximityInt(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
910 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
911 | uint8_t val = APDS9930_CLEAR_PROX_INT; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
912 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
913 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
914 | CHECK_LOGE(dev, i2c_dev_write(&dev->i2c_dev, NULL, 0, &val, 1), "Clear PROX_INT"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
915 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
916 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
917 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
918 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
919 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
920 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
921 | esp_err_t apds9930_clearAllInts(apds9930_t *dev) |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
922 | { |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
923 | uint8_t val = APDS9930_CLEAR_ALL_INTS; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
924 | |
12
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
925 | I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
926 | CHECK_LOGE(dev, i2c_dev_write(&dev->i2c_dev, NULL, 0, &val, 1), "Clear ALL_INTS"); |
bb72d448e282
In the esp-idf-lib the adps9930 driver uses a device descriptor structure instead of just i2c_dev_t. Fixed a linking issue. Added APDS9930 task. Added getLightValues function. Added wifi quality value to the MQTT payload. The payload is complete and will be published.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
927 | I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); |
11
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
928 | |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
929 | return ESP_OK; |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
930 | } |
bdc123ae7b49
Added untested port of the Arduino APDS9930 library as component into the esp-idf-lib.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
931 |