579
edits
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 | 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(" | die("RandSpeedTrigger.new: min and max must be specified"); | ||
if(min >= max) | if(min >= max) | ||
die(" | die("RandSpeedTrigger.new: min must be less than max"); | ||
if(min < 0 or max <= 0) | if(min < 0 or max <= 0) | ||
die(" | 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(" | die("RandSpeedTrigger.new: prop must be specified"); | ||
var m = FailureMgr.Trigger.new(); | var m = FailureMgr.Trigger.new(); | ||
m.parents = [ | 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 = | 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); |
edits