Skip to content

Commit e453570

Browse files
committed
change how reg ids are specified - just use constexpr and not enums, which require casts on some older platforms/compilers
1 parent 79efa70 commit e453570

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

src/sfTk/sfDevVEML7700.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ sfTkError_t sfDevVEML7700::updateConfiguration(sfDevVEML7700Config_t &config)
116116
if (_theBus == nullptr)
117117
return ksfTkErrBusNotInit; // Not initialized
118118

119-
return _theBus->readRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
119+
return _theBus->readRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
120120
}
121121
//--------------------------------------------------------------------------------------------------
122122
// Begin the VEML7700 device. Requires a bus object to communicate with the device.
@@ -141,7 +141,7 @@ sfTkError_t sfDevVEML7700::begin(sfTkIBus *theBus)
141141
configurationRegister.CONFIG_REG_IT = (VEML7700_t)integrationTimeConfig(VEML7700_INTEGRATION_100ms);
142142
configurationRegister.CONFIG_REG_SM = VEML7700_SENSITIVITY_x1;
143143

144-
return theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, configurationRegister.all);
144+
return theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, configurationRegister.all);
145145
}
146146

147147
//--------------------------------------------------------------------------------------------------
@@ -167,7 +167,7 @@ sfTkError_t sfDevVEML7700::setShutdown(bool shutdown)
167167

168168
config.CONFIG_REG_SD = shutdown ? VEML7700_SHUT_DOWN : VEML7700_POWER_ON;
169169

170-
return _theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
170+
return _theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
171171
}
172172

173173
//--------------------------------------------------------------------------------------------------
@@ -199,7 +199,7 @@ sfTkError_t sfDevVEML7700::enableInterrupt(bool bEnable)
199199

200200
config.CONFIG_REG_INT_EN = (VEML7700_t)bEnable;
201201

202-
return _theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
202+
return _theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
203203
}
204204
//--------------------------------------------------------------------------------------------------
205205
// Get the interrupt enable setting.
@@ -233,7 +233,7 @@ sfTkError_t sfDevVEML7700::setPersistenceProtect(VEML7700_persistence_protect_t
233233
return rc; // Error reading the configuration register
234234

235235
config.CONFIG_REG_PERS = (VEML7700_t)pp;
236-
return _theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
236+
return _theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
237237
}
238238
//--------------------------------------------------------------------------------------------------
239239
// Get the VEML7700's Persistence Protect Number setting
@@ -291,7 +291,7 @@ sfTkError_t sfDevVEML7700::setIntegrationTime(VEML7700_integration_time_t it)
291291
return rc; // Error reading the configuration register
292292

293293
config.CONFIG_REG_IT = (VEML7700_t)integrationTimeConfig(it);
294-
return _theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
294+
return _theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
295295
}
296296

297297
//--------------------------------------------------------------------------------------------------
@@ -349,7 +349,7 @@ sfTkError_t sfDevVEML7700::setSensitivityMode(VEML7700_sensitivity_mode_t sm)
349349
return rc; // Error reading the configuration register
350350

351351
config.CONFIG_REG_SM = (VEML7700_t)sm;
352-
return _theBus->writeRegister((uint8_t)VEML7700_CONFIGURATION_REGISTER, config.all);
352+
return _theBus->writeRegister(VEML7700_CONFIGURATION_REGISTER, config.all);
353353
}
354354

355355
//--------------------------------------------------------------------------------------------------
@@ -397,7 +397,7 @@ const char *sfDevVEML7700::sensitivityModeString()
397397
//
398398
sfTkError_t sfDevVEML7700::setHighThreshold(uint16_t threshold)
399399
{
400-
return _theBus->writeRegister((uint8_t)VEML7700_HIGH_THRESHOLD, threshold);
400+
return _theBus->writeRegister(VEML7700_HIGH_THRESHOLD, threshold);
401401
}
402402

403403
//--------------------------------------------------------------------------------------------------
@@ -406,7 +406,7 @@ sfTkError_t sfDevVEML7700::setHighThreshold(uint16_t threshold)
406406

407407
sfTkError_t sfDevVEML7700::getHighThreshold(uint16_t &threshold)
408408
{
409-
return _theBus->readRegister((uint8_t)VEML7700_HIGH_THRESHOLD, threshold);
409+
return _theBus->readRegister(VEML7700_HIGH_THRESHOLD, threshold);
410410
}
411411
//--------------------------------------------------------------------------------------------------
412412
// Get the VEML7700's ALS high threshold window setting (ALS_WH)
@@ -424,15 +424,15 @@ uint16_t sfDevVEML7700::highThreshold(void)
424424
//
425425
sfTkError_t sfDevVEML7700::setLowThreshold(uint16_t threshold)
426426
{
427-
return _theBus->writeRegister((uint8_t)VEML7700_LOW_THRESHOLD, threshold);
427+
return _theBus->writeRegister(VEML7700_LOW_THRESHOLD, threshold);
428428
}
429429

430430
//---------------------------------------------------------------------------------------------------
431431
// Get the VEML7700's ALS low threshold window setting (ALS_WL) - returning an error code as well as the value
432432
//
433433
sfTkError_t sfDevVEML7700::getLowThreshold(uint16_t &threshold)
434434
{
435-
return _theBus->readRegister((uint8_t)VEML7700_LOW_THRESHOLD, threshold);
435+
return _theBus->readRegister(VEML7700_LOW_THRESHOLD, threshold);
436436
}
437437

438438
//---------------------------------------------------------------------------------------------------
@@ -451,7 +451,7 @@ uint16_t sfDevVEML7700::lowThreshold(void)
451451
//
452452
sfTkError_t sfDevVEML7700::getAmbientLight(uint16_t &ambient)
453453
{
454-
return _theBus->readRegister((uint8_t)VEML7700_ALS_OUTPUT, ambient);
454+
return _theBus->readRegister(VEML7700_ALS_OUTPUT, ambient);
455455
}
456456

457457
//----------------------------------------------------------------------------------------------------
@@ -471,7 +471,7 @@ uint16_t sfDevVEML7700::getAmbientLight(void)
471471
//
472472
sfTkError_t sfDevVEML7700::getWhiteLevel(uint16_t &whiteLevel)
473473
{
474-
return _theBus->readRegister((uint8_t)VEML7700_WHITE_OUTPUT, whiteLevel);
474+
return _theBus->readRegister(VEML7700_WHITE_OUTPUT, whiteLevel);
475475
}
476476

477477
//----------------------------------------------------------------------------------------------------
@@ -546,7 +546,7 @@ VEML7700_interrupt_status_t sfDevVEML7700::interruptStatus(void)
546546
{
547547
VEML7700_INTERRUPT_STATUS_REGISTER_t isr;
548548

549-
sfTkError_t rc = _theBus->readRegister((uint8_t)VEML7700_INTERRUPT_STATUS, isr.all);
549+
sfTkError_t rc = _theBus->readRegister(VEML7700_INTERRUPT_STATUS, isr.all);
550550

551551
return rc != ksfTkErrOk ? VEML7700_INT_STATUS_INVALID : (VEML7700_interrupt_status_t)isr.INT_STATUS_REG_INT_FLAGS;
552552
}

src/sfTk/sfDevVEML7700.h

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -585,15 +585,13 @@ class sfDevVEML7700
585585
} VEML7700_INTERRUPT_STATUS_REGISTER_t;
586586

587587
// VEML7700 Registers - note types are uint8_t to match the I2C register size
588-
typedef enum : uint8_t
589-
{
590-
VEML7700_CONFIGURATION_REGISTER,
591-
VEML7700_HIGH_THRESHOLD,
592-
VEML7700_LOW_THRESHOLD,
593-
VEML7700_ALS_OUTPUT = 4,
594-
VEML7700_WHITE_OUTPUT,
595-
VEML7700_INTERRUPT_STATUS
596-
} VEML7700_registers_t;
588+
589+
static constexpr uint8_t VEML7700_CONFIGURATION_REGISTER = 0;
590+
static constexpr uint8_t VEML7700_HIGH_THRESHOLD = 1;
591+
static constexpr uint8_t VEML7700_LOW_THRESHOLD = 2;
592+
static constexpr uint8_t VEML7700_ALS_OUTPUT = 4;
593+
static constexpr uint8_t VEML7700_WHITE_OUTPUT = 5;
594+
static constexpr uint8_t VEML7700_INTERRUPT_STATUS = 6;
597595

598596
// ALS integration time setting
599597
typedef enum

0 commit comments

Comments
 (0)