16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 00:49:19 +02:00

energy counter for electric traction vehicles

This commit is contained in:
milek7
2021-01-16 19:31:48 +01:00
parent f481fbb7cc
commit fdafcbc9be
4 changed files with 12 additions and 1 deletions

View File

@@ -3679,6 +3679,8 @@ bool TDynamicObject::Update(double dt, double dt1)
} }
else else
MoverParameters->PantFrontVolt = 0.0; MoverParameters->PantFrontVolt = 0.0;
MoverParameters->EnergyConsumed += MoverParameters->PantFrontVolt * fPantCurrent * dt1 / 3600000.0;
break; break;
case 1: case 1:
if( ( false == Global.bLiveTraction ) if( ( false == Global.bLiveTraction )
@@ -3723,6 +3725,8 @@ bool TDynamicObject::Update(double dt, double dt1)
// Global.iPause ^= 2; // Global.iPause ^= 2;
MoverParameters->PantRearVolt = 0.0; MoverParameters->PantRearVolt = 0.0;
} }
MoverParameters->EnergyConsumed += MoverParameters->PantRearVolt * fPantCurrent * dt1 / 3600000.0;
break; break;
} // pozostałe na razie nie obsługiwane } // pozostałe na razie nie obsługiwane
if( MoverParameters->PantPress > ( if( MoverParameters->PantPress > (

View File

@@ -1364,6 +1364,7 @@ public:
int SoundFlag = 0; /*!o patrz stale sound_ */ int SoundFlag = 0; /*!o patrz stale sound_ */
int AIFlag{ 0 }; // HACK: events of interest for consist owner int AIFlag{ 0 }; // HACK: events of interest for consist owner
double DistCounter = 0.0; /*! licznik kilometrow */ double DistCounter = 0.0; /*! licznik kilometrow */
double EnergyConsumed = 0.0; // energy consumed from pantographs [kWh]
double V = 0.0; //predkosc w [m/s] względem sprzęgów (dodania gdy jedzie w stronę 0) double V = 0.0; //predkosc w [m/s] względem sprzęgów (dodania gdy jedzie w stronę 0)
double Vel = 0.0; //moduł prędkości w [km/h], używany przez AI double Vel = 0.0; //moduł prędkości w [km/h], używany przez AI
double AccS = 0.0; //efektywne przyspieszenie styczne w [m/s^2] (wszystkie siły) double AccS = 0.0; //efektywne przyspieszenie styczne w [m/s^2] (wszystkie siły)

View File

@@ -819,6 +819,9 @@ debug_panel::update_section_vehicle( std::vector<text_line> &Output ) {
vehicle.GetPosition().y, vehicle.GetPosition().y,
vehicle.GetPosition().z ); vehicle.GetPosition().z );
Output.emplace_back( m_buffer.data(), Global.UITextColor );
std::snprintf(m_buffer.data(), m_buffer.size(), STR_C("Energy consumed from pantographs: %.1f kWh"), mover.EnergyConsumed);
Output.emplace_back( m_buffer.data(), Global.UITextColor ); Output.emplace_back( m_buffer.data(), Global.UITextColor );
if (!std::isnan(last_time)) { if (!std::isnan(last_time)) {

View File

@@ -257,7 +257,7 @@ void ui::vehicleparams_panel::render_contents()
std::snprintf( std::snprintf(
buffer.data(), buffer.size(), buffer.data(), buffer.size(),
STR_C("Forces:\n tractive: %.1f, brake: %.1f, friction: %.2f%s\nAcceleration:\n tangential: %.2f, normal: %.2f (path radius: %s)\nVelocity: %.2f, distance traveled: %.2f\nPosition: [%.2f, %.2f, %.2f]"), STR_C("Forces:\n tractive: %.1f, brake: %.1f, friction: %.2f%s\nAcceleration:\n tangential: %.2f, normal: %.2f (path radius: %s)\nVelocity: %.2f, distance traveled: %.2f\nPosition: [%.2f, %.2f, %.2f]"),
// forces // forces
mover.Ft * 0.001f * ( mover.CabActive ? mover.CabActive : vehicle.ctOwner ? vehicle.ctOwner->Controlling()->CabActive : 1 ) + 0.001f, mover.Ft * 0.001f * ( mover.CabActive ? mover.CabActive : vehicle.ctOwner ? vehicle.ctOwner->Controlling()->CabActive : 1 ) + 0.001f,
mover.Fb * 0.001f, mover.Fb * 0.001f,
@@ -277,6 +277,9 @@ void ui::vehicleparams_panel::render_contents()
ImGui::TextUnformatted(buffer.data()); ImGui::TextUnformatted(buffer.data());
std::snprintf(buffer.data(), buffer.size(), STR_C("Energy consumed from pantographs: %.1f kWh"), mover.EnergyConsumed);
ImGui::TextUnformatted(buffer.data());
draw_mini(mover); draw_mini(mover);
if (ImGui::Button(STR_C("Radiostop"))) if (ImGui::Button(STR_C("Radiostop")))