by WesRagle » Mon Mar 15, 2021 9:22 am
Morning Noel,
Win, lose, or draw this is going to be fun.
Yes, I have looked at MegaSquirt. I've downloaded the assembler source code for the old 6800 based system and the newer code written in C. I've stashed the code for reference. However ...
My experience is from the certified world. I haven't checked to see if there is a TSO for fuel injection but if there is it will almost certainly require the code be certified to DO178(B or C) Level A. If a design assurance level isn't given in the TSO, the producer will be required to conduct a "System Safety Assessment". I can almost guarantee the outcome of the assessment would be a Level A effort. And I couldn't argue with that.
A Level A assessment brings a lot of requirements. Here is some text from Wikipedia explaining the different failure conditions.
Catastrophic – Failure may cause a crash. Error or loss of critical function required to safely fly and land aircraft.
Hazardous – Failure has a large negative impact on safety or performance, or reduces the ability of the crew to operate the aircraft due to physical distress or a higher workload, or causes serious or fatal injuries among the passengers. (Safety-significant)
Major – Failure is significant, but has a lesser impact than a Hazardous failure (for example, leads to passenger discomfort rather than injuries) or significantly increases crew workload (safety related)
Minor – Failure is noticeable, but has a lesser impact than a Major failure (for example, causing passenger inconvenience or a routine flight plan change)
No Effect – Failure has no impact on safety, aircraft operation, or crew workload.
And here are the design assurance levels associated with the various failure conditions.
Level Failure condition Objectives[5] With independence Failure Rate
A Catastrophic 66 25 10−9/h
B Hazardous 65 14 10−7/h
C Major 57 2 10−5/h
D Minor 28 2 10−3/h
E No Effect 0 0 n/a
One failure every 1 billion hours!?!?!? At first blush you would think it impossible. But remember, there are three types of liars. Liars, Damn Liars, and Statisticians.
Anyway, all of this to say: The most recent code for the MegaSquirt ECUs runs totally counter to excepted norms in the aviation industry. The challenge we face is how simple and reliable can we make it. The challenge they face is how flexible can we make it to capture maximum market share.
You can't have a lot of unused options floating around in Level A code. In fact, you are not allowed a single line of "dead" code. If you want to water your eyes, have a look at the MCDC requirements for Level A.
Honestly, I would never leave the ground with a MegaSquirt.
Wes
Wes Ragle
Onex #89
Conventional Gear
Long Tips
Hummel 2400 w/Zenith Carb
Prince P Tip 54x50
First Flight 06/23/2020
42.8 Hrs. as of 10/30/21