Commit Graph

2916 Commits

Author SHA1 Message Date
Josh Stewart 572d1b274b Remove missing tooth 1 tooth margin for low res (<=12 tooth) wheels on per tooth ign mode 2023-07-03 13:25:04 +10:00
Josh Stewart 4a18cb3ec5 Fixes for missing tooth decoder with 2 stroke sequential 2023-07-03 13:23:49 +10:00
Josh Stewart f331271d5a Add aircon pins to the I/O summary 2023-06-29 15:48:13 +10:00
Josh Stewart adee2bcc7f Prevent lockup if 36-2-1 (4B11) pattern is selected 2023-06-29 12:19:23 +10:00
Josh Stewart a1ae3db072 Fix for incorrect bracket in last commit 2023-06-26 16:17:59 +10:00
Josh Stewart 624d255123 Standardise all the fuel schedule setting channel calls 2023-06-26 15:52:02 +10:00
tx_haggis d9b5554a8c
Save 600+ bytes RAM (step 3 of 9) - remove per-channel schedule calculation functions, use generic equivalents instead (#1018)
* 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>
2023-06-26 12:13:53 +10:00
Josh Stewart 2a6c6bd8ed Add unit tests for staging and update other tests 2023-06-26 11:48:54 +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
vaiski fcb78b2e9f
Small fix so that vvt2PID get updated in a correct frequency. (#1060) 2023-06-19 18:33:26 +10:00
Josh Stewart 46a7c6fda5 Fix for O2 calibration not being written to EEPROM 2023-06-13 16:37:21 +10:00
Josh Stewart 9c3e993b53 Initial commit of new rolling rev limiter 2023-06-09 16:10:43 +10:00
Josh Stewart 6c6cd9488d Add updates section for 202306-dev 2023-06-05 16:41:59 +10:00
Josh Stewart fed32686a5 Dev signatures for 202306-dev 2023-05-28 00:11:29 +10:00
Josh Stewart 97cdc4de8a Update version numbers in README 2023-05-27 00:12:08 +10:00
Josh Stewart dd41ae5f27 Signatures for 202305 release 2023-05-26 17:00:51 +10:00
Teemo Vaas 03f82ae8f0
HalfsyncToFullSync update (#1052)
Fix against possible condition that when fuel closeInjector assignments are changed, some injectors could remain open.
To prevent this, check was added to ensure that no fuel injection is ongoing when switching is done from halfsync to fullsync.
2023-05-26 14:59:04 +10:00
Josh Stewart 263b40dc96 Add warning that WMI and VVT cannot be used together.
See #1053
2023-05-26 14:45:10 +10:00
Josh Stewart ca4204234a Working SD logging on T4.1 2023-05-24 15:21:29 +10:00
Josh Stewart aca23b9c71 Update Help URLs throughout ini dialogs 2023-05-22 16:37:17 +10:00
Josh Stewart 85184deba3 Don't turn off DRV8825 ENABLE pin between steps, only when target is reached 2023-05-22 14:24:52 +10:00
Josh Stewart 1502b6ff88
Dwell error correction (#1049)
* Initial work on dwell error correction

* Fix error message in TS

* Add averaging to schedules 5-8

* Cleanup warning

* Final cleanup and comments
2023-05-22 13:37:40 +10:00
Vitor Moreno B. Sales 72dd807fb3
Consistent MAP readings for all platforms (#619)
* Added a 1000Hz call for MAP reading on ARM cores

* Use 1kHz section for map reads on all MCUs

---------

Co-authored-by: Josh Stewart <josh@noisymime.org>
2023-05-19 10:24:56 +10:00
Josh Stewart a9481ca74b Cleanup some ini defaults and power cycle requirements 2023-05-19 09:29:12 +10:00
Pasi Kemppainen 3857cc4514
Change serial buffer size to 128 (#1014) 2023-05-18 17:37:10 +10:00
Josh Stewart d9edd7a001 Allow use of flex sensor on RPM2 pin
Flex pin is still not user selectable in TS, but maybe added at some point. This also allows use of this on board configs.
Also switch to using div100 in the fuel temp code.
2023-05-18 16:06:16 +10:00
Josh Stewart 6932101254 Add a cranking to running RPM hysteresis (15 rpm) 2023-05-18 15:21:30 +10:00
Josh Stewart 3d3cb3b913 Fix minor VSS issue that could cause speed to read 0 if pulses are greater than 333ms apart
Correct timeout limit for vss is 1 second
2023-05-18 11:02:06 +10:00
Josh Stewart 7e8534c6d0 Allow RPM2 to be used for VSS on all decoders that don't have secondary 2023-05-17 15:39:34 +10:00
Josh Stewart 9bc49d9aa2 Warnings cleanup 2023-05-17 11:36:08 +10:00
Josh Stewart 62e14754bb Don't break VSS if using RPM2 pin and enable tooth or composite log 2023-05-17 11:25:50 +10:00
Josh Stewart 27531d3440 Allow use of RPM2 pin for VSS with Basic Distributor trigger 2023-05-17 08:46:20 +10:00
Josh Stewart b0cf9e6cd2 Missed ini line from last commit. 2023-05-17 08:21:25 +10:00
Josh Stewart b49c6b6ab8 Add option to power stepper motor constantly. Fixes #1031 2023-05-17 08:17:26 +10:00
Josh Stewart 4e157ce504 Change test paths to use / rather than \
Should be cross platform this way
2023-05-15 15:40:56 +10:00
tx_haggis 18501d4cbd
Additonal schedule initialization unit tests (#1046)
* const

* Add RUN_TEST_P

* Reduce test memory usage.

* More granular fuel tests - better failure reports

* More granular ignition tests - better failure reports

* Add unit tests for no injection timing

* Add fuel schedule oddfire tests

* Unit test ignition odd fire
2023-05-15 15:16:41 +10:00
mike501 805a535238
VVT2 improved logging & setup (#1036)
* adding VVT logging and trigger edge editing


fix missing define (temp fix?)


Revert "fix missing define (temp fix?)"

This reverts commit c6280f38ff69cc41278148a79c888736a71754b1.

fixes

* Create an additional logger screen in tunerstudio

Changes to create a third high speed logger window in tuner studio.

* Change variable name 

Discord discussion requested compositeLogEnabled didn't do a test for false as the type is now a byte. Variable renamed to be compositeTriggerUsed and false replaced with 0. Variable name and values used should now make more logical sense.

* added more logging

Log the primary, secondary and third inputs as well as engine cycle on all composite logs. Still have 3 different logs to allow you to visualise which is the best way to present the information.
2023-05-15 14:15:46 +10:00
Josh Stewart 492d0d2daf Fix for new ign mode on 8 cylinder, single channel output 2023-05-15 13:16:40 +10:00
mike501 d89cd532f9
updated to fix resync and improve sync fail reporting (#1047)
Fixes #801
2023-05-13 15:54:05 +10:00
Vitor Moreno B. Sales 9a1c3e30c3
Cranking add cold advance option (#872)
Co-authored-by: Josh Stewart <josh@noisymime.org>
2023-05-10 10:32:11 +10:00
tx_haggis 424a96d9ea
Test start/end callback assignment (#1044) 2023-05-07 19:42:09 +10:00
tx_haggis f71b7e50e2
Suppress 5.8 & 8.6 (#975)
As of cppcheck 2.9, these checks produce too many false positives
They do not account for class scope.
E.g. class1::method1==class2::method1
2023-05-04 10:14:57 +10:00
Jon Billings bcdd308035
fix check for engine rpm below target (#954)
* fix check for engine rpm below target

code is checking for RPM > target speed, but comment says checking for below target speed.
The comment makes sense, the old code doesn't

* improve idle advance enabling

revert to original (rpm > (target - 200)), to avoid excessive advance in transition from cranking to running with IAC control units.
But add exception if no other idle control mechanism to start it immediately (e.g. ITBs)
2023-05-04 00:24:45 +10:00
Josh Stewart 78bed477f5 Merge branch 'master' of https://github.com/noisymime/speeduino 2023-05-03 15:41:38 +10:00
Pasi Kemppainen a93811c8df
VSS from Aux input (#710)
Co-authored-by: Josh Stewart <josh@noisymime.org>
2023-05-03 15:23:49 +10:00
celso acyr da57378684
Read analog values via CAN BUS (#635)
* Read analog values via CAN BUS

Allows reading of 16 analog signals via CAN-BUS. with selection of Edianness.

* Moved function

Function moved to improve data readability.

---------

Co-authored-by: Josh Stewart <josh@noisymime.org>
2023-05-03 15:12:29 +10:00
Josh Stewart 65005c0019 Sync SD log with card at 4Hz interval 2023-05-02 13:13:19 +10:00
Josh Stewart 8d99a9c971 Correct template in build/unit test fail messages to Discord 2023-04-30 19:57:58 +10:00
Josh Stewart 1e66cfc5a6 Fix unit test build errors from last commit 2023-04-30 19:52:02 +10:00
mike501 53d6a6a461
Rover MEMS 4 cylinder decoder (#1032)
Decodes the 5 known Rover MEMS ECU patterns for Rover based engines. Covers A series, T series, O Series, K Series and V8. Doesn't currently cover sequential ignition for v6 or v8.

Co-authored-by: Josh Stewart <josh@noisymime.org>
Resolves #101
2023-04-30 19:01:10 +10:00