]> git.mxchange.org Git - flightgear.git/commitdiff
James Turner: Add autobrake functionality
authorehofman <ehofman>
Fri, 16 Oct 2009 08:05:50 +0000 (08:05 +0000)
committerTim Moore <timoore@redhat.com>
Sat, 17 Oct 2009 12:02:27 +0000 (14:02 +0200)
src/FDM/JSBSim/JSBSim.cxx
src/FDM/JSBSim/JSBSim.hxx

index abab0414d8bdc47ad526d6b6ced11bad9c0e4d41..cc7232fc08780a6b2d43cfa160683b1223e6ca06 100644 (file)
@@ -258,6 +258,10 @@ FGJSBsim::FGJSBsim( double dt )
     speedbrake_pos_pct->setDoubleValue(0);
     spoilers_pos_pct->setDoubleValue(0);
 
+    ab_brake_engaged = fgGetNode("/autopilot/autobrake/engaged", true);
+    ab_brake_left_pct = fgGetNode("/autopilot/autobrake/brake-left-output", true);
+    ab_brake_right_pct = fgGetNode("/autopilot/autobrake/brake-right-output", true);
+    
     temperature = fgGetNode("/environment/temperature-degc",true);
     pressure = fgGetNode("/environment/pressure-inhg",true);
     density = fgGetNode("/environment/density-slugft3",true);
@@ -542,8 +546,18 @@ bool FGJSBsim::copy_to_JSBsim()
         // Parking brake sets minimum braking
         // level for mains.
     double parking_brake = globals->get_controls()->get_brake_parking();
-    FCS->SetLBrake(FMAX(globals->get_controls()->get_brake_left(), parking_brake));
-    FCS->SetRBrake(FMAX(globals->get_controls()->get_brake_right(), parking_brake));
+    double left_brake = globals->get_controls()->get_brake_left();
+    double right_brake = globals->get_controls()->get_brake_right();
+    
+    if (ab_brake_engaged->getBoolValue()) {
+      left_brake = ab_brake_left_pct->getDoubleValue();
+      right_brake = ab_brake_right_pct->getDoubleValue(); 
+    }
+    
+    FCS->SetLBrake(FMAX(left_brake, parking_brake));
+    FCS->SetRBrake(FMAX(right_brake, parking_brake));
+    
+    
     FCS->SetCBrake( 0.0 );
     // FCS->SetCBrake( globals->get_controls()->get_brake(2) );
 
index 084d53d4c0ea0315502f4446addfd3577d52ba50..d6f5f1b8c510e92a7b34f6bcbffef7792e4ea7a9 100644 (file)
@@ -254,6 +254,10 @@ private:
     SGPropertyNode_ptr speedbrake_pos_pct;
     SGPropertyNode_ptr spoilers_pos_pct;
 
+    SGPropertyNode_ptr ab_brake_engaged;
+    SGPropertyNode_ptr ab_brake_left_pct;
+    SGPropertyNode_ptr ab_brake_right_pct;
+    
     SGPropertyNode_ptr gear_pos_pct;
     SGPropertyNode_ptr wing_fold_pos_pct;
     SGPropertyNode_ptr tailhook_pos_pct;