This is fascinating. So underneath it it's a big decision tree with a few defaults thrown in. Is that an accurate description?
This is fascinating. So underneath it it's a big decision tree with a few defaults thrown in. Is that an accurate description?
> for car engines it’s typically a set of tables with something like air pressure
> on the y axis and engine rpm on the x axis where each cell has a fuel value
You can see those values being edited here while tuning a Viper:Not in the sense that it's yes/no decisions all the way down. Most of the inputs are continuous functions, and your output will be a function that combines the inputs in some particular way specific to the application.
You might do something like:
if (mach > 0.5 && mach <= 0.85) {
...
}
And so on and so forth > if (mach > 0.5 && mach <= 0.85)
But surely there's some else clause at the end with a default value, no? Or at the minimum log.error("No matching flight conditions configured", pressureAir, pressureFuel, airspeedMach, engineRPM) or such?E.g. Mach is derived from multiple sensors so you have a first layer of redundancy there, then if all fails (and you can detect it ofc..) you'd probably start some kind of dead-reckoning and issue WARNINGS accordingly to the pilot and/or connected systems that change its behavior to a more conservative one.
There is almost always some kind of "safe state" that wouldn't depend on the input signals at all. It would obviously negatively affect the performance of the aircraft and most likely reduce its operational envelope.
Pilot action would be required, i.e. reduce altitude, reduce AoA, reduce air speed etc. LAND ASAP etc. :)
I.e. hydraulics, fuel transfers, ECS etc.