* Update speeduino.ini
this fix parse problem in the msdroid debuglogs
* fix logs not opening in msdroid
this fix a problem that the logs the msdroid created cannot be open in msdroid itself
* Moved STM32 definitions from globals to board file
Moved definitions from globals.h
Removed old STM32 generic library as this is very old and unused for almost 5 years.
* Remove old stm32_generic build environment from platformio.ini
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>
The original tool tip says that engine protections won't be active below min rpm.
the code implementation is actually that they won't be active until above the min rpm.
This is just a safety change.
Provides safe initial functions for decoder related function pointers.
Prevents possibly hard to track board reset issues in case some future decoder accidentally leaves any of the functions uninitialised. Or when those pointers accidentally are used before proper values are assigned.
Flash usage 18bytes for atmega2560
Ram usage unaffected.
* calculateInjector1Timeout proxies calculateInjectorNTimeout
Unit test still pass.
* Remove calculateInjector1Timeout,
Replace with call to calculateInjectorTimeout
All unit tests still pass.
* Remove unecassary unit test
* calculateIgnition1Timeout proxies calculateIgnitionNTimeout
Unit test all pass
* Remove calculateIgnition1Timeout,
Replace with call to calculateIgnitionTimeout
All unit tests still pass.
* Remove unecassary unit test
* calculateIgnitionAngle\d proxies
calculateIgnitionAngle
Unit tests all pass
* Remove calculateIgnitionAngle\d
Just call calculateIgnitionAngle() directly
* Route rotary ignition angle calcs
through generic calculateIgnitionTrailingRotary
function.
* Remove calculateIgnitionAngle\d
Just call calculateIgnitionTrailingRotary() directly
* calculateInjectorStartAngle: inject all parameters
Do not rely on global state
Easier unit testing.
* calculateIgnitionAngle: inject all parameters
Do not rely on global state
Easier unit testing.
* Pull all ignition global vars into schedule_calcs
* Conditional compile for schedule calc vars
Saves memory
* Optimize: break out angleToTimeIntervalRev
from angleToTime. The new function will
always be inlined.
* Optimize - simpler code path
when no channel offset (zero)
Some optimization of arithmetic operations.
* Fix unit tests
* Fix bug on injector angle calculations
Need while loops to correctly bring intermediate
values into range
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>