1
0
forked from me/IronOS

Refactor: Use enum to index settings descriptions

This commit is contained in:
Alvin Wong
2021-03-24 23:58:45 +08:00
parent f3cfcb2bca
commit c549c77aaf
3 changed files with 133 additions and 84 deletions

View File

@@ -81,4 +81,45 @@ extern const char *SymbolCellCount;
extern const char *SymbolVersionNumber;
extern const char *DebugMenu[];
enum class SettingsItemIndex : uint8_t {
DCInCutoff,
SleepTemperature,
SleepTimeout,
ShutdownTimeout,
MotionSensitivity,
TemperatureUnit,
AdvancedIdle,
DisplayRotation,
BoostTemperature,
AutoStart,
CooldownBlink,
TemperatureCalibration,
SettingsReset,
VoltageCalibration,
AdvancedSoldering,
ScrollingSpeed,
TipModel,
SimpleCalibrationMode,
AdvancedCalibrationMode,
QCMaxVoltage,
PowerLimit,
ReverseButtonTempChange,
TempChangeShortStep,
TempChangeLongStep,
PowerPulsePower,
TipGain,
HallEffSensitivity,
LockingMode,
MinVolCell,
AnimLoop,
AnimSpeed,
PowerPulseWait,
PowerPulseDuration,
};
constexpr uint8_t settings_item_index(const SettingsItemIndex i) { return static_cast<uint8_t>(i); }
// Use a constexpr function for type-checking.
#define SETTINGS_DESC(i) (SettingsDescriptions[settings_item_index(i)])
#endif /* TRANSLATION_H_ */