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,14 +25,12 @@ 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; const float expected_ah = 2.2;
if (cellVoltage > 4.15) if(cellVoltage > 4.15){
return 100; return 100;
}
CURVE(4.15, 4.04, 0, 0.25) CURVE(4.15, 4.04, 0, 0.25)
CURVE(4.04, 3.95, 0.25, 0.5) CURVE(4.04, 3.95, 0.25, 0.5)
CURVE(3.95, 3.86, 0.5, 0.75) CURVE(3.95, 3.86, 0.5, 0.75)
@@ -44,12 +43,11 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType)
CURVE(3.35, 2.50, 2.1, 2.2) CURVE(3.35, 2.50, 2.1, 2.2)
break; break;
} }
case BatteryCellType::MH1: case BatteryCellType::MH1: {
{
const float expected_ah = 3.2; const float expected_ah = 3.2;
if (cellVoltage > 4.15) if(cellVoltage > 4.15){
return 100; return 100;
}
CURVE(4.15, 4.09, 0, 0.25) CURVE(4.15, 4.09, 0, 0.25)
CURVE(4.09, 4.04, 0.25, 0.5) CURVE(4.09, 4.04, 0.25, 0.5)
CURVE(4.04, 3.95, 0.5, 0.75) CURVE(4.04, 3.95, 0.5, 0.75)
@@ -62,15 +60,14 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType)
CURVE(3.56, 3.50, 2.25, 2.5) CURVE(3.56, 3.50, 2.25, 2.5)
CURVE(3.50, 3.40, 2.5, 2.75) CURVE(3.50, 3.40, 2.5, 2.75)
CURVE(3.40, 3.30, 2.75, 3.0) CURVE(3.40, 3.30, 2.75, 3.0)
CURVE(3.30, 2.5, 3.0, 3.2) CURVE(3.30, 2.50, 3.0, 3.2)
break; break;
} }
case BatteryCellType::HG2: case BatteryCellType::HG2: {
{
const float expected_ah = 3.0; const float expected_ah = 3.0;
if (cellVoltage > 4.15) if(cellVoltage > 4.15){
return 100; return 100;
}
CURVE(4.15, 4.08, 0, 0.25) CURVE(4.15, 4.08, 0, 0.25)
CURVE(4.08, 4.01, 0.25, 0.5) CURVE(4.08, 4.01, 0.25, 0.5)
CURVE(4.01, 3.92, 0.5, 0.75) CURVE(4.01, 3.92, 0.5, 0.75)
@@ -85,12 +82,11 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType)
CURVE(3.05, 2.50, 2.75, 3.0) CURVE(3.05, 2.50, 2.75, 3.0)
break; break;
} }
case BatteryCellType::VTC5: case BatteryCellType::VTC5: {
{
const float expected_ah = 2.6; const float expected_ah = 2.6;
if (cellVoltage > 4.15) if(cellVoltage > 4.15){
return 100; return 100;
}
CURVE(4.15, 4.08, 0, 0.25) CURVE(4.15, 4.08, 0, 0.25)
CURVE(4.08, 3.98, 0.25, 0.5) CURVE(4.08, 3.98, 0.25, 0.5)
CURVE(3.98, 3.89, 0.5, 0.75) CURVE(3.98, 3.89, 0.5, 0.75)
@@ -104,6 +100,23 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType)
CURVE(2.80, 2.50, 2.5, 2.60) CURVE(2.80, 2.50, 2.5, 2.60)
break; break;
} }
case BatteryCellType::BAK_25R: {
const float expected_ah = 2.5;
if(cellVoltage > 4.15){
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";