Failure Manager: Difference between revisions

Jump to navigation Jump to search
→‎Examples: trigger renamed as suggested by Galvedro
No edit summary
(→‎Examples: trigger renamed as suggested by Galvedro)
Line 105: Line 105:
     # be 0% at min speed and 100% at max speed and beyond.
     # be 0% at min speed and 100% at max speed and beyond.
     # When the specified property is 0 there is zero chance of failing.
     # When the specified property is 0 there is zero chance of failing.
     var SpeedTrigger = {
     var RandSpeedTrigger = {


         parents: [FailureMgr.Trigger],
         parents: [FailureMgr.Trigger],
Line 112: Line 112:
         new: func(min, max, prop) {
         new: func(min, max, prop) {
             if(min == nil or max == nil)
             if(min == nil or max == nil)
                 die("SpeedTrigger.new: min and max must be specified");
                 die("RandSpeedTrigger.new: min and max must be specified");


             if(min >= max)
             if(min >= max)
                 die("SpeedTrigger.new: min must be less than max");
                 die("RandSpeedTrigger.new: min must be less than max");


             if(min < 0 or max <= 0)
             if(min < 0 or max <= 0)
                 die("SpeedTrigger.new: min must be positive or zero and max larger than zero");
                 die("RandSpeedTrigger.new: min must be positive or zero and max larger than zero");


             if(prop == nil or prop == "")
             if(prop == nil or prop == "")
                 die("SpeedTrigger.new: prop must be specified");
                 die("RandSpeedTrigger.new: prop must be specified");


             var m = FailureMgr.Trigger.new();
             var m = FailureMgr.Trigger.new();
             m.parents = [SpeedTrigger];
             m.parents = [RandSpeedTrigger];
             m.params["min-speed-kt"] = min;
             m.params["min-speed-kt"] = min;
             m.params["max-speed-kt"] = max;
             m.params["max-speed-kt"] = max;
Line 183: Line 183:


     var prop = "gear/gear[0]/position-norm";
     var prop = "gear/gear[0]/position-norm";
     var trigger_gear0 = SpeedTrigger.new(350, 500, prop);
     var trigger_gear0 = RandSpeedTrigger.new(350, 500, prop);
     var actuator_gear0 = set_value("fdm/jsbsim/gear/unit[0]/z-position", 0.001);
     var actuator_gear0 = set_value("fdm/jsbsim/gear/unit[0]/z-position", 0.001);
     FailureMgr.add_failure_mode("controls/gear0", "Front gear locking mechanism", actuator_gear0);
     FailureMgr.add_failure_mode("controls/gear0", "Front gear locking mechanism", actuator_gear0);
579

edits

Navigation menu