diff --git a/source/Core/BSP/Pinecilv2/ble_handlers.cpp b/source/Core/BSP/Pinecilv2/ble_handlers.cpp index ad2c3fe8..fdfd5122 100644 --- a/source/Core/BSP/Pinecilv2/ble_handlers.cpp +++ b/source/Core/BSP/Pinecilv2/ble_handlers.cpp @@ -243,15 +243,19 @@ int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_ } } else if (uuid_value < SettingsOptions::SettingsOptionsLength) { setSettingValue((SettingsOptions)(uuid_value), new_value); - // @TODO refactor to make this more usable - if (uuid_value == SettingsOptions::OLEDInversion) { + switch (uuid_value) { + case SettingsOptions::OLEDInversion: OLED::setInverseDisplay(getSettingValue(SettingsOptions::OLEDInversion)); - } - if (uuid_value == SettingsOptions::OLEDBrightness){ + break; + case SettingsOptions::OLEDBrightness: OLED::setBrightness(getSettingValue(SettingsOptions::OLEDBrightness)); - } - if (uuid_value == SettingsOptions::OrientationMode){ + break; + case SettingsOptions::OrientationMode: OLED::setRotation(getSettingValue(SettingsOptions::OrientationMode) & 1); + break; + default: + BT_WARN("Unhandled uuid_value in %s. Got 0x%x", PRETTY_FUNCTION, uuid_value); + break; } return len; }