Commit Graph

1177 Commits

Author SHA1 Message Date
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 fed32686a5 Dev signatures for 202306-dev 2023-05-28 00:11:29 +10:00
Josh Stewart dd41ae5f27 Signatures for 202305 release 2023-05-26 17:00:51 +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 aca23b9c71 Update Help URLs throughout ini dialogs 2023-05-22 16:37:17 +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
Josh Stewart a9481ca74b Cleanup some ini defaults and power cycle requirements 2023-05-19 09:29:12 +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
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
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
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
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
mike501 e0dbb38794
Renix 44 tooth decoder (includes 66 tooth code) (#1037)
* Renix 44-2-2 & 66-2-2-2 initial version

coded, not tested yet, saving to secure code

* First working version on ardustim

* updates to trigger setup

* latest changes

* 66 tooth working but occasional short dwell

* staging before major rewrite

updating the primary trigger to look for 12th system tooth to increment toothCurrentCount after this checking

* updated working but with bad dwell/timing

code works but the timing and dwell are not accurate once rpm goes over 400rpm

* Renix code 1st release

updated code to do both 44 and 66 tooth within a single set of functions

* remove support for sequential for 44 tooth

Sequential (via cam) was added for 44 tooth to enable future expansion. This is interfering with the normal code on the first testers car.

* updated cam position

* remove Dev logging

* remove logging

* updates to trigger decoding

fixes to 66 tooth pattern and removal of secondary flag for 44 tooth decoder

* fixes to decoder - rpm double

* updates to support display cam tooth position

added code to display which teeth the cam tooth arrives on as VVT1 & 2 and as Aux0 and Aux1.

* Revert "updates to support display cam tooth position"

This reverts commit d2ace89ea7.

* fixes from update to latest speeduino firmware

* Add 4cyl semi-seq injector pairing option

* Add timestamp field to SD logs

* Fix soft and hard rev limiter (#813)

* Increase dwell limiter in RX-8 type ignition (#820)

Currently the dwell limiter calculation considers rotary ignition to have more than 1 pulse per revolution. This only holds true for FC/FD type ignition which is wasted spark correctly resulting in 2 pulses per revolution. RX-8 type ignition however is fully sequential so there is only 1 pulse per revolution. As a result the dwell limiter is being calculated too low.
This change fixes the issue by correctly assuming 1 pulse per revolution in RX-8 type ignition

* All tapers use byte counters (#746)

Fixes

Update idle.ino

* Correct variable size for MAPlast

* Fix issue with SD RPM threshold not correctly detecting on/off

* Reorganise Engine Protection UI

* Add low/high battery voltage indicator (#824)

Fixes #822

* Remove tacho output flags (#814)

* 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>

* Added Trigger for the Yamaha Vmax motorcycle, 1990 and up. (#823)

* Test 1

* Added the Vmax decoder option

* Added the Yamaha Vmax decoder

Co-authored-by: RempageR1 <unconfigured@null.spigotmc.org>
Co-authored-by: Josh Stewart <josh@noisymime.org>

* Allow for '?' command through legacy comms.

Fixes #821

* Added idle advance start threshold (#747)

* Added idle advance start threshold

On lower temp and/or on ethanol the engine need to crank more, without this my starter get a kick and the engine backfires.

This enable it only at 200 RPM below the target

* Use define to idle advance RPM threshold

Co-authored-by: Josh Stewart <josh@noisymime.org>

* Remove previousLoopTime - never used (#706)

* Simplify the corrections calculations using div100

* Fix the calculations dash figures when battery correction is applied to open time only

* PWM and on/off idle fixes/cleanup (#806)

* Idle fixes #1

* Idle fixes #2

Co-authored-by: Josh Stewart <josh@noisymime.org>

* Remove duplicate iacClosedLoopTable. Lookup idle target RPM @ 4Hz after CLT reading

* Fix validTrigger assignment in Vmax decoder

* Align TPS_rateOfChange scale. Potential fix for #773

* Enable semi sequential and wasted COP on half sync (#478)

* Semi/Full sequential mode

Semi sequential in case of absent phase input at crank, engine will almost aways start in semi sequential mode

Minimal code change at speeduino.ino

Fix RPM reading when in half sync

* Update with latest changes in master

* Less calls to change functions

See #478 chat history for details

* Semi/Full sequential mode

Semi sequential in case of absent phase input at crank, engine will almost aways start in semi sequential mode

Minimal code change at speeduino.ino

Fix RPM reading when in half sync

* Update with latest changes in master

* Less calls to change functions

See #478 chat history for details

* Add sync status to log

* Updates

Updated speeduino.ini
Updated updates.ino

* Fix error in half to full sync function

Co-authored-by: Josh Stewart <josh@noisymime.org>

* Fixes after merge with speeduino master

* improved debug on sync loss using VVTangle

* additional debug

uses aux channels for debug  eg currentStatus.canin[2] these need removing from the full version. Also uses VVT1 pin for debug via VVT1_PIN_OFF()  and VVT1_PIN_ON()

* fixes

* remove secondary trigger

* different logging

* Final Version

* added automated tests

* fixed fuel pump always being on

* fix build issues after merge with master

* Change how 44 or 66 tooth selected

Updated to work out 44 or 66 tooth decoder based on the number of cylinders, 4 cylinder = 44 tooth, 6 cylinder = 66 tooth

* Fix typo in ini

* Delete compile_commands.json

* Remove duplicate declarations

* Remove VVT code from other PR

* fix speeduino.ino

Remove unintended additions to speeduino.ino

---------

Co-authored-by: Josh Stewart <josh@noisymime.org>
Co-authored-by: Pasi Kemppainen <48950874+pazi88@users.noreply.github.com>
Co-authored-by: theKraid <37898397+theKraid@users.noreply.github.com>
Co-authored-by: Vitor Moreno B. Sales <vitor_boss@yahoo.com.br>
Co-authored-by: Corey-Harding <91717711+Corey-Harding@users.noreply.github.com>
Co-authored-by: Daniel Tobias <dantob@users.noreply.github.com>
Co-authored-by: RempageR1 <103254506+RempageR1@users.noreply.github.com>
Co-authored-by: RempageR1 <unconfigured@null.spigotmc.org>
Co-authored-by: tx_haggis <13982343+adbancroft@users.noreply.github.com>
Co-authored-by: Vitor Moreno B. Sales <vitor.m.benevides@outlook.com>
2023-04-30 18:30:34 +10:00
Josh Stewart 9ff33f0384 Allow send of partial tooth and composite logs at low rpm/resolution 2023-04-26 16:35:39 +10:00
Josh Stewart 8c85b0c998 Remove legacy comms option from TunerStudio. Add legacy comms lock 2023-04-26 13:45:22 +10:00
Pasi Kemppainen 8c3c416f7a
Remove duplicates (#1027) 2023-04-24 11:53:42 +10:00
Josh Stewart e5e46b1d73 Add serial compatibility mode option 2023-03-23 11:05:10 +11:00
Josh Stewart 05e3ebeea3 Add power cycle warning for oil and fuel pressure. Fixes #1017 2023-03-14 11:59:44 +11:00
DeionSi e99a9e52f1
Remove unused temp sensor calibration option (#1005) 2023-03-14 11:43:21 +11:00
Josh Stewart 311cae3fac Allow fuel staging up to 8 total fuel channels (All reasonable combinations) 2023-03-06 16:49:30 +11:00
DeionSi 84cc382b17
Duplicate engine_constants dialog (#997) 2023-02-01 14:24:26 +11:00
DeionSi b2a3fdd88d
Add Lambda options for EGO correction and Nitrous leanest AFR (#993)
* Added Lambda option for EGO correction. Same fields, just another way to view and set them.

* Added Lambda option for Nitrous Leanest AFR. Same field, just another way to view and set it.
2023-01-30 15:22:15 +11:00
DeionSi 41352d22bf
Add lambdaTable and memory map to afrTable (#988)
* Add and memory map lambdaTable to afrTable

* Remove extra lambdaTargetTables entry
2023-01-30 14:20:14 +11:00
DeionSi 9a03a91261
Use separate afrProtectDeviationLambda constant memory-mapped onto afrProtectDeviation (#989)
* Use separate afrProtectDeviationLambda constant memory-mapped onto afrProtectDeviation

* 3 decimal accuracy for Lambda

* Add default for afrProtectDeviationLambda
2023-01-30 14:18:52 +11:00
DeionSi 6df8162897
Scale AFR gauge warnings by stoichiometric ratio (#986) 2023-01-30 14:13:46 +11:00
wonder99 ee0818d982
Add Tacho Sweep function at startup (#935) 2023-01-11 14:27:16 +09:00
Pasi Kemppainen f59d013714
Add deceleration enleanment feature (#939)
* Add decel enleanment feature

* Fix tps and map DOT scaling in TS.

* updates.ino

* Small bug fix.

* One more small bug fix.

* Update cancomms.ino

Cast tps/mapDOT as uint8 to cancomms to retain backwards compatibility

* Fix programmable outputs list.

* Fix programmable outputs in updates.ino

* Add abs around currentStatus.mapDOT
2022-12-14 11:17:47 +11:00
Pasi Kemppainen eb97b8458c
Add parameters to require power cycle (#940) 2022-11-30 15:19:01 +11:00
Josh Stewart 22d2b4e38e Add delay to oil pressure engine protection 2022-11-23 16:15:01 +11:00
Vitor Moreno B. Sales 8e2fb0b36e
Added possibility to configure Steper bounds (#930)
Previous bounding worked only for PWM
2022-11-07 13:52:04 +11:00
DeionSi a1d3c59af7
Lower max on IAT and CLT gauges for celsius (#958)
* Lower max on IAT and CLT gauges

* CLT, IAT and FuelTemp gauges to max 120c/248f
2022-11-04 12:36:10 +11:00
Josh Stewart eb5ed8e460 Fix syntax error in ini 2022-10-18 11:25:27 +00:00
Afroboltski 75d6c2ff61
Air Conditioning Control - Feature Implementation (#665)
* 19.09.2021

* Final testing of AC Control, some idle features fixed

AC control feature added, better than the existing idle-up feature (which can still be used for other things, e.g. electrical load detection). Air conditioning is locked out with coolant temp, RPM high/low, and high TPS. So the A/C automatically cuts out when driving hard.

Idle step now works correctly with closed loop PWM, open loop PWM, and closed+open loop PWM. Untested with stepper motor, but no reason it shouldn't work.

* Fixed mistakenly incremented page sizes

* Initial changes as per HWright9

-Renamed engineRunSeconds to acAfterEngineStartDelay
-Formatted large if statements better
-Fixed acStartDelay overflow bug
-Improved readability of logic

* Final fixes as per HWright9's feedback

-Add high/low RPM lockout delay, similar to the high TPM lockout delay
-General tidy-up

* Added stand-alone fan, moved config data in EEPROM

-Added additional configurable stand-alone A/C fan output, for when there is dedicated cooling fan for the A/C compressor. This is independent of the engine cooling fan logic.
-Moved config storage in EEPROM to configPage9, as noisymime's SD card logging has used the (previously unused) bytes I had used in configPage13.
-Minor bug fix - rename Aux in 1-16 to Aux in 0-15

* Revert to current master branch - as of master commit 97f8ef795a

* A/C Control Re-Integrated from AC-Control-Clean-3 (@Corey-Harding). Tested & ready to merge.

Additionally, added @HazuTo25's lines into the update() routine to configure default A/C settings.

* Changed updates.ino to just set A/C to disabled

* Fix change reverted by mistake - master merge commit 73badbce8c

* Fix remaining mistakes from previous master merge

* Remove test statements left in by mistake

* define unusedBits

* Remove test statements left in by mistake

* Increase timing granularity to 0.1s

* idleUpRPMAdder

* Remove another line put in by mistake by auto merge

* idleUpRPMFixes

* Update speeduino.ino

* Tweak A/C idle up descriptions

* Tweak A/C TS descriptors again

* Fixed alignment bug that turned page 15 config values into gobbledegook.

This had the symptom of the A/C request never triggering, because when a pin was assigned in TS (e.g. I did 27), a completely different pin would be read from config15 (in my case 22 - connecting the button to pin 22 would work in this case, even though TS was set to 27).

* Fix bit count - should be 6 to match ini file

* Increase minimum RPM lockout granularity

* Change granularity of A/C minimum RPM lockout to 10 RPM; Inline some functions for readability

* Add static inline function prototypes to auxiliaries.h as per the style guide.

* Fixed page 15 merge errors

* Style changes to suit new pinIsUsed() checks in setPinMappings()

* Add PWM Fan Control Minimum Clamp Value when A/C Compressor Engaged

* Fix comment

* Fix bug with stand-alone fan initialisation

Pin was unable to be used in prog. I/O even if fan was disabled, because it was always initialised as an output even if it was disabled. Fixed in this commit.

* Correction to Fahrenheit temperature scaling

* Move A/C updates to correct next release

Co-authored-by: shiznit304 <62686180+shiznit304@users.noreply.github.com>
Co-authored-by: Josh Stewart <josh@noisymime.org>
2022-09-07 10:23:01 +10:00
Josh Stewart 61dbdd50ea Fix typo from last commit 2022-08-31 13:19:52 +10:00
Josh Stewart 739dc06f24 Add option to specify min absolute delta values for AE 2022-08-30 11:23:25 +10:00
Dave Smith aee331af9d
Fix improper log entries (#920)
Format typos that cause the data to not be logged
2022-08-28 21:53:03 +10:00
Josh Stewart a4823c3546 Increase most F temp field max values to 419F 2022-08-16 10:45:27 +10:00
Josh Stewart e3b931b3d1 Dev signatures for 202210-dev 2022-07-27 10:01:03 +10:00
Josh Stewart 722072e5fa Signatures for 202207 2022-07-10 23:45:49 +10:00
Josh Stewart ce7ea412db Missing commas in ini 2022-07-09 16:56:26 +10:00
Min 15d43db61a
TS option to display pressure in bar #842 (#864)
Adds options in TunerStudio project settings to have default units
for fuel and oil pressure in bar. Adds gauge in kPa. This only
adds convertion from psi to bar, not affecting firmware.

Co-authored-by: Min <min@infcof.com>
2022-07-08 14:35:15 +10:00
Josh Stewart c129fa3326 Add option for SD logging with external switch 2022-07-08 14:31:48 +10:00
Josh Stewart fcde4f795b Add engine protection flags to datalog 2022-07-08 13:27:38 +10:00
Josh Stewart 63b52a5037 Remove controller priority on trigger edge. Fixes #860
This was added for a specific FW update in 2018 and no longer needed.
2022-06-29 17:42:52 +10:00
larmicfre ae3347f571
Fixed value mode for AFR protection (#877) 2022-06-27 09:21:11 +10:00
larmicfre d5fc16d97c
Corrected RPM to TPS (#878). Fixes #874 2022-06-26 17:43:35 +10:00
larmicfre 298d994ba1
AFR protection function (#861)
* Implementing AFR protection

* Update globals.h

* Bug fixes and code refactoring

* Moved variables to prevent ODR

* Dialog for AFR protection

* Data size and math corrections

* Possibility to use either AFR or lambda

* Updated default AFR protection values

* No need to do multiplications due to existing RPMdiv100 variable

* The X100 multiplier was wrongfully removed

* Add defaults in updates.ino, minor formatting cleanups

Co-authored-by: Josh Stewart <josh@noisymime.org>
2022-06-20 09:52:07 +10:00