* Fix for spurious serial command causing timeout
due to ill formed payload size
* DOxygen
* MISRA fixes
* Comms - minor simplification
No need to include payload size in serialBytesRxTx whilst receiving payload.
* Add unit tests for correctionCranking
* Unit test correctionASE
* Add test_maths_div10_s16_perf
* Make TPS AE tests independent
* Add test_corrections_MAE
* Use RUN_TEST_P to reduce test RAM usage
* Unit test correctionFloodClear
* Unit test battery correction
* Add unit tests for correctionLaunch
* Test repetability - initialiseAll at the start of every test
* Unit test flex & fuel temp corrections, plus minor cleanup
* Unit tests - avoid forward declarations
* Separate out populate_table() from 3D table tests
* Separate calculation of AFR target from correction (and unit test the calculation).
Separation of concerns and will make unit test AFR correction easier.
* Unit test correctionAFRClosedLoop
* Unit test correctionsFuel
* Add populate_2dtable_P test utility function
* Unit test all ignition corrections
* Add compile time buffer overflow check to RUN_TEST_P
* DFCO - test behavior not implementation
* Tweak tests to pass on Teensy 3.5
* Shrink unit test for faster build/upload/execute
We just need the 2D tables wired up, not the whole system initialized.
1. Factor out construct2dTables() from initialiseAll()
2. In the unit tests, call construct2dTables() instead of initialiseAll()
Linker then does the heavy lifting of removing unused symbols
* Add test_correctionsDwell_uses_batvcorrection
* Use TEST_ASSERT_BIT_[HIGH_LOW] instead of TEST_ASSERT_[TRUE|FALSE]
Better failure messages, declares intent
* Igniton corrction test: expand assertions: make sure all corrections test both positive an negative advance values.
* Add AE test assertion: especially for MAE
* Add AE timeout unit tests
* Convert copy/paste 2D table construction code into shared functions
* Disbale knock unit tests until knock implementation is stable.