Commit Graph

31 Commits

Author SHA1 Message Date
tx_haggis e08d5dab25
test_math: make unit tests pass on Teensy (#1137)
Required converting dwell, actualDwell, dwellCrank & dwellRun to unsigned.
2024-03-21 11:45:10 +11:00
Josh Stewart 1439750731 Separate PW Limit calculation into own function and optimise. Add unit tests for this 2024-01-16 22:25:15 +11:00
Josh Stewart fc536d15f0 Rename all ino files to cpp (Excluding speeduino.ino).
Confirmed this compiles OK in Arduino IDE 2.x
Frees up 8 bytes of RAM
2023-10-06 18:10:20 +11:00
Josh Stewart ee807bb243 Rolling limiter fixes for launch and flat shift 2023-07-31 13:39:27 +10:00
Josh Stewart e44f4c7b54 Fix issue where staging fuel channels would be active even when not required 2023-06-26 10:46:11 +10:00
Josh Stewart 9c3e993b53 Initial commit of new rolling rev limiter 2023-06-09 16:10:43 +10:00
Josh Stewart 6932101254 Add a cranking to running RPM hysteresis (15 rpm) 2023-05-18 15:21:30 +10:00
tx_haggis 0afffb2ca0
Unit test the schedule calculations (#1010)
* 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
2023-03-06 17:23:17 +11:00
Josh Stewart 2fc29ceef5 MISRA cleanup rule: misra-c2012-8.2 2022-11-06 09:43:29 +11:00
Vitor Moreno B. Sales adaa6a227e
Enable use of disabled functions pins (#549)
* Enable use pins of disabled functions or unused ign channels

* Added new pins and functions to check
2022-06-29 16:37:50 +10:00
Daniel Tobias 7020705dbe
fix typos in code documentation (#816)
* fix typos in code documentation

* minor reverts

* fix typos in ini

Co-authored-by: Josh Stewart <josh@noisymime.org>
2022-04-11 10:49:58 +10:00
Josh Stewart f02d75bfbe Some initial work for same51 board support 2021-03-13 08:43:51 +11:00
James Portman e22faf56da
refactor calculateIgnitionAngles (#491)
easier to read and to follow the logic, remove code duplication

Co-authored-by: James <james@notarealemailaddress.com>
2020-12-15 13:00:29 +11:00
Josh Stewart 61cef9451c Separate logic for secondary fuel and ignition tables 2020-10-22 11:21:48 +11:00
Josh Stewart fb15a565ea
Pr/435 (#445). Closes #435
* Add files via upload

* Add files via upload

* Update storage.h

* Update log size

Co-authored-by: DylanRooijakkers <69131866+DylanRooijakkers@users.noreply.github.com>
Co-authored-by: Dylan Rooijakkers <rooijakkersd@gmail.com>
2020-08-23 08:27:44 +10:00
Josh Stewart 33dc5e58dd Add unit tests for pulse width calculation 2020-04-23 16:20:09 +10:00
Josh Stewart 0db3806b60 Correct behaviour for when both stages of nitrous are active 2020-03-19 14:18:54 +11:00
Josh Stewart 6396ee551d Fix linker error on last commit 2020-03-18 00:10:13 +11:00
Josh Stewart bc67453098 Addition of 0-720 injector timing curve. See #306 2020-03-17 18:27:05 +11:00
Josh Stewart 984d52d5eb Minor cleanup of various files 2020-02-16 19:54:52 +11:00
Josh Stewart 76ef814847 Large cleanup of global varialbes in preparation for unit test framework 2020-01-24 11:31:39 +11:00
Josh Stewart df22b1d41b MISRA cleanup 2019-12-02 14:47:30 +11:00
Josh Stewart 169bee0a67 More complete support for table switching 2019-09-02 17:01:03 +10:00
Josh Stewart b12fec4a72 Initial work on processing the 2nd fuel table 2019-05-02 11:52:05 +10:00
Josh Stewart f41f95a60c More testing of doxygen 2019-04-09 16:03:25 +10:00
Josh Stewart 4705a594f6 Some initial testing of doxygen generation (on speeduino.ino/h files) 2019-04-09 10:58:55 +10:00
Josh Stewart 0c434004d6 Introduce init.ino to help clean up speeduino.ino 2019-01-11 17:25:07 +11:00
Josh Stewart faae1f3a5a More of the knock control ground work 2018-08-14 12:47:15 +10:00
Josh Stewart cc6bf05a43 Initial work on new ignition timing method (Very messy) 2018-08-08 15:17:09 +10:00
Josh Stewart d473e00ce4 Groundwork for proper variable algorithms 2018-04-24 17:11:10 +10:00
Josh Stewart 6a8ab1015b Move the pulse width function into the speeduino.h scope 2017-10-24 14:08:32 +11:00