Commit Graph

2989 Commits

Author SHA1 Message Date
Josh Stewart 960d713889 Reduce spark duration when dwell limit is exceeded.
Potential fix for #932
2022-09-27 11:55:42 +10:00
Josh Stewart 114e9b2c7d Correct Teensy 4.1 PIT clock scaler 2022-09-16 17:52:59 +10:00
tx_haggis b8278e7ecb
Include CPP files in MISRA script (#925)
* 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
2022-09-15 12:16:14 +10:00
Jon Billings f1a4ff014c
Jeep2000 fix (#912)
* 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>
2022-09-15 09:59:18 +10:00
rafolg a40971dde1
Configuration of PWM for idle, boost and vvt for Teensy4.1 (Take2) (#929)
* 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
2022-09-15 09:58:37 +10:00
ric355 659eb8ec0f
Fix for uninitialised variable in OLCL and CL stepper idle control (#926)
* 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>
2022-09-13 23:16:31 +10:00
Josh Stewart c8b7c18622 Flush serial rx buffer if a CRC error is found 2022-09-13 17:33:04 +10:00
Josh Stewart 3923ecf12f Tweaks to 2560 EEPROM burn during multi page writes 2022-09-12 11:53:18 +10:00
Josh Stewart 64f1187379 Don't use absolute path in archive 2022-09-08 13:29:02 +10:00
Josh Stewart 08cf42e113 Include all results files in artifact 2022-09-08 13:24:59 +10:00
Josh Stewart e24d388965 Fix yaml formatting 2022-09-08 13:17:00 +10:00
Josh Stewart 25c2d2b907 Archive MISRA results in Github Action 2022-09-08 13:15:32 +10:00
Josh Stewart 7eee585f6b Accurate MISRA scanning for all rules now in place 2022-09-08 12:57:05 +10:00
Josh Stewart cf45e6c289
Migrate MISRA scanning to Github Actions + Update to cppcheck v2.7 (#923)
* 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
2022-09-07 16:04:51 +10: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 a4b00dca90 Prevent potential init lockup on Teensy boards if invalid pin is selected for aux function 2022-08-31 16:19:09 +10:00
Josh Stewart 03e93bddb0 Do not run SD logging if overall setting is disabled 2022-08-31 14:48:46 +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 16403b41bc Allow for float values in SD log where supported with FPU 2022-08-10 12:12:42 +10:00
Pasi Kemppainen df2627e06f
Disable automatic retransmission (#910) 2022-08-10 11:06:28 +10:00
Tjeerd 827f078e6b
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>
2022-08-02 17:10:29 +10:00
a32guy 7bd1b911bf
Add OLCL mode to initBoard() for teensy (#903)
Co-authored-by: csmergs <christopher@smeraglinolo.com>
2022-07-28 10:22:42 +10:00
tx_haggis 70bf16e16b
libdivide structs can be const - saves a few bytes (#886) 2022-07-27 13:51:45 +10:00
Daniel Tobias ff0296aaf2
cl boost control above baro should use logical and/or (#901) 2022-07-27 10:25:54 +10:00
Jon Billings 76e024d3ae
fix check for DFCO off in correctionAFRclosedLoop() (#899)
line 608 has bit-and of configpage6.egotype > 0  & DFCO off.
it should be logical and &&
2022-07-27 10:22:04 +10:00
DeionSi 9fdd217b02
Volatile decoder variables (#902)
* triggerToothAngle is modified by interrupts

* triggerActualTeeth is never modified in interrupts
2022-07-27 10:08:06 +10:00
Josh Stewart e3b931b3d1 Dev signatures for 202210-dev 2022-07-27 10:01:03 +10:00
Josh Stewart 4518bb6c40 Update signatures for 202207 in legacy comms 2022-07-11 07:10:14 +10:00
Josh Stewart 77eca577a3 Update README.md 2022-07-11 00:11:08 +10:00
Josh Stewart 722072e5fa Signatures for 202207 2022-07-10 23:45:49 +10:00
Afroboltski d527f173a8
Add necessary pin translations (#887). Fixes #867 2022-07-10 22:38:42 +10:00
Tjeerd ca2bab0725
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>
2022-07-09 22:22:18 +10:00
Josh Stewart ce7ea412db Missing commas in ini 2022-07-09 16:56:26 +10:00
Josh Stewart 6af9265f70 Fix typo from last commit 2022-07-08 22:54:15 +00: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
Josh Stewart 4ab13299b5 Remove old unused corrections code 2022-06-29 17:39:18 +10:00
Daniel Tobias a330b78632
Don't try to run inappropriate CI on forked repositories (#871) 2022-06-29 17:11:42 +10:00
Vitor Moreno B. Sales c6d9fd7a10
Fix for semi-seq inj after #478 (#883) 2022-06-29 16:41:52 +10:00
Vitor Moreno B. Sales adaa6a227e
Enable use of disabled functions pins (#549)
* Enable use pins of disabled functions or unused ign channels

* Added new pins and functions to check
2022-06-29 16:37:50 +10:00
Josh Stewart bb49774d4e Further fixes to the ASE correction 2022-06-27 12:18:17 +10:00
Pasi Kemppainen 0c8ced22a9
Fix hanging on boot (#858) 2022-06-27 11:54:47 +10:00
tx_haggis 3009c39767
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.
2022-06-27 11:53:33 +10:00
Josh Stewart bf23114b13 Fix broken build on Teensy from #880 2022-06-27 11:48:12 +10:00
Daniel Tobias 540b3a4fa2
Correct typos found by codespell (#880) 2022-06-27 10:39:14 +10:00