For years the conventional wisdom in hobby ECUs was fixed‑point everything. We moved the M1 fuel model to 32‑bit floating point. Here is the reasoning.
The fixed‑point tax
Fixed‑point math is fast, but every table interpolation and unit conversion carries a scaling assumption. Those assumptions leak across modules and become bugs that only appear at the edges of the map.
What changed
The M1 MCU has a hardware FPU that sat idle. Running the fuel model in floats removed an entire class of scaling errors and made the maths read like the equations in the textbook.
The cost
About 4 µs more per injection event. At our update rates that is invisible. The readability and correctness win is not.
Takeaway
Use the hardware you already paid for. If there is an FPU, the fuel model belongs in floats.