* Bi-linear interpolation - round towards nearest integer Add the equivalent of 0.5 to the final calculation pre-rounding. This will have the effect of rounding to the nearest integer, rather than truncating. I.e. rounding down * Unit tests: isolate table tests and check interpolation x/y bins * Unit tests: add native table3d tests * Unit tests: derive min/max from axis test values * Unit tests: more detailed messages * Unit tests: fix rounding & unit tests * Performance * Performance: use uint16_t instead of unsigned long for the fixed point math: we only need the fractional part. I.e. 1.16 not 16.16 * Use narrowest possible type * Optimise bin position logic for performance * Only promote to uint32_t when really required. * Simplify bin checks - no zero width bins * Save memory: use a single byte for the last bin caches * Performance: increment pointers instead of repeatedly dereferncing array by index. * Comments * Incorrect array underrun logic * Rename type, comments * Fix unit tests |
||
---|---|---|
.github | ||
lib | ||
misra | ||
reference | ||
speeduino | ||
test | ||
.gitattributes | ||
.gitignore | ||
Doxyfile | ||
LICENSE | ||
README.md | ||
azure-pipelines.yml | ||
contributing.md | ||
platformio.ini |
README.md
Speeduino
The Speeduino project is a flexible, fully featured Engine Management Systems (EMS aka ECU) based on the low cost and open source Arduino platform. It provides the hardware, firmware and software components that make up an engine management system, all provided under open licenses. With over 1000 installations, Speeduino has matured into a product that meets the needs of the hobbyist and enthusiast community without driving prices to the levels of traditional aftermarket ECUs.
Documentation
The Speeduino online manual can be found at: https://wiki.speeduino.com
Where to Buy
Pre-made Speeduino units/boards are available from a number of official resellers
These resellers all contribute a portion of sales back to the project to allow for continued development to take place and we encourage sales through them whenever possible.
Of course, being open source, you are free to use the design files provided here to create your own hardware!
Support
In addition the manual referenced above, Speeduino has a large and very vibrant community of people to help out with your setup or any questions you might add.
Contributors
This project exists thanks to all the people who contribute, both in terms of code and testing provided. If you'd like to get involved, please have a read through Contributing and then jump on Slack to discuss things further