From 8414769397075e509a067c39dbd5b6be29245b48 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Wed, 13 Oct 2021 13:46:19 +0200 Subject: [PATCH] dont return 0 in calibrated voltage --- main/controller.h | 28 +++++++++------------------- main/globals.h | 6 ++++-- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/main/controller.h b/main/controller.h index dbd2c59..5c6979a 100644 --- a/main/controller.h +++ b/main/controller.h @@ -29,11 +29,13 @@ struct Controller { #ifdef FEATURE_SERIAL HardwareSerial &serial, #endif - bool &enableLeft, bool &enableRight, bool &invertLeft, bool &invertRight) : + bool &enableLeft, bool &enableRight, bool &invertLeft, bool &invertRight, + int16_t &voltageCalib30V, int16_t &voltageCalib50V) : #ifdef FEATURE_SERIAL serial{serial}, #endif - enableLeft{enableLeft}, enableRight{enableRight}, invertLeft{invertLeft}, invertRight{invertRight} + enableLeft{enableLeft}, enableRight{enableRight}, invertLeft{invertLeft}, invertRight{invertRight}, + voltageCalib30V{voltageCalib30V}, voltageCalib50V{voltageCalib50V} { } // Controller(const Controller &) = delete; @@ -43,6 +45,7 @@ struct Controller { std::reference_wrapper serial; #endif bool &enableLeft, &enableRight, &invertLeft, &invertRight; + int16_t &voltageCalib30V, &voltageCalib50V; bobbycar::protocol::serial::Command command{}; @@ -59,23 +62,10 @@ struct Controller { float getCalibratedVoltage() const { - return 0.f; + float voltage = feedback.batVoltage; + //if (settings.battery.applyCalibration) + voltage = ((voltage - float(voltageCalib30V)) * (20.f / (float(voltageCalib50V) - float(voltageCalib30V))) + 30.f); + return voltage; } - -// float fixFrontBatVoltage(int16_t value) -// { -// float frontVoltage = value; -// if (settings.battery.applyCalibration) -// frontVoltage = ((frontVoltage - float(settings.battery.front30VoltCalibration)) * (20.f / (float(settings.battery.front50VoltCalibration) - float(settings.battery.front30VoltCalibration))) + 30.f); -// return frontVoltage; -// } - -// float fixBackBatVoltage(int16_t value) -// { -// float backVoltage = value; -// if (settings.battery.applyCalibration) -// backVoltage = ((backVoltage - float(settings.battery.back30VoltCalibration)) * (20.f / (float(settings.battery.back50VoltCalibration) - float(settings.battery.back30VoltCalibration))) + 30.f); -// return backVoltage; -// } }; } diff --git a/main/globals.h b/main/globals.h index 8429f1c..457d6fb 100644 --- a/main/globals.h +++ b/main/globals.h @@ -60,13 +60,15 @@ public: #ifdef FEATURE_SERIAL Serial1, #endif - settings.controllerHardware.enableFrontLeft, settings.controllerHardware.enableFrontRight, settings.controllerHardware.invertFrontLeft, settings.controllerHardware.invertFrontRight + settings.controllerHardware.enableFrontLeft, settings.controllerHardware.enableFrontRight, settings.controllerHardware.invertFrontLeft, settings.controllerHardware.invertFrontRight, + settings.battery.front30VoltCalibration, settings.battery.front50VoltCalibration }, Controller { #ifdef FEATURE_SERIAL Serial2, #endif - settings.controllerHardware.enableBackLeft, settings.controllerHardware.enableBackRight, settings.controllerHardware.invertBackLeft, settings.controllerHardware.invertBackRight + settings.controllerHardware.enableBackLeft, settings.controllerHardware.enableBackRight, settings.controllerHardware.invertBackLeft, settings.controllerHardware.invertBackRight, + settings.battery.back30VoltCalibration, settings.battery.back50VoltCalibration } }} {}