* initialiseSchedulers: factor out shared code.
* Proxy setFuelSchedule\d through generic
setFuelSchedule() function
* Directly call setFuelSchedule
* Simplify unit tests
* Proxy setIgnitionSchedule\d through generic
setIgnitionSchedule() function
* Directly call setIgnitionSchedule
* Simplify unit tests
* Optimize by partially inlining
the set[Fuel|Ignition]Schedule funcs
* Use the embedded schedule compare
& counter members instead of using
hardcoded individual channel macros.
* Unit test adjustCrankAngle
* Refactor: separate out schedule calcs from speeduino.ino
(so they can be unit tested)
* Add unit tests for compute_delay
* Use PROGMEM to store test input & output
* Add some 720 unit tests
* Rename unit test file
* Test ignition codepaths 2-8
* Test ign1 calcs
* Add first injector calc tests
* Add 720 deg tests
Simplify
* Simplify test_calc_inj1_timeout
* Claw back RAM
* Simplify test framework
Channel angle is part of the test data set.
* Move schedule calculation unit tests into their own harness
Competing for RAM with the rest of Speeduino
can cause them to fail,
* Performance: inline all schedule calcs.
* Unit test end angle
* Unit test calculateIgnitionAngle1
* Test start angles also
And test end angles for channel 1
* Unit test calculateIgnitionAngle3
* Unit test calculateIgnitionAngle4
* Improve unit test output
* Add Nissan360 decoder unit tests.
* Add Ford ST170 decoder unit tests
* Add NGC decoder unit tests