* Add support for BlitzBox in init.cpp
added case 42 for BlitzBox support
* Added support for Blitzbox to speeduino.ini
Added support for Blitzbox to speeduino.ini to get an ECU entry in Tunerstudio
* Enabled spare pins in pin layout
* Disable SD on T4.1 temporarily to prevent lockups. See #847
* Fix unit test value
* Improve closedloop boost control (#736)
* First try on updating closedloop boost control
* added eeprom updates for backward comp[atibility
* fix merge conflict
* Change updates to next release EEPROM version.
* Fix some issues after merging master
* some cleanup to minimize changes and speedup review
* cleanup updates
* chances on updates to alaign with new table format
* move LUT to new config page in eeprom
* little cleanup
* Update storage.h comments
* fix some ini warnings
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
* Minor cleanup of boost dialog from previous PR
* Add dynamic EEPROM block write limit based on RPM. Should fix#859
* Only set the idle up pin state on init if it's enabled
* 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>
* Prevent cranking and ASE corrections running at once. Alternative fix to #868
* Corrected RPM to TPS (#878). Fixes#874
* Fixed value mode for AFR protection (#877)
* bug fix. A workaround for failing emulated on internal flash writes + a root cause fix (#876)
* workaround for failing flash writes
* Root cause fix for EEPROM emulation on STM32
* Oops, remove some debugging functions.
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
* Correct typos found by codespell (#880)
* Fix broken build on Teensy from #880
* Narrow scope of EEPROM_MAX_WRITE_BLOCK to writeConfig (#881)
* EEPROM_MAX_WRITE_BLOCK can be local to writeConfig()
This saves a byte of memory ;-)
* Fix MISRA/lint warnings
Correctly cast address parameter of eeprom_read_block
Statically access table 3d type_key member
* Remove force burn code - unused
* Replace eepromWritesPending with bit set/check
* Refactor: chain write_location instances.
Clearer code.
* Fix hanging on boot (#858)
* Further fixes to the ASE correction
* Enable use of disabled functions pins (#549)
* Enable use pins of disabled functions or unused ign channels
* Added new pins and functions to check
* Fix for semi-seq inj after #478 (#883)
* Don't try to run inappropriate CI on forked repositories (#871)
* Remove old unused corrections code
* Remove controller priority on trigger edge. Fixes#860
This was added for a specific FW update in 2018 and no longer needed.
* Add engine protection flags to datalog
* Add option for SD logging with external switch
* 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>
* Fix typo from last commit
* Missing commas in ini
* bug fix EGO PID controller + some improvements. (#879)
* Fix for EGO pid
* Further improvements on ego PID
* Stop EGO controllers from calculating while DFCO is active. To prevent integrator windup.
* Fix bug in DFCO enable/disable of the controller
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
* Add necessary pin translations (#887). Fixes#867
* Signatures for 202207
* Update README.md
* Update signatures for 202207 in legacy comms
* Dev signatures for 202210-dev
* Volatile decoder variables (#902)
* triggerToothAngle is modified by interrupts
* triggerActualTeeth is never modified in interrupts
* fix check for DFCO off in correctionAFRclosedLoop() (#899)
line 608 has bit-and of configpage6.egotype > 0 & DFCO off.
it should be logical and &&
* cl boost control above baro should use logical and/or (#901)
* libdivide structs can be const - saves a few bytes (#886)
* Add OLCL mode to initBoard() for teensy (#903)
Co-authored-by: csmergs <christopher@smeraglinolo.com>
* Fix for idle PWM on STM32. Enable idle timer when idle pwm is enabled. Fixes#907
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
* Disable automatic retransmission (#910)
* Allow for float values in SD log where supported with FPU
* Increase most F temp field max values to 419F
* Revert "Merge branch 'master' into DoubleMissing"
This reverts commit bda3d89bf553df40951167870c826792ba92a715.
* recover missing files
* add vvt
* missing files
* fix stall time from debug version
* Add 3 tooth cam support
* added vvt2 and potential I4 cam
* fix
* fixes to VVT1 to always trigger on rotation 1
* fix attempt to vtt1 trigger
* fixed VVT trigger
* updated how vvt2 is calculated
* made code more readable and portable
instead of trying to set an unsigned int to its max value and handling different sized unsigned ints across different processes, using -1 and adding a comment to explain why. This will then work across all processors
* Allow updating of trigger edge for third cam
* Add logging to second cam & filtering
* include high speed logger in legacy comms
* 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.
* missed save
* 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.
* fix tertiary cam trigger
tertiary cam trigger is supposed to trigger on 2nd tooth, code had bug meaning it would never trigger.
* change how tertiary cam reset
(needs testing)
* added 4th composite logger for both cams
allows you to log both cams together and see the relationship between them.
* 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.
* Improve VVT1 detection
* fixes to merge
* update VVT2 trigger detection and reduce filtering
* Revert "Merge remote-tracking branch 'noisymime/master'"
This reverts commit 58e6e283e6.
* Correct merge error with master
missed decoders.h merge missing a reference to recordVVT1Angle which has been renamed to fit better into the naming convention within this file to triggerRecordVVT1Angle
* Removed tertiary decoder
Tertiary decoder hasn't completed testing & is specifically for certain v8 engines, removing so this can be submitted and built into the next release covering other Toyota engines (eg those used in Lexius inline 6)
* Make triggerRecordVVT1Angle static
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>
Co-authored-by: Tjeerd <33102280+Tjeerdie@users.noreply.github.com>
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
Co-authored-by: larmicfre <49905831+larmicfre@users.noreply.github.com>
Co-authored-by: Daniel Tobias <dantob@users.noreply.github.com>
Co-authored-by: tx_haggis <13982343+adbancroft@users.noreply.github.com>
Co-authored-by: Pasi Kemppainen <48950874+pazi88@users.noreply.github.com>
Co-authored-by: Vitor Moreno B. Sales <vitor.m.benevides@outlook.com>
Co-authored-by: Min <72794870+zceemja@users.noreply.github.com>
Co-authored-by: Min <min@infcof.com>
Co-authored-by: Afroboltski <70011435+Afroboltski@users.noreply.github.com>
Co-authored-by: DeionSi <DeionSi@users.noreply.github.com>
Co-authored-by: Jon Billings <jon.billings@bbc.co.uk>
Co-authored-by: a32guy <turboe30@gmail.com>
Co-authored-by: csmergs <christopher@smeraglinolo.com>
* Moved WMI to VVT2
WMI to VVT2 channel and increased PWM resolution to 0.5%
* Enable WMI and VVT at the same time
* Move MWI to VVT2 options on INI file
* Rename auxiliaries.ino to auxiliaries.cpp
* Rename updates.ino to updates.cpp
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Added taper for DFCO for ignition and fuel
Used 1 byte of RAM and 4 on page 9
* Moved data to be compatible with DFCO map thres
* Added taper for DFCO for ignition and fuel
Used 1 byte of RAM and 4 on page 9
* Moved data to be compatible with DFCO map thres
* Fixed potential overflow and DFCO tests
* Moved math into functions and added tests
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Map Limits for EGO
* Better update value for not breaking old tunes
my guess is that 300 kpa max will be good for not disabling EGO when using boost now but you can change for what value you think is the best
* Atualizar o updates.cpp
fix my dumbo mistake
* Prevent signed vs unsigned warning
---------
Co-authored-by: Josh Stewart <josh@noisymime.org>
* 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
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.
* 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.
* 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>
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
* 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>
* 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.