Commit Graph

52 Commits

Author SHA1 Message Date
Andrey 1eb1f1a101 tear down Engine god object #4511
just trying different things
2022-09-05 04:00:24 -04:00
Matthew Kennedy 4035d79a91 idle always uses instant rpm (#4499)
* idle always uses instant rpm

* configs

* fully inject rpm
2022-08-29 22:18:06 -04:00
Andreika fda9448798 [DRAFT] Air by rpm taper (#4486)
* add rpm to getOpenLoop() and getRunningOpenLoop()

* implement airByRpmTaper

* unit-test for airByRpmTaper
2022-08-25 21:23:23 -04:00
Matthew Kennedy 1fd637d27e remove idle offset (#4355)
* remove offset

* remove more completely

* changelog
2022-07-18 15:49:43 -04:00
Andrey b7cd7dbdb9 Extra Idle Air if Throttle is Pressed behavior #3940
only live data
2022-04-03 20:30:09 -04:00
rusefillc 5c16186919 safer file name (#3861)
* safer file name

* safer file name

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -05:00
Matthew Kennedy 6fc4503ee2 XY Idle VE Table (#3781)
* config & ui

* implement

* test idle VE switching behavior

* use the interface where we can

* s

* re-bump flash version
2022-01-20 14:08:54 -05:00
rusefillc 5c68f86a0d RE usability: live data for idle controller 2022-01-10 21:55:52 -05:00
rusefillc 5eaabf5eb6 RE usability: live data for idle controller
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefillc 6fd0ae24d9 RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
rusefillc 7760ddd8b6 live data for wastegate #3588
i want to persist state so no 'const' sorry
2021-11-23 15:52:43 -05:00
Scott Smith 659cc68be1 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 f9f13f0bad 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 80091498a6 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 dac2ae9b1d 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 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Matthew Kennedy bd04dc8352 less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Andreika 99fb5e4204 [DRAFT] Fix cranking->idling taper phase for useSeparate*ForIdle tables (#3168)
* Rename Phase::CrankToRunTaper -> CrankToIdleTaper

* Change isIdling() to isIdlingOrTaper()

* test_idle_controller.cpp

* useSeparateIdleTablesForCrankingTaper setting

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 12:05:20 -04:00
Matthew Kennedy e056369f05 actually remove FSIO idle stuff (#3150)
* debug mode

* pid cleanup

* more dead

* more dead

* wow more dead

* much dead many death wow
2021-08-14 09:48:45 +03:00
rusefillc 5fed6d2ffe Clutch switch inverted options do not invert detected pedal position #3044 2021-07-24 15:36:03 -04:00
Matthew Kennedy 16dac2e47c Disable closed loop idle during cranking->running taper (#2900)
* implement

* dead file?

* implement tests

* new phase
2021-07-06 08:47:06 -04:00
Matthew Kennedy 3247d4de00 Gate closed loop idle on road speed (#2901)
* implement

* test

* b

* config
2021-07-04 09:35:12 -04:00
Matthew Kennedy 0c0957f52a apply open loop idle when in automatic mode (#2745)
* always apply open loop in closed loop

* simplify flags

* comment

* move

* comment

* missed one

* config for fan bump

* adjust miata defaults

* test fan/ac open loop

* idle CL tests

* test coasting

* test integration case

* fix merge

* put back reset logic for now

* s

* don't need that part

* I guess use OL as baseIdlePosition

* reset condition
2021-06-12 14:21:11 -04:00
Matthew Kennedy 1f3cbd67ad iac coast table (#2784) 2021-06-01 00:43:58 +03:00
Matthew Kennedy 1b607faeba Idle test that fails (#2781)
* make member func

* failing test
2021-05-31 06:18:15 -04:00
Matthew Kennedy 8cfb63455d Logging remove 3 (#2568)
* ts logger

* sensors

* wideband too

* missed one

* init

* motors, pid, etc

* vvt

* more

* idle

* missed one

* dynoview

* launch

* can

* console IO

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-20 14:09:41 -04:00
Matthew Kennedy d4965d16f3 Enable idle timing/ve tables based on idle phase logic (#2213)
* add helper

* advance

* ve

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-11 00:54:37 -05:00
Matthew Kennedy 86d3746453 Idle timing uses phase logic, remove falloff (#2169)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

* wonderful changelog

* now unused parameter

* put back deadzone

* ui

* test deadzone

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 08:06:36 -05:00
rusefillc 7c38714129 Revert "Idle timing PID uses phase logic (#2156)"
This reverts commit f1ee8b43
2020-12-31 12:22:54 -05:00
Matthew Kennedy f1ee8b431e Idle timing PID uses phase logic (#2156)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 23:50:56 -05:00
Matthew Kennedy 560061e251 Idle refactor open loop (#2146)
* impl

* typo

* tests
2020-12-26 19:34:42 -05:00
Matthew Kennedy 93cc1e84c3 more testable idle logic (#2140)
* header

* test

* impl
2020-12-26 08:32:01 -05:00
Matthew Kennedy d3cbed60af move target computation (#2091) 2020-12-17 17:46:51 -05:00
Matthew Kennedy 605269c358 remove idle thread; just call from periodicSlowCallback (#1924)
* remove thread

* remove ui
2020-11-11 21:47:19 -05:00
Matthew Kennedy 74d2af9c6c Move all DECLARE_ENGINE_PTR etc to one place (#1937)
* restructure

* guard c++

* idle too

* status_loop.h
2020-11-11 19:06:04 -05:00
Matthew Kennedy e8bb0cfd00 extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -05:00
rusefi 7601952548 Hellen says isIdleMotorBusy 2020-09-07 14:12:21 -04:00
rusefi 07df0c78a8 Weird VAG: DC motor idle valve not ETB
#1637
Seattle we might have a problem!
2020-07-26 12:03:36 -04:00
rusefi 93d015598a EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 21:35:01 -04:00
rusefi ffb559d9b3 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 21:13:04 -04:00
rusefi d70b4a5cb1 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 19:06:26 -04:00
rusefi 93f85b0b93 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 18:25:48 -04:00
rusefi eff12bbeb1 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 18:11:10 -04:00
rusefi 8bcd46291f migrate amazing idle from FSIO to less opaque TS #1581 2020-07-08 01:12:08 -04:00
rusefi bd39351055 idle_min through FSIO not working as intended #1553 2020-07-04 22:01:12 -04:00
rusefi 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
rusefi 1602bdbebc steps towards #975 2019-10-18 19:45:32 -04:00
rusEfi 53ae54e8cc ETB target is using integer values #945
first we will write a unit test
2019-09-22 00:16:46 -04:00
rusefi d83ed085e8 unit tests progress 2019-09-19 22:56:54 -04:00
rusefi afdeecb87e progress towards idle unit test 2019-08-29 23:50:20 -04:00