17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-06 10:28:41 +01:00

AI - prevent overcharge when pipe pressure of car is too high for too long

This commit is contained in:
maj00r
2026-10-02 19:55:23 +02:00
parent 314e7df294
commit affa7cdaa9
2 changed files with 43 additions and 114 deletions

View File

@@ -348,6 +348,8 @@ private:
void control_tractive_and_braking_force();
void control_releaser();
void control_main_pipe();
void update_brake_charging();
bool is_brake_charging_done() const;
void control_relays();
void control_motor_connectors();
void control_tractive_force();
@@ -450,13 +452,8 @@ private:
double ReactionTime = 0.0; // czas reakcji Ra: czego i na co? świadomości AI
double fBrakeTime = 0.0; // wpisana wartość jest zmniejszana do 0, gdy ujemna należy zmienić nastawę hamulca
double BrakeChargingCooldown{}; // prevents the ai from trying to charge the train brake too frequently
double fBrakeChargeLogTimer = 0.0;
double fBrakeChargeFSStart = -1.0;
double fConsistMaxCRP = 0.0;
double fConsistMinCRP = 0.0;
int fConsistBrakedCount = 0;
int fConsistReleaserCount = 0;
double fDepartBlockStart = -1.0;
double BrakeChargingStart = -1.0;
std::unordered_map<TDynamicObject const *, double> BrakeChargingPipeOverchargeStart;
TBrakeSystem BrakeSystem = TBrakeSystem::Individual; //type of main brake
bool ForcePNBrake = false; //is it necessary to use PN brake instead of EP brake
int DynamicBrakeTest = 0; //is it necessary to make brake test while driving