diff --git a/config_greyhash.cmake b/config_greyhash.cmake index 906c98c..9e70a30 100644 --- a/config_greyhash.cmake +++ b/config_greyhash.cmake @@ -12,7 +12,7 @@ add_definitions( -DTFT_CS=14 -DTFT_DC=12 -DTFT_RST=2 - -DSPI_FREQUENCY=27000000 + -DSPI_FREQUENCY=40000000 ) set(BOBBYCAR_BUILDFLAGS @@ -20,35 +20,35 @@ set(BOBBYCAR_BUILDFLAGS -DPINS_GAS=34 -DPINS_BREMS=35 -DDEFAULT_SWAPSCREENBYTES=false -# -DFEATURE_CAN -# -DFEATURE_SERIAL -# -DPINS_RX1=4 -# -DPINS_TX1=5 -# -DPINS_RX2=22 -# -DPINS_TX2=23 + -DFEATURE_CAN + # -DFEATURE_SERIAL + # -DPINS_RX1=4 + # -DPINS_TX1=5 + # -DPINS_RX2=22 + # -DPINS_TX2=23 -DDEFAULT_INVERTFRONTLEFT=false -DDEFAULT_INVERTFRONTRIGHT=true -DDEFAULT_INVERTBACKLEFT=false -DDEFAULT_INVERTBACKRIGHT=true -DDEFAULT_WHEELDIAMETER=200 -# -DFEATURE_MOSFETS -# -DPINS_MOSFET0=18 -# -DPINS_MOSFET1=19 -# -DPINS_MOSFET2=21 + # -DFEATURE_MOSFETS + # -DPINS_MOSFET0=18 + # -DPINS_MOSFET1=19 + # -DPINS_MOSFET2=21 -DDEFAULT_IMOTMAX=28 -DDEFAULT_IDCMAX=30 -DDEFAULT_NMOTMAX=2000 -DDEFAULT_FIELDWEAKMAX=7 -DDEFAULT_FIELDADVMAX=40 -# -DFEATURE_WEBSERVER -# -DFEATURE_OTA - -DFEATURE_DPAD_5WIRESW - -DPINS_DPAD_5WIRESW_OUT=4 - -DPINS_DPAD_5WIRESW_IN1=5 - -DPINS_DPAD_5WIRESW_IN2=27 + -DFEATURE_WEBSERVER + -DFEATURE_OTA + -DFEATURE_DPAD_5WIRESW_2OUT + -DPINS_DPAD_5WIRESW_OUT1=5 + -DPINS_DPAD_5WIRESW_OUT2=4 + -DPINS_DPAD_5WIRESW_IN1=27 + -DPINS_DPAD_5WIRESW_IN2=19 -DPINS_DPAD_5WIRESW_IN3=18 - -DPINS_DPAD_5WIRESW_IN4=19 -# -DFEATURE_BLE + -DFEATURE_BLE # -DFEATURE_BLUETOOTH # -DFEATURE_BMS # -DFEATURE_GAMETRAK @@ -57,18 +57,27 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKDIST=36 # -DFEATURE_POWERSUPPLY # -DFEATURE_CLOUD -# -DFEATURE_UDPCLOUD -# -DFEATURE_LEDBACKLIGHT -# -DPINS_LEDBACKLIGHT=23 -# -DLEDBACKLIGHT_INVERTED -# -DFEATURE_GARAGE + -DFEATURE_UDPCLOUD + -DFEATURE_LEDBACKLIGHT + -DPINS_LEDBACKLIGHT=23 + -DLEDBACKLIGHT_INVERTED + -DFEATURE_GARAGE # -DFEATURE_NTP -# -DFEATURE_WIRELESS_CONFIG -# -DFEATURE_LEDSTRIP -# -DPINS_LEDSTRIP=33 -# -DLEDSTRIP_DEFAULT_BRIGHTNESS=100 + -DFEATURE_WIRELESS_CONFIG + -DFEATURE_LEDSTRIP + -DPINS_LEDSTRIP=33 +# -DHEAP_LRGST_CRASH_TEXT_FIX # -DLEDSTRIP_WRONG_DIRECTION -# -DLEDSTRIP_ANIMATION_DEFAULT=0 - -DOLD_NVS -# -DFEATURE_DNS_NS + -DLEDSTRIP_ANIMATION_DEFAULT=2 + -DLEDS_PER_METER=144 + -DOLD_NVS + -DFEATURE_DNS_NS +# -DSWITCH_BLINK +# -DFEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET + -DFEATURE_ESPNOW ) + +if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake") + include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake") + message(WARNING "Including lockscreen_plugin") +endif() diff --git a/main/battery.cpp b/main/battery.cpp index 512c0b9..330ed9d 100644 --- a/main/battery.cpp +++ b/main/battery.cpp @@ -115,6 +115,24 @@ float getBatteryPercentage(float batVoltage, BatteryCellType cellType) CURVE(3.31, 2.50, 2.25, 2.5) break; } + case BatteryCellType::HE4: + { + const float expected_ah = 2.3; + if(cellVoltage > 4.15){ + return 100; + } + CURVE(4.15, 4.02, 0, 0.25) + CURVE(4.02, 3.91, 0.25, 0.5) + CURVE(3.91, 3.81, 0.5, 0.75) + CURVE(3.81, 3.72, 0.75, 1) + CURVE(3.72, 3.61, 1, 1.25) + CURVE(3.61, 3.62, 1.25, 1.5) + CURVE(3.62, 3.53, 1.5, 1.75) + CURVE(3.53, 3.45, 1.75, 2) + CURVE(3.45, 3.21, 2, 2.25) + CURVE(3.21, 2.80, 2.25, 2.3) + break; + } } return 0.f; } @@ -145,6 +163,7 @@ float getTarget_mAh() if(BatteryCellType(configs.battery.cellType.value) == BatteryCellType::MH1) target_mah = 3200; if(BatteryCellType(configs.battery.cellType.value) == BatteryCellType::VTC5) target_mah = 2600; if(BatteryCellType(configs.battery.cellType.value) == BatteryCellType::BAK_25R) target_mah = 2500; + if(BatteryCellType(configs.battery.cellType.value) == BatteryCellType::HE4) target_mah = 2300; return target_mah; } diff --git a/main/battery.h b/main/battery.h index 466a97f..e59a00a 100644 --- a/main/battery.h +++ b/main/battery.h @@ -11,7 +11,8 @@ x(HG2) \ x(MH1) \ x(VTC5) \ - x(BAK_25R) + x(BAK_25R) \ + x(HE4) DECLARE_TYPESAFE_ENUM(BatteryCellType, : uint8_t, BatteryCellTypeValues) float getBatteryPercentage(float batVoltage, BatteryCellType cellType); diff --git a/main/displays/menus/batterymenu.cpp b/main/displays/menus/batterymenu.cpp index 836615c..2861d8d 100644 --- a/main/displays/menus/batterymenu.cpp +++ b/main/displays/menus/batterymenu.cpp @@ -34,6 +34,7 @@ constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells"; constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells"; constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells"; constexpr char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells"; +constexpr char TEXT_BATTERY_TYPE_HE4[] = "HE4 cells"; constexpr char TEXT_BATTERY_WHKM[] = "Wh per km"; constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration"; diff --git a/main/displays/menus/selectbatterytypemenu.cpp b/main/displays/menus/selectbatterytypemenu.cpp index fae145b..6626671 100644 --- a/main/displays/menus/selectbatterytypemenu.cpp +++ b/main/displays/menus/selectbatterytypemenu.cpp @@ -26,6 +26,7 @@ constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells"; constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells"; constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells"; constexpr char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells"; +constexpr char TEXT_BATTERY_TYPE_HE4[] = "HE4 cells"; constexpr char TEXT_BATTERY_WHKM[] = "Wh per km"; constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration"; constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration"; @@ -57,6 +58,7 @@ BatteryTypeMenu::BatteryTypeMenu() constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, BatterySelectTypeAction>>(); + constructMenuItem, BatterySelectTypeAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); }