Commit Graph

2784 Commits

Author SHA1 Message Date
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
Tjeerd dc87795718
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>
2022-06-27 09:30:40 +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
Josh Stewart 61708a5716 Prevent cranking and ASE corrections running at once. Alternative fix to #868 2022-06-20 15:03:31 +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