Apply clang-format and reorder CI workflow

- Format all source files with clang-format
- Run clang-format check before platform tests in CI

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ladyada 2025-08-17 13:08:28 -04:00
parent 0646e885e7
commit 7124d7a9bb
4 changed files with 184 additions and 133 deletions

View file

@ -20,12 +20,12 @@ jobs:
- name: pre-install - name: pre-install
run: bash ci/actions_install.sh run: bash ci/actions_install.sh
- name: test platforms
run: python3 ci/build_platform.py main_platforms
- name: clang - name: clang
run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r . run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r .
- name: test platforms
run: python3 ci/build_platform.py main_platforms
- name: doxygen - name: doxygen
env: env:
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }} GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}

View file

@ -31,7 +31,9 @@
/*! /*!
* @brief Instantiates a new VEML6046 class * @brief Instantiates a new VEML6046 class
*/ */
Adafruit_VEML6046::Adafruit_VEML6046() { i2c_dev = nullptr; } Adafruit_VEML6046::Adafruit_VEML6046() {
i2c_dev = nullptr;
}
/*! /*!
* @brief Cleans up the VEML6046 * @brief Cleans up the VEML6046
@ -50,7 +52,7 @@ Adafruit_VEML6046::~Adafruit_VEML6046() {
* The Wire object to be used for I2C connections. * The Wire object to be used for I2C connections.
* @return True if initialization was successful, otherwise false. * @return True if initialization was successful, otherwise false.
*/ */
bool Adafruit_VEML6046::begin(uint8_t i2c_addr, TwoWire *wire) { bool Adafruit_VEML6046::begin(uint8_t i2c_addr, TwoWire* wire) {
if (i2c_dev) { if (i2c_dev) {
delete i2c_dev; delete i2c_dev;
} }
@ -62,7 +64,8 @@ bool Adafruit_VEML6046::begin(uint8_t i2c_addr, TwoWire *wire) {
} }
// Check device ID // Check device ID
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_ID_L, 2, LSBFIRST); Adafruit_BusIO_Register id_reg =
Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_ID_L, 2, LSBFIRST);
uint16_t chip_id = id_reg.read(); uint16_t chip_id = id_reg.read();
if (chip_id != 0x0001) { if (chip_id != 0x0001) {
@ -88,8 +91,10 @@ bool Adafruit_VEML6046::begin(uint8_t i2c_addr, TwoWire *wire) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setIntegrationTime(veml6046_integration_time_t it) { bool Adafruit_VEML6046::setIntegrationTime(veml6046_integration_time_t it) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_it_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 3, 4); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_it_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 3, 4);
return rgb_it_bits.write(it); return rgb_it_bits.write(it);
} }
@ -99,8 +104,10 @@ bool Adafruit_VEML6046::setIntegrationTime(veml6046_integration_time_t it) {
* @return Current integration time setting * @return Current integration time setting
*/ */
veml6046_integration_time_t Adafruit_VEML6046::getIntegrationTime(void) { veml6046_integration_time_t Adafruit_VEML6046::getIntegrationTime(void) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_it_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 3, 4); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_it_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 3, 4);
return (veml6046_integration_time_t)rgb_it_bits.read(); return (veml6046_integration_time_t)rgb_it_bits.read();
} }
@ -111,8 +118,10 @@ veml6046_integration_time_t Adafruit_VEML6046::getIntegrationTime(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setRGBModeForced(bool forced) { bool Adafruit_VEML6046::setRGBModeForced(bool forced) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_mode_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 3); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_mode_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 3);
return rgb_mode_bits.write(forced ? 1 : 0); return rgb_mode_bits.write(forced ? 1 : 0);
} }
@ -122,8 +131,10 @@ bool Adafruit_VEML6046::setRGBModeForced(bool forced) {
* @return True if in active force mode, false if in auto mode * @return True if in active force mode, false if in auto mode
*/ */
bool Adafruit_VEML6046::getRGBModeForced(void) { bool Adafruit_VEML6046::getRGBModeForced(void) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_mode_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 3); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_mode_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 3);
return rgb_mode_bits.read() == 1; return rgb_mode_bits.read() == 1;
} }
@ -133,8 +144,10 @@ bool Adafruit_VEML6046::getRGBModeForced(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::RGBTrigger(void) { bool Adafruit_VEML6046::RGBTrigger(void) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_trig_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 2); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_trig_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 2);
return rgb_trig_bits.write(1); return rgb_trig_bits.write(1);
} }
@ -144,8 +157,10 @@ bool Adafruit_VEML6046::RGBTrigger(void) {
* @return True if measurement in progress, false if complete * @return True if measurement in progress, false if complete
*/ */
bool Adafruit_VEML6046::isTriggered(void) { bool Adafruit_VEML6046::isTriggered(void) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits rgb_trig_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 2); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits rgb_trig_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 2);
return rgb_trig_bits.read() == 1; return rgb_trig_bits.read() == 1;
} }
@ -156,8 +171,10 @@ bool Adafruit_VEML6046::isTriggered(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setGreenIntEnabled(bool enabled) { bool Adafruit_VEML6046::setGreenIntEnabled(bool enabled) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits g_int_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 1); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits g_int_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 1);
return g_int_bits.write(enabled ? 1 : 0); return g_int_bits.write(enabled ? 1 : 0);
} }
@ -167,8 +184,10 @@ bool Adafruit_VEML6046::setGreenIntEnabled(bool enabled) {
* @return True if interrupt enabled, false if disabled * @return True if interrupt enabled, false if disabled
*/ */
bool Adafruit_VEML6046::getGreenIntEnabled(void) { bool Adafruit_VEML6046::getGreenIntEnabled(void) {
Adafruit_BusIO_Register rgb_conf0_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1); Adafruit_BusIO_Register rgb_conf0_reg =
Adafruit_BusIO_RegisterBits g_int_bits = Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 1); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 1);
Adafruit_BusIO_RegisterBits g_int_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf0_reg, 1, 1);
return g_int_bits.read() == 1; return g_int_bits.read() == 1;
} }
@ -178,8 +197,10 @@ bool Adafruit_VEML6046::getGreenIntEnabled(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::enable(void) { bool Adafruit_VEML6046::enable(void) {
Adafruit_BusIO_Register rgb_conf_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 2, MSBFIRST); Adafruit_BusIO_Register rgb_conf_reg =
Adafruit_BusIO_RegisterBits rgb_on_bits = Adafruit_BusIO_RegisterBits(&rgb_conf_reg, 2, 7); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 2, MSBFIRST);
Adafruit_BusIO_RegisterBits rgb_on_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf_reg, 2, 7);
return rgb_on_bits.write(0x00); return rgb_on_bits.write(0x00);
} }
@ -189,8 +210,10 @@ bool Adafruit_VEML6046::enable(void) {
* @return True if enabled, false if in shutdown * @return True if enabled, false if in shutdown
*/ */
bool Adafruit_VEML6046::isEnabled(void) { bool Adafruit_VEML6046::isEnabled(void) {
Adafruit_BusIO_Register rgb_conf_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 2, MSBFIRST); Adafruit_BusIO_Register rgb_conf_reg =
Adafruit_BusIO_RegisterBits rgb_on_bits = Adafruit_BusIO_RegisterBits(&rgb_conf_reg, 2, 7); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_0, 2, MSBFIRST);
Adafruit_BusIO_RegisterBits rgb_on_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf_reg, 2, 7);
return rgb_on_bits.read() == 0x00; return rgb_on_bits.read() == 0x00;
} }
@ -201,8 +224,10 @@ bool Adafruit_VEML6046::isEnabled(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setPhotoDiodeHalfSize(bool half_size) { bool Adafruit_VEML6046::setPhotoDiodeHalfSize(bool half_size) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits pddiv_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 6); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits pddiv_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 6);
return pddiv_bits.write(half_size ? 1 : 0); return pddiv_bits.write(half_size ? 1 : 0);
} }
@ -212,8 +237,10 @@ bool Adafruit_VEML6046::setPhotoDiodeHalfSize(bool half_size) {
* @return True if 1/2 PD, false if 2/2 PD * @return True if 1/2 PD, false if 2/2 PD
*/ */
bool Adafruit_VEML6046::getPhotoDiodeHalfSize(void) { bool Adafruit_VEML6046::getPhotoDiodeHalfSize(void) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits pddiv_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 6); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits pddiv_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 6);
return pddiv_bits.read() == 1; return pddiv_bits.read() == 1;
} }
@ -224,8 +251,10 @@ bool Adafruit_VEML6046::getPhotoDiodeHalfSize(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setRGBGain(veml6046_gain_t gain) { bool Adafruit_VEML6046::setRGBGain(veml6046_gain_t gain) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits gain_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 3); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits gain_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 3);
return gain_bits.write(gain); return gain_bits.write(gain);
} }
@ -235,8 +264,10 @@ bool Adafruit_VEML6046::setRGBGain(veml6046_gain_t gain) {
* @return Current RGB gain setting * @return Current RGB gain setting
*/ */
veml6046_gain_t Adafruit_VEML6046::getRGBGain(void) { veml6046_gain_t Adafruit_VEML6046::getRGBGain(void) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits gain_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 3); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits gain_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 3);
return (veml6046_gain_t)gain_bits.read(); return (veml6046_gain_t)gain_bits.read();
} }
@ -247,8 +278,10 @@ veml6046_gain_t Adafruit_VEML6046::getRGBGain(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setIntPersistence(veml6046_persistence_t pers) { bool Adafruit_VEML6046::setIntPersistence(veml6046_persistence_t pers) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits pers_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 1); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits pers_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 1);
return pers_bits.write(pers); return pers_bits.write(pers);
} }
@ -258,8 +291,10 @@ bool Adafruit_VEML6046::setIntPersistence(veml6046_persistence_t pers) {
* @return Current persistence setting * @return Current persistence setting
*/ */
veml6046_persistence_t Adafruit_VEML6046::getIntPersistence(void) { veml6046_persistence_t Adafruit_VEML6046::getIntPersistence(void) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits pers_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 1); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits pers_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 2, 1);
return (veml6046_persistence_t)pers_bits.read(); return (veml6046_persistence_t)pers_bits.read();
} }
@ -270,8 +305,10 @@ veml6046_persistence_t Adafruit_VEML6046::getIntPersistence(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setRGBCalibration(bool enabled) { bool Adafruit_VEML6046::setRGBCalibration(bool enabled) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits cal_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 0); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits cal_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 0);
return cal_bits.write(enabled ? 1 : 0); return cal_bits.write(enabled ? 1 : 0);
} }
@ -281,8 +318,10 @@ bool Adafruit_VEML6046::setRGBCalibration(bool enabled) {
* @return True if calibration enabled, false if disabled * @return True if calibration enabled, false if disabled
*/ */
bool Adafruit_VEML6046::getRGBCalibration(void) { bool Adafruit_VEML6046::getRGBCalibration(void) {
Adafruit_BusIO_Register rgb_conf1_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1); Adafruit_BusIO_Register rgb_conf1_reg =
Adafruit_BusIO_RegisterBits cal_bits = Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 0); Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_RGB_CONF_1, 1);
Adafruit_BusIO_RegisterBits cal_bits =
Adafruit_BusIO_RegisterBits(&rgb_conf1_reg, 1, 0);
return cal_bits.read() == 1; return cal_bits.read() == 1;
} }
@ -293,7 +332,8 @@ bool Adafruit_VEML6046::getRGBCalibration(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setGreenThresholdHigh(uint16_t threshold) { bool Adafruit_VEML6046::setGreenThresholdHigh(uint16_t threshold) {
Adafruit_BusIO_Register thdh_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDH_L, 2, LSBFIRST); Adafruit_BusIO_Register thdh_reg =
Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDH_L, 2, LSBFIRST);
return thdh_reg.write(threshold); return thdh_reg.write(threshold);
} }
@ -303,7 +343,8 @@ bool Adafruit_VEML6046::setGreenThresholdHigh(uint16_t threshold) {
* @return Current high threshold value * @return Current high threshold value
*/ */
uint16_t Adafruit_VEML6046::getGreenThresholdHigh(void) { uint16_t Adafruit_VEML6046::getGreenThresholdHigh(void) {
Adafruit_BusIO_Register thdh_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDH_L, 2, LSBFIRST); Adafruit_BusIO_Register thdh_reg =
Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDH_L, 2, LSBFIRST);
return thdh_reg.read(); return thdh_reg.read();
} }
@ -314,7 +355,8 @@ uint16_t Adafruit_VEML6046::getGreenThresholdHigh(void) {
* @return True if successful, false if I2C write failed * @return True if successful, false if I2C write failed
*/ */
bool Adafruit_VEML6046::setGreenThresholdLow(uint16_t threshold) { bool Adafruit_VEML6046::setGreenThresholdLow(uint16_t threshold) {
Adafruit_BusIO_Register thdl_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDL_L, 2, LSBFIRST); Adafruit_BusIO_Register thdl_reg =
Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDL_L, 2, LSBFIRST);
return thdl_reg.write(threshold); return thdl_reg.write(threshold);
} }
@ -324,7 +366,8 @@ bool Adafruit_VEML6046::setGreenThresholdLow(uint16_t threshold) {
* @return Current low threshold value * @return Current low threshold value
*/ */
uint16_t Adafruit_VEML6046::getGreenThresholdLow(void) { uint16_t Adafruit_VEML6046::getGreenThresholdLow(void) {
Adafruit_BusIO_Register thdl_reg = Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDL_L, 2, LSBFIRST); Adafruit_BusIO_Register thdl_reg =
Adafruit_BusIO_Register(i2c_dev, VEML6046_REG_G_THDL_L, 2, LSBFIRST);
return thdl_reg.read(); return thdl_reg.read();
} }
@ -337,7 +380,8 @@ uint16_t Adafruit_VEML6046::getGreenThresholdLow(void) {
* @param ir Pointer to store IR channel data * @param ir Pointer to store IR channel data
* @return True if successful, false if I2C read failed * @return True if successful, false if I2C read failed
*/ */
bool Adafruit_VEML6046::getData(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *ir) { bool Adafruit_VEML6046::getData(uint16_t* r, uint16_t* g, uint16_t* b,
uint16_t* ir) {
if (!r || !g || !b || !ir) { if (!r || !g || !b || !ir) {
return false; return false;
} }

View file

@ -20,10 +20,11 @@
#ifndef _ADAFRUIT_VEML6046_H #ifndef _ADAFRUIT_VEML6046_H
#define _ADAFRUIT_VEML6046_H #define _ADAFRUIT_VEML6046_H
#include "Arduino.h"
#include <Adafruit_BusIO_Register.h> #include <Adafruit_BusIO_Register.h>
#include <Adafruit_I2CDevice.h> #include <Adafruit_I2CDevice.h>
#include "Arduino.h"
/*! Default I2C address for VEML6046 */ /*! Default I2C address for VEML6046 */
#define VEML6046_DEFAULT_ADDR 0x29 #define VEML6046_DEFAULT_ADDR 0x29
@ -84,10 +85,10 @@ typedef enum {
* @brief Main VEML6046 class for RGBIR color sensor * @brief Main VEML6046 class for RGBIR color sensor
*/ */
class Adafruit_VEML6046 { class Adafruit_VEML6046 {
public: public:
Adafruit_VEML6046(); Adafruit_VEML6046();
~Adafruit_VEML6046(); ~Adafruit_VEML6046();
bool begin(uint8_t i2c_addr = VEML6046_DEFAULT_ADDR, TwoWire *wire = &Wire); bool begin(uint8_t i2c_addr = VEML6046_DEFAULT_ADDR, TwoWire* wire = &Wire);
bool setIntegrationTime(veml6046_integration_time_t it); bool setIntegrationTime(veml6046_integration_time_t it);
veml6046_integration_time_t getIntegrationTime(void); veml6046_integration_time_t getIntegrationTime(void);
@ -122,10 +123,10 @@ public:
bool setGreenThresholdLow(uint16_t threshold); bool setGreenThresholdLow(uint16_t threshold);
uint16_t getGreenThresholdLow(void); uint16_t getGreenThresholdLow(void);
bool getData(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *ir); bool getData(uint16_t* r, uint16_t* g, uint16_t* b, uint16_t* ir);
private: private:
Adafruit_I2CDevice *i2c_dev; ///< Pointer to I2C bus interface Adafruit_I2CDevice* i2c_dev; ///< Pointer to I2C bus interface
}; };
#endif #endif

View file

@ -1,8 +1,8 @@
/* /*
* Test sketch for VEML6046 RGBIR color sensor * Test sketch for VEML6046 RGBIR color sensor
* *
* Written by Limor 'ladyada' Fried with assistance from Claude Code for Adafruit Industries. * Written by Limor 'ladyada' Fried with assistance from Claude Code for
* MIT license, check license.txt for more information * Adafruit Industries. MIT license, check license.txt for more information
*/ */
#include "Adafruit_VEML6046.h" #include "Adafruit_VEML6046.h"
@ -11,13 +11,15 @@ Adafruit_VEML6046 veml = Adafruit_VEML6046();
void setup() { void setup() {
Serial.begin(115200); Serial.begin(115200);
while (!Serial) delay(10); while (!Serial)
delay(10);
Serial.println(F("VEML6046 test")); Serial.println(F("VEML6046 test"));
if (!veml.begin()) { if (!veml.begin()) {
Serial.println(F("Couldn't find VEML6046 chip")); Serial.println(F("Couldn't find VEML6046 chip"));
while (1) delay(10); while (1)
delay(10);
} }
Serial.println(F("Found VEML6046 chip")); Serial.println(F("Found VEML6046 chip"));
@ -115,10 +117,14 @@ void loop() {
// Read RGBIR data in continuous mode // Read RGBIR data in continuous mode
uint16_t r, g, b, ir; uint16_t r, g, b, ir;
if (veml.getData(&r, &g, &b, &ir)) { if (veml.getData(&r, &g, &b, &ir)) {
Serial.print(F("R: ")); Serial.print(r); Serial.print(F("R: "));
Serial.print(F(" G: ")); Serial.print(g); Serial.print(r);
Serial.print(F(" B: ")); Serial.print(b); Serial.print(F(" G: "));
Serial.print(F(" IR: ")); Serial.println(ir); Serial.print(g);
Serial.print(F(" B: "));
Serial.print(b);
Serial.print(F(" IR: "));
Serial.println(ir);
} else { } else {
Serial.println(F("Failed to read data")); Serial.println(F("Failed to read data"));
} }