Commit Graph

500 Commits

Author SHA1 Message Date
Andrey c1b218b772 refactoring: let's use different names for different things 2022-09-05 01:16:24 -04:00
Matthew Kennedy 9407150544
more granular trigger error messages (#4526)
* granular trigger error messages

* adjust test expectations

* explicitly test behavior
2022-09-04 09:15:24 -04:00
Andrey 6b4e6c8169 tear down Engine god object #4511
just trying different things
2022-09-03 11:07:26 -04:00
Andrey da66fa055c refactoring: enum name clean-up 2022-09-01 00:23:33 -04:00
Matthew Kennedy ca4936d3fe
rename and fix skyactiv cam mode (#4505) 2022-08-31 22:12:45 -04:00
rusefillc deba48e13a TT_VVT_MAZDA_MYSTERY 2022-08-28 22:57:44 -04:00
rusefillc 172f054d25
separate atomic change (#4494)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-27 22:09:54 -04:00
rusefillc 67055c69bf progress or maybe even a fix of logging? 2022-08-25 22:24:35 -04:00
rusefillc 09ec99f192 Idle air add via Lua fix #4465
AddressSanitizer being useful?
2022-08-21 00:58:59 -04:00
rusefillc 6d634e3c6a Idle air add via Lua fix #4465 2022-08-21 00:32:34 -04:00
Matthew Kennedy 165e5bb869
misc fixes (#4411)
* fix warnings

* break to debugger in case of panic

* move the check

* s
2022-08-02 12:19:50 -04:00
rusefillc 9b83ee7d6e cherry pick https://github.com/rusefi/rusefi/pull/4365 2022-07-21 15:26:41 -04:00
rusefillc 975329fcc7 Detail on how to set up iDrive or equivalent CAN button control #226
boost lua
2022-07-14 14:04:21 -04:00
rusefillc 39df02fe35 Detail on how to set up iDrive or equivalent CAN button control #226
boost lua
2022-07-14 13:03:08 -04:00
rusefillc cad14d6541 #4308 progress 2022-07-14 12:36:55 -04:00
rusefillc 67ec949eb6 Lua A/C Input #4333 2022-07-08 00:51:53 -04:00
rusefillc 483395fa2e
https://github.com/rusefi/rusefi_documentation/issues/226 (#4306)
* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-29 23:34:00 -04:00
rusefillc f7ecebaa64 logging of live data structs was: data points #3614 2022-06-29 02:37:24 -04:00
Matthew Kennedy 9d62aeb81f
force o2 heating (#4275) 2022-06-23 14:32:34 -04:00
rusefi a552d58d42 verbose trigger sync should reuse engineSnifferRpmThreshold #4259
reducing complexity
2022-06-18 14:17:36 -04:00
Matthew Kennedy 932f5e1f30
cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit 32d46d1f09.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit d5e131b1d0.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
Matthew Kennedy c0d8cbfef4
Trigger cleanup init (#4222)
* extra parameter

* name decoders in constructor

* s
2022-06-01 00:55:34 -04:00
Matthew Kennedy f945e6efc9
trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy 170d574a5d
move logic in to trigger decoder (#4162)
* move logic in to trigger decoder

* status loop

* minor cleanup

* s
2022-05-10 23:55:28 +03:00
Matthew Kennedy d4509cab8a
TriggerState -> TriggerDecoder (#4157) 2022-05-10 11:41:39 +03:00
Matthew Kennedy 76ccb19453
clarify doesTriggerImplyOperationMode (#4153) 2022-05-09 15:28:30 -04:00
rusefillc 2132cec3fc Remove value copy from controller into outputChannels #4095 2022-05-09 06:12:17 -04:00
Matthew Kennedy bc6a87cadc
allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
Matthew Kennedy 16de438ab8
knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
Matthew Kennedy 92eab7f3ba
check voltage instead of temperature (#4062) 2022-04-10 17:41:41 -04:00
rusefillc 19007ade64 MRE QC build broken #4059 2022-04-10 15:48:35 -04:00
rusefi 155b3ec8bb MRE QC build broken fix #4059
nasty work-around
2022-04-09 19:13:55 -04:00
rusefillc e1235c4f2e Air Conditioning Improvements #4054 2022-04-09 00:26:52 -04:00
rusefillc e631988b22 Proper cam speed labels in triggers #4021 2022-04-03 12:22:47 -04:00
rusefillc 291d90ff48 Proper cam speed labels in triggers #4021
i cannot explain this since line so let's remove it
2022-04-03 12:15:19 -04:00
Andrey 204ac3961b Trigger setup in TS is highly confusing: hide operation mode from users? #4031
WOW it works?!
2022-04-03 02:30:43 -04:00
Andrey 9d335c1261 Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 01:38:52 -04:00
rusefillc 6b5747d4c8 refactoring: method rename 2022-04-02 21:01:29 -04:00
Andrey b3fdd790b5 new VVT trigger shape? #1847 2022-03-22 06:34:22 -04:00
Matthew Kennedy f742ae8b7e
limp mangaer handles more stuff (#3983) 2022-03-20 09:28:17 -04:00
Andrey 402f36aad6 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 22:06:19 -04:00
Matthew Kennedy 1af68ff30b
fix gap override logic (#3946) 2022-02-18 17:13:45 -08:00
Matthew Kennedy 40d16291b0
Remove fsio part 2 (#3876)
* dead config stuff

* fsio state

* remove tests

* getEngineValue

* put part back
2022-02-02 00:49:44 -05:00
rusefillc 751355a04b
Limp shutdown rebase (#3879)
* limp manager handles engine stop

* use timer

* dead relevant fsio

* this stuff needs its own ticket

* if we can comment out 'business logic' and tests do not fail it's not a great sign :(

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-01 20:47:17 -05:00
Matthew Kennedy a718f3a30a
Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
rusefillc 1d64929f33 Remove Miata MX5 NB1 trigger fix #3488 2022-01-31 18:20:43 -05:00
Matthew Kennedy b5232ab5e6
decouple TPS accel enrichment from trigger (#3825)
* move call site

* move thresholding out of fast path

* adjust config

* test
2022-01-23 15:31:39 -05:00
Andrey e55eb28086 migrating to SensorType::Rpm API 2022-01-20 22:42:13 -05:00
rusefillc bc66096574 Better handling of RPM during stop of cranking #3803
refactoring: reusing existing method
2022-01-17 21:00:49 -05:00
rusefillc 240c6fe8b6 GDI red FATAL led on cranking fix #3766 2022-01-12 01:01:33 -05:00
rusefillc 6ee0a55eaf RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
Matthew Kennedy d5c4b79b1a
Nb2 crank sync special case (#3727)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* custom nb decoder

* test only resyncs once!

* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
Matthew Kennedy 95ad75318d
improved noFiringUntilVvtSync logic (#3696)
* s

* poke

* poke again for science

* kick for science

* kick

* kick

* comment kick

* s

* don't try to compare the array decay pointer to 0 (!)

* collateral damage

* adjust miata sync

* reset trigger states correctly on engine stop

* s

* nissan MR too
2021-12-27 12:09:38 -05:00
rusefillc 8bc542b40b https://github.com/rusefi/hellen154hyundai/issues/49 2021-12-17 16:39:12 -05:00
rusefillc 4292c2fb1d MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
rusefillc 31ed18fe84 clutch input via CAN #3605 2021-12-15 19:20:07 -05:00
rusefillc b3a240f893 clutch input via CAN #3605 2021-12-15 17:48:21 -05:00
Matthew Kennedy 4148ee76bf
smarter priming logic (#3674)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test

* priming happens on ignition-on

* priming has its own scheduling

* config & UI

* dead config

* implementation

* look, the test caught a bug

* keep the watchdog happy

* bad merge

* changelog

* easier to read the test

* test naming
2021-12-08 16:20:19 -05:00
Andrey 940b04ab24 Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming 2021-12-07 20:18:47 -05:00
Andrey e9d16bfa13 MAP phase sensing #3544
new implementation
2021-12-07 20:00:50 -05:00
Andrei 99daecb7c7 better ignition_voltage_detected message 2021-12-04 01:41:25 -05:00
rusefillc 0ce025b1f5 fix vBatt false-detection 2021-12-01 11:22:13 -05:00
Matthew Kennedy 0badb6b2ff
AC is EngineModule (#3604)
* AC is engine module

* missed a spot with main relay while we're at it

* TS
2021-11-25 07:59:31 -05:00
Andrey e2fa1af527 MAP phase sensing #3544 2021-11-24 22:36:36 -05:00
Matthew Kennedy 81fffe87b7
main relay doesn't use fsio (#3580)
* fuel pump

* s

* call correct callback

* more dead

* test adjustment

* don't overflow

* don't need separate function

* java

* give it a name

* generated

* generated

* add to generate script

* import *

* this is so cheap we don't need a flag

* main relay

* plumbing

* dead fsio stuff

* test it

* by 100%, we mean 99.98%
2021-11-24 07:47:51 -05:00
Matthew Kennedy a342bee57e
rpm calculator refactoring, gm 24x test (#3585)
* data

* stub test

* use getTimeSinceSyncPoint

* s

* s

* no

* test

* stray ;

* those were 1/10 what they were supposed to be

* actually check something

* dead log line?
2021-11-20 14:59:02 +03:00
Scott Smith 69d36dad6e
Final cleanup of ENGINE macros (#3567)
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
2021-11-17 13:45:10 -05:00
Scott Smith 988aacdd91
Create a base class EngineModule for that contains various useful callbacks. (#3548)
* Create a base class EngineModule for that contains various useful callbacks.

This cleans up the API by not requiring the notifiers to know about who wants callbacks.  The only
place you need to update to add a module is in one place.

* Add mockability.

* Convert InjectorModel to a Mockable EngineModule
2021-11-17 20:13:19 +03:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* (#3560)
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*

for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
    git grep -l "$i" | xargs sed -i "s/$i//g"
done

git grep -l "inject" | xargs sed -i "/inject[(][)]/d"

for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
    git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done

git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h

* Review fixups.
2021-11-16 16:52:11 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Andrey 655b77dc3f random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Matthew Kennedy 2b9696442e
nissan MR18DE VVT cam pattern (#3466)
* refactoring nissan trigger

* comments

* plumbing

* b

* enums

* image

* image

* implement decoder

* reshuffle

* don't case unused

* dead trigger enums
2021-11-05 15:33:22 -04:00
Matthew Kennedy 59e9d05fc7
extract engine phase function (#3456)
* extract getCurrentEnginePhase

* inject engine ref

* never invalid RPM, use 0 instead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-04 05:46:16 -04:00
rusefi e1a78cce41 docs 2021-11-02 17:11:44 -04:00
Matthew Kennedy 75a2b5ef02
Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
rusefillc c62fedbe34 Override trigger gaps feature #2734 2021-10-30 10:45:32 -04:00
rusefi 5ca1db80bc Honda K cam wheels #3405 2021-10-28 15:57:23 -04:00
Andrey 785c4db197 docs 2021-10-24 17:05:37 -04:00
rusefillc 4533ce4764 refactoring - extracting idle state 2021-10-16 23:55:29 -04:00
rusefillc ff864ec0bf Whatever we call it, how ever we implement it - we need live data / remote view into rusEFI actual state #3353 2021-10-14 00:47:26 -04:00
Matthew Kennedy 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
Matthew Kennedy 8cd132b8a8
dead knock code (#3255)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011

* dead stuff

* dead

* fsio

* lcd

* more dead
2021-09-21 20:40:20 -04:00
rusefillc cc0fcd32be 36/2/2/2 is an ambiguous trigger wheel fix #3242 2021-09-19 17:26:13 -04:00
rusefillc c3965471a6 36/2/2/2 is an ambiguous trigger wheel fix #3242 2021-09-19 17:08:45 -04:00
Matthew Kennedy 87e4e7e4cf
simpler way for limp manager to handle engine stop (#3194)
* simpler

* why would we lie about spinning?
2021-08-25 11:29:20 +03:00
Matthew Kennedy d2b54428c0
cleanup missing fsio stuff (#3189) 2021-08-24 08:19:03 +03:00
rusefillc 4c7e8560e0 refactoring: reduce magic constant 2021-08-09 16:33:06 -04:00
Matthew Kennedy 5373594bb7
discrete VR threshold control (#3061)
* vr pwm

* rename

* scaling and ui

* hellen pin

* s

* math

* ooh, pch

* happy test

* not magic
2021-07-28 07:44:44 -04:00
Matthew Kennedy 3518da97a7
set up precompiled header (#2971)
* ignore

* set up precompiled header

* makefile

* fixes

* cleanup

* only depend cpp on pch

* efifeatures in pch

* f7 efifeatures

* consolidate

* simulator

* proteus build

* error handling is a good one

* bootloader pch

* don't auto include pch

* dirs

* delete on clean

* bootloader cleans

* clean.sh deletes pch

* disable in bl for now

* there was a typo so maybe it'll work now

* remove todo

* don't need that any more

* don't need these parts

* don't need this part

* undo changes

* use a different cpp as example

* s

* Revert "cleanup"

This reverts commit 8de8698490f5d09c2df753f00a89751aa898be9a.

* also unnecessary now

* buh

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-25 21:23:23 -04:00
Andrey 2e3f37a771 Clutch switch inverted options do not invert detected pedal position
#3044
2021-07-24 19:32:50 -04:00
Andrey b6a5f777e6 VVT C++ magic 2021-07-21 22:14:21 -04:00
Andrey df558303d3 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:27:56 -04:00
Matthew Kennedy 2ce7777865
don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
Andrey eaf5c54bc5 Nissan VVT trigger decoder #2887 2021-07-03 09:48:59 -04:00
Andrey 36165bed44 Nissan VVT trigger decoder #2887 2021-07-03 09:43:27 -04:00
Matthew Kennedy cd5eb6a77c
Move AC logic out of FSIO (#2872)
* new impl

* remove fsio

* inject "is ac active" to fan

* include the correct code

* include

* test

* more AC features

* AC switch vs. actual AC indicators

* include

* duh
2021-06-27 18:51:34 -04:00
Andrey 1822426d0c refactoring - explicit read method 2021-06-26 22:11:42 -04:00
Andrey a5eeb19c4d refactoring - explicit read method 2021-06-26 22:07:45 -04:00