* Fix Jeep2000 decoder
getCrankAngle_Jeep2000() sets crankangle = 146 if toothcurrentcount = 0, because last tooth was cam tooth which is 146 ATDC, however, all the timing and angle calculations are not done on the cam tooth read, so crankangle should be set to 118 for previous crank tooth.
* fix the fix
@jaredsellers4 pointed out that to be consistent with the rest of the crank tooth timings, it should be the leading edge, 114, rather than 118.
* Further improvement to Jeep 2000 decoder
1) filter out secondary signals when primary tooth is not 12 or 13 (because it's noise)
2) scale the trigger filter gap according to whether the next gap is bigger, smaller or the same as the previous/current gap.
* Revert "Further improvement to Jeep 2000 decoder"
This reverts commit 3510aa49c3.
* fix Jeep2000 to address #897
getCrankAngle_Jeep2000() sets crankangle = 146 + triggerAngle when toothCurrentCount = 0, because toothCurrentCount was set to 0 on seeing the Cam tooth, and the cam tooth angle is 146.
However, the tooth timings that are subsequently used in calculations are from the previous crank tooth, which was at 114. Therefore 114 is the correct crankangle to work with.
Co-authored-by: Jon Billings <jon.billings@bbc.co.uk>
* Fix problem of using an uninitialised variable when initialising the stepper
after power on.
* Fix faulty idle taper causing OLCL and CL stepper to get stuck in the cranking position.
Co-authored-by: Richard Metcalfe <richard@richmet.com>
* 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>
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>
* 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.
* 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>
* 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>
* 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>