* Push libdivide #def into build flags
* Allow build without USE_LIBDIVIDE
* Rename libdivide folder before & after scan
It's the only way to really exclude it
* 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 VSS not resetting to zero
Reinstated car stop check to avoid speed not going back to zero.
* Better logic for gear detection
Previous gear detection logic had gears constantly lagging 1 shift behind.
* Update sensors.h
* Update sensors.ino
* Update sensors.ino
* Update sensors.h
* Update board_teensy41.h
Pit timers implementation for idle, boost and vvt
* Update board_teensy41.ino
Pit timers implementation for idle, boost and vvt
* Update board_teensy41.h
Error in fuel5-8 timer disable now corrected
* Update auxiliaries.ino
Enable vvt PWM for Teensy 4.1
* Update idle.ino
* Update board_teensy41.h
For some reason the PIT_LDVAL compares were not showing on the previous PR
* Update auxiliaries.ino
* 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>
* Initial creation of test action
* Fix relative directory
* Change to cppcheck v2.7
* Change script call
* Direct error count into file
* Fix env writing
* env update
* More env testing
* Another env test
* More testing
* More testing
* Yet more env testing
* Change to results count file
* Further testing
* Remove continue on error
* Force script to complete successfully
* Force create results dir
* Force set results directory
* Fix bad syntax
* Add badge to README
* Remove Azure pipelines
* Re-add cat of results file
* Add quiet option to script
* Add back missing line
* 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>
* 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.