Apply clang-format to library files
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
77715e7a5d
commit
4fd054b01e
2 changed files with 225 additions and 79 deletions
|
|
@ -410,9 +410,9 @@ float Adafruit_VEML6046::calculateLux(uint16_t green_count) {
|
|||
veml6046_integration_time_t it = getIntegrationTime();
|
||||
veml6046_gain_t gain = getRGBGain();
|
||||
bool half_pd = getPhotoDiodeHalfSize();
|
||||
|
||||
|
||||
float resolution = 0.0;
|
||||
|
||||
|
||||
// Resolution table from datasheet (lx/cnt)
|
||||
// TABLE 13 - 2/2 PD USED, TABLE 14 - 1/2 PD USED
|
||||
if (half_pd) {
|
||||
|
|
@ -420,138 +420,266 @@ float Adafruit_VEML6046::calculateLux(uint16_t green_count) {
|
|||
switch (it) {
|
||||
case VEML6046_IT_400MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0105; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0210; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.0318; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0105;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0210;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.0318;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_200MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0210; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.0636; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0210;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.0636;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_100MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.1273; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.1273;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_50MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.2545; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.2545;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_25MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.5091; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.5091;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_12_5MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 1.0182; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 1.3440; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 1.0182;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 1.3440;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_6_25MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_1X: resolution = 1.3440; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 2.0364; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 2.6880; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 1.3440;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 2.0364;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 2.6880;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_3_125MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 1.3440; break;
|
||||
case VEML6046_GAIN_1X: resolution = 2.6880; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 4.0727; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 5.3760; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 1.3440;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 2.6880;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 4.0727;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 5.3760;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// 2/2 PD used - TABLE 13
|
||||
// 2/2 PD used - TABLE 13
|
||||
switch (it) {
|
||||
case VEML6046_IT_400MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0053; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0105; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.0159; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.0210; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0053;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0105;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.0159;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.0210;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_200MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0105; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0210; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.0318; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0105;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0210;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.0318;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_100MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0210; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.0636; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0210;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.0636;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_50MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0420; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.1273; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0420;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.1273;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_25MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.0840; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.2545; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.0840;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.2545;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_12_5MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.1680; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 0.5091; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.1680;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 0.5091;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_6_25MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.3360; break;
|
||||
case VEML6046_GAIN_1X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 1.0182; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 1.3440; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.3360;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 1.0182;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 1.3440;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VEML6046_IT_3_125MS:
|
||||
switch (gain) {
|
||||
case VEML6046_GAIN_2X: resolution = 0.6720; break;
|
||||
case VEML6046_GAIN_1X: resolution = 1.3440; break;
|
||||
case VEML6046_GAIN_0_66X: resolution = 2.0364; break;
|
||||
case VEML6046_GAIN_0_5X: resolution = 2.6880; break;
|
||||
case VEML6046_GAIN_2X:
|
||||
resolution = 0.6720;
|
||||
break;
|
||||
case VEML6046_GAIN_1X:
|
||||
resolution = 1.3440;
|
||||
break;
|
||||
case VEML6046_GAIN_0_66X:
|
||||
resolution = 2.0364;
|
||||
break;
|
||||
case VEML6046_GAIN_0_5X:
|
||||
resolution = 2.6880;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return green_count * resolution;
|
||||
}
|
||||
|
|
@ -178,7 +178,7 @@ void setup() {
|
|||
} else {
|
||||
Serial.println(F("Failed to set green low threshold"));
|
||||
}
|
||||
|
||||
|
||||
if (veml.setGreenThresholdHigh(10000)) {
|
||||
Serial.println(F("Green high threshold set successfully"));
|
||||
} else {
|
||||
|
|
@ -192,20 +192,38 @@ void setup() {
|
|||
Serial.print(low_thresh);
|
||||
Serial.print(F(", High: "));
|
||||
Serial.println(high_thresh);
|
||||
|
||||
|
||||
// Calculate optimal delay based on current integration time + 5ms buffer
|
||||
current_it = veml.getIntegrationTime();
|
||||
sample_delay_ms = 5; // Base 5ms buffer
|
||||
switch (current_it) {
|
||||
case VEML6046_IT_3_125MS: sample_delay_ms += 4; break; // 3.125ms rounded up
|
||||
case VEML6046_IT_6_25MS: sample_delay_ms += 7; break; // 6.25ms rounded up
|
||||
case VEML6046_IT_12_5MS: sample_delay_ms += 13; break; // 12.5ms rounded up
|
||||
case VEML6046_IT_25MS: sample_delay_ms += 25; break;
|
||||
case VEML6046_IT_50MS: sample_delay_ms += 50; break;
|
||||
case VEML6046_IT_100MS: sample_delay_ms += 100; break;
|
||||
case VEML6046_IT_200MS: sample_delay_ms += 200; break;
|
||||
case VEML6046_IT_400MS: sample_delay_ms += 400; break;
|
||||
default: sample_delay_ms += 25; break; // Default fallback
|
||||
case VEML6046_IT_3_125MS:
|
||||
sample_delay_ms += 4;
|
||||
break; // 3.125ms rounded up
|
||||
case VEML6046_IT_6_25MS:
|
||||
sample_delay_ms += 7;
|
||||
break; // 6.25ms rounded up
|
||||
case VEML6046_IT_12_5MS:
|
||||
sample_delay_ms += 13;
|
||||
break; // 12.5ms rounded up
|
||||
case VEML6046_IT_25MS:
|
||||
sample_delay_ms += 25;
|
||||
break;
|
||||
case VEML6046_IT_50MS:
|
||||
sample_delay_ms += 50;
|
||||
break;
|
||||
case VEML6046_IT_100MS:
|
||||
sample_delay_ms += 100;
|
||||
break;
|
||||
case VEML6046_IT_200MS:
|
||||
sample_delay_ms += 200;
|
||||
break;
|
||||
case VEML6046_IT_400MS:
|
||||
sample_delay_ms += 400;
|
||||
break;
|
||||
default:
|
||||
sample_delay_ms += 25;
|
||||
break; // Default fallback
|
||||
}
|
||||
Serial.print(F("Using sample delay: "));
|
||||
Serial.print(sample_delay_ms);
|
||||
|
|
|
|||
Loading…
Reference in a new issue