Merge branch 'cloud' into cloud-branch-rewrite

This commit is contained in:
CommanderRedYT
2021-11-05 20:31:21 +01:00
7 changed files with 96 additions and 104 deletions

View File

@@ -12,7 +12,8 @@
x(_22P) \ x(_22P) \
x(HG2) \ x(HG2) \
x(MH1) \ x(MH1) \
x(VTC5) x(VTC5) \
x(BAK_25R)
DECLARE_TYPESAFE_ENUM(BatteryCellType, : uint8_t, BatteryCellTypeValues) DECLARE_TYPESAFE_ENUM(BatteryCellType, : uint8_t, BatteryCellTypeValues)
namespace { namespace {
@@ -24,86 +25,98 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType)
{ {
const float cellVoltage = batVoltage / settings.battery.cellsSeries; const float cellVoltage = batVoltage / settings.battery.cellsSeries;
switch (cellType) switch (cellType) {
{ case BatteryCellType::_22P: {
case BatteryCellType::_22P: const float expected_ah = 2.2;
{ if(cellVoltage > 4.15){
const float expected_ah = 2.2; return 100;
if (cellVoltage > 4.15) }
return 100; CURVE(4.15, 4.04, 0, 0.25)
CURVE(4.04, 3.95, 0.25, 0.5)
CURVE(4.15, 4.04, 0, 0.25) CURVE(3.95, 3.86, 0.5, 0.75)
CURVE(4.04, 3.95, 0.25, 0.5) CURVE(3.86, 3.74, 0.75, 1.0)
CURVE(3.95, 3.86, 0.5, 0.75) CURVE(3.74, 3.64, 1.0, 1.25)
CURVE(3.86, 3.74, 0.75, 1.0) CURVE(3.64, 3.59, 1.25, 1.5)
CURVE(3.74, 3.64, 1.0, 1.25) CURVE(3.59, 3.54, 1.5, 1.75)
CURVE(3.64, 3.59, 1.25, 1.5) CURVE(3.54, 3.43, 1.75, 2.0)
CURVE(3.59, 3.54, 1.5, 1.75) CURVE(3.43, 3.35, 2.0, 2.1)
CURVE(3.54, 3.43, 1.75, 2.0) CURVE(3.35, 2.50, 2.1, 2.2)
CURVE(3.43, 3.35, 2.0, 2.1) break;
CURVE(3.35, 2.50, 2.1, 2.2) }
break; case BatteryCellType::MH1: {
} const float expected_ah = 3.2;
case BatteryCellType::MH1: if(cellVoltage > 4.15){
{ return 100;
const float expected_ah = 3.2; }
if (cellVoltage > 4.15) CURVE(4.15, 4.09, 0, 0.25)
return 100; CURVE(4.09, 4.04, 0.25, 0.5)
CURVE(4.04, 3.95, 0.5, 0.75)
CURVE(4.15, 4.09, 0, 0.25) CURVE(3.95, 3.88, 0.75, 1.0)
CURVE(4.09, 4.04, 0.25, 0.5) CURVE(3.88, 3.79, 1.0, 1.25)
CURVE(4.04, 3.95, 0.5, 0.75) CURVE(3.79, 3.70, 1.25, 1.5)
CURVE(3.95, 3.88, 0.75, 1.0) CURVE(3.70, 3.65, 1.5, 1.75)
CURVE(3.88, 3.79, 1.0, 1.25) CURVE(3.65, 3.60, 1.75, 2.0)
CURVE(3.79, 3.70, 1.25, 1.5) CURVE(3.60, 3.56, 2.0, 2.25)
CURVE(3.70, 3.65, 1.5, 1.75) CURVE(3.56, 3.50, 2.25, 2.5)
CURVE(3.65, 3.60, 1.75, 2.0) CURVE(3.50, 3.40, 2.5, 2.75)
CURVE(3.60, 3.56, 2.0, 2.25) CURVE(3.40, 3.30, 2.75, 3.0)
CURVE(3.56, 3.50, 2.25, 2.5) CURVE(3.30, 2.50, 3.0, 3.2)
CURVE(3.50, 3.40, 2.5, 2.75) break;
CURVE(3.40, 3.30, 2.75, 3.0) }
CURVE(3.30, 2.5, 3.0, 3.2) case BatteryCellType::HG2: {
break; const float expected_ah = 3.0;
} if(cellVoltage > 4.15){
case BatteryCellType::HG2: return 100;
{ }
const float expected_ah = 3.0; CURVE(4.15, 4.08, 0, 0.25)
if (cellVoltage > 4.15) CURVE(4.08, 4.01, 0.25, 0.5)
return 100; CURVE(4.01, 3.92, 0.5, 0.75)
CURVE(3.92, 3.84, 0.75, 1.0)
CURVE(4.15, 4.08, 0, 0.25) CURVE(3.84, 3.75, 1.0, 1.25)
CURVE(4.08, 4.01, 0.25, 0.5) CURVE(3.75, 3.67, 1.25, 1.5)
CURVE(4.01, 3.92, 0.5, 0.75) CURVE(3.67, 3.62, 1.5, 1.75)
CURVE(3.92, 3.84, 0.75, 1.0) CURVE(3.62, 3.55, 1.75, 2.0)
CURVE(3.84, 3.75, 1.0, 1.25) CURVE(3.55, 3.44, 2.0, 2.25)
CURVE(3.75, 3.67, 1.25, 1.5) CURVE(3.44, 3.30, 2.25, 2.5)
CURVE(3.67, 3.62, 1.5, 1.75) CURVE(3.30, 3.05, 2.5, 2.75)
CURVE(3.62, 3.55, 1.75, 2.0) CURVE(3.05, 2.50, 2.75, 3.0)
CURVE(3.55, 3.44, 2.0, 2.25) break;
CURVE(3.44, 3.30, 2.25, 2.5) }
CURVE(3.30, 3.05, 2.5, 2.75) case BatteryCellType::VTC5: {
CURVE(3.05, 2.50, 2.75, 3.0) const float expected_ah = 2.6;
break; if(cellVoltage > 4.15){
} return 100;
case BatteryCellType::VTC5: }
{ CURVE(4.15, 4.08, 0, 0.25)
const float expected_ah = 2.6; CURVE(4.08, 3.98, 0.25, 0.5)
if (cellVoltage > 4.15) CURVE(3.98, 3.89, 0.5, 0.75)
return 100; CURVE(3.89, 3.79, 0.75, 1.0)
CURVE(3.79, 3.71, 1.0, 1.25)
CURVE(4.15, 4.08, 0, 0.25) CURVE(3.71, 3.64, 1.25, 1.5)
CURVE(4.08, 3.98, 0.25, 0.5) CURVE(3.64, 3.53, 1.5, 1.75)
CURVE(3.98, 3.89, 0.5, 0.75) CURVE(3.53, 3.44, 1.75, 2.0)
CURVE(3.89, 3.79, 0.75, 1.0) CURVE(3.44, 3.20, 2.0, 2.25)
CURVE(3.79, 3.71, 1.0, 1.25) CURVE(3.20, 2.80, 2.25, 2.5)
CURVE(3.71, 3.64, 1.25, 1.5) CURVE(2.80, 2.50, 2.5, 2.60)
CURVE(3.64, 3.53, 1.5, 1.75) break;
CURVE(3.53, 3.44, 1.75, 2.0) }
CURVE(3.44, 3.20, 2.0, 2.25) case BatteryCellType::BAK_25R: {
CURVE(3.20, 2.80, 2.25, 2.5) const float expected_ah = 2.5;
CURVE(2.80, 2.50, 2.5, 2.60) if(cellVoltage > 4.15){
break; return 100;
} }
CURVE(4.15, 4.06, 0, 0.25)
CURVE(4.06, 3.96, 0.25, 0.5)
CURVE(3.96, 3.88, 0.5, 0.75)
CURVE(3.88, 3.77, 0.75, 1)
CURVE(3.77, 3.68, 1, 1.25)
CURVE(3.68, 3.62, 1.25, 1.5)
CURVE(3.62, 3.56, 1.5, 1.75)
CURVE(3.56, 3.47, 1.75, 2)
CURVE(3.47, 3.31, 2, 2.25)
CURVE(3.31, 2.50, 2.25, 2.5)
break;
}
} }
return 0.f; return 0.f;
} }

View File

@@ -26,7 +26,6 @@ namespace {
bool request_running = false; bool request_running = false;
uint16_t request_failed = false; uint16_t request_failed = false;
bool parsing_finished = false; bool parsing_finished = false;
static bool redownload = true;
cpputils::DelayedConstruction<AsyncHttpRequest> request; cpputils::DelayedConstruction<AsyncHttpRequest> request;
std::string get_ota_url_from_index(uint16_t index) std::string get_ota_url_from_index(uint16_t index)
@@ -114,7 +113,6 @@ namespace {
url_for_latest = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["latest"].as<std::string>())); url_for_latest = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["latest"].as<std::string>()));
url_for_hashes = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["url"].as<std::string>())); url_for_hashes = fix_url(fmt::format("{}{}", stringSettings.otaServerUrl, doc["url"].as<std::string>()));
parsing_finished = true; parsing_finished = true;
redownload = false;
} }
void setup_request() void setup_request()
@@ -125,11 +123,6 @@ namespace {
void start_descriptor_request(std::string server_base_url) void start_descriptor_request(std::string server_base_url)
{ {
if (!redownload)
{
parsing_finished = true;
return;
}
if (!request.constructed()) if (!request.constructed())
{ {
ESP_LOGW("BOBBY", "request is im oarsch"); ESP_LOGW("BOBBY", "request is im oarsch");

View File

@@ -17,18 +17,6 @@
#include "displays/menus/mainmenu.h" #include "displays/menus/mainmenu.h"
#ifdef FEATURE_OTA #ifdef FEATURE_OTA
namespace {
class RedownloadJsonAction : public virtual espgui::ActionInterface
{
public:
void triggered() override
{
redownload = true;
}
};
} // namespace
using namespace espgui; using namespace espgui;
@@ -37,7 +25,6 @@ OtaMenu::OtaMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILD>, SwitchScreenAction<SelectBuildMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILD>, SwitchScreenAction<SelectBuildMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATENOW>, SwitchScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATENOW>, SwitchScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REDOWNLOAD>, RedownloadJsonAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
} }

View File

@@ -29,7 +29,6 @@ public:
stringSettings.otaUrl = m_buildserver_url; stringSettings.otaUrl = m_buildserver_url;
} }
saveSettings(); saveSettings();
redownload = true;
url_for_latest.clear(); url_for_latest.clear();
url_for_hashes.clear(); url_for_hashes.clear();
availableVersions = {}; availableVersions = {};

View File

@@ -12,6 +12,7 @@
#include "buildserver.h" #include "buildserver.h"
#ifdef FEATURE_OTA #ifdef FEATURE_OTA
class SelectBuildServerMenu : class SelectBuildServerMenu :
public espgui::MenuDisplay, public espgui::MenuDisplay,
public espgui::StaticText<TEXT_SELECTBUILDSERVERMENU> public espgui::StaticText<TEXT_SELECTBUILDSERVERMENU>

View File

@@ -32,6 +32,5 @@ void showSpeedSyncAnimation();
void showCustomColor(); void showCustomColor();
void initLedStrip(); void initLedStrip();
void updateLedStrip(); void updateLedStrip();
#endif #endif

View File

@@ -102,6 +102,7 @@ constexpr char TEXT_BATTERY_TYPE_22P[] = "22P cells";
constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells"; constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells";
constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells"; constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells";
constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells"; constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells";
constexpr char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells";
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km"; constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration";
constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration"; constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration";
@@ -489,7 +490,6 @@ constexpr char TEXT_OTA_NOBUILDSERVERAVAILABLE[] = "E:No server saved.";
constexpr char TEXT_OTA_NOBUILDSERVERSELECTED[] = "E:No server selected."; constexpr char TEXT_OTA_NOBUILDSERVERSELECTED[] = "E:No server selected.";
constexpr char TEXT_OTA_NOCONNECTION[] = "E:No internet."; constexpr char TEXT_OTA_NOCONNECTION[] = "E:No internet.";
constexpr char TEXT_OTA_WAITFORRESPONSE[] = "Wait for response..."; constexpr char TEXT_OTA_WAITFORRESPONSE[] = "Wait for response...";
constexpr char TEXT_REDOWNLOAD[] = "Reload list";
//LedstripColorMenu //LedstripColorMenu
constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip";