settings: continue refactoring internal constants

Settling on naming 'options' for enumerations (...possibly, everything
else in the future, would that make sense to store for 'setting' object)

Update terminal commands that were reporting status to also report a
full list of 'indexed' settings for the specific entity
Also updates the WebUI outputs which are (hopefuly) are already handled
as-is through the .js processing pipeline and the .html properties
receiving certain special string values

More namespacing and save ~2KiB of RAM by reducing the amount of loaded keys strings
However, ROM side of things may suffer b/c of template specializations for the
generic conversion functions when there are many different types involved.
This commit is contained in:
Maxim Prokhorov
2021-12-29 23:54:09 +03:00
parent 7727d7f824
commit e213b58db2
24 changed files with 2615 additions and 1461 deletions

View File

@@ -694,7 +694,8 @@ my92xx_model_t convert(const String& value) {
alignas(4) static constexpr char MY9291[] PROGMEM = "9291";
alignas(4) static constexpr char MY9231[] PROGMEM = "9231";
constexpr static const std::array<EnumOption<my92xx_model_t>, 2> options {
using Options = std::array<::settings::options::Enumeration<my92xx_model_t>, 2>;
static constexpr Options options {
{{MY92XX_MODEL_MY9291, MY9291},
{MY92XX_MODEL_MY9231, MY9231}}
};