Commit Graph

290 Commits

Author SHA1 Message Date
Andrey 3096db5c72 confusing Map3D API fix #6139 2024-03-04 17:58:24 -05:00
Andrey 2ef1a3c6c4 only: wow hello 2013 fudging 2024-02-28 21:15:04 -05:00
Andrey 81831abb97 Staged injection support; use two sets of injectors on the same engine #5247 2024-01-07 22:36:20 -05:00
Matthew Kennedy 1f64950e33 Staged injection support; use two sets of injectors on the same engine #5247
two injection models for two stages
2024-01-07 22:36:20 -05:00
rusefi 6de42dbab6 better EFI_ENGINE_CONTROL guard 2023-11-05 10:16:19 -05:00
Matthew Kennedy 883336ff30 fixAngle -> wrapAngle 2023-10-19 22:42:50 -04:00
rusefi 02b7c2580e ;; typo 2023-10-14 21:14:02 -04:00
Matthew Kennedy c872239f51 lock injection timing at high duty cycle to avoid skipped injections 2023-10-12 09:49:24 -04:00
Matthew Kennedy 58b90469cb Always log normalized cylinder filling 2023-09-17 09:57:35 -04:00
Matthew Kennedy 83f8b168f6 indent formatting
(cherry picked from commit 8b5825adc4)
2023-06-02 00:37:45 -04:00
Matthew Kennedy 06cda6cfa4 add postState flag to airmass model calls #107
(cherry picked from commit b1b1ec7fdf)
2023-05-16 13:02:45 -04:00
Andrey 49230d3195 it's going to be painful 2023-05-05 14:15:27 -04:00
Matthew Kennedy fea92524e4 more log fields cleanup, lots of duplicates around fuel logic #98
(cherry picked from commit a8fef36342)
2023-05-05 13:53:16 -04:00
Matthew Kennedy b0d43e2c18 throttle model gets real max engine flow
(cherry picked from commit 6a05413e52)
2023-04-29 23:22:05 -04:00
Matthew Kennedy 61e5b4b1ad change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
Matthew Kennedy 2857e9527d remove specs_s struct, flatten config
(cherry picked from commit f090a97b0b)
2023-04-28 20:59:11 -04:00
Andreika 919ed2d934
RPM soft limit and hysteresis #5214, #5224 (#5228)
* [DRAFT] RPM soft limit and hysteresis #5214, #5224

* fix m_timingRetard

* fix rpmHardLimitHyst

* unit-tests for #5214, #5224
2023-04-10 17:18:51 -04:00
Matthew Kennedy 71d35343d9
renumber airmass mode enum to start at 0 (#4986)
* #1690

* hw ci tests
2023-01-21 08:12:27 +05:30
Andrey 0c1859b77e totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 15:33:17 -05:00
Andrey 12282635ef totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 05:36:25 -05:00
Andrey c8b998a911 test coverage for antilag #4920
fuel correction bugfix & test
2022-12-31 14:48:25 -05:00
rusefillc d671cee3a8 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 21:29:01 -05:00
rusefillc c6da63eb66 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 20:24:39 -05:00
rusefillc 318aa6d8c9 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 19:46:31 -05:00
rusefillc 55062b1ef6
refactoring: constexpr fuel computer (#4830)
* refactoring: constexpr fuel computer

* refactoring: constexpr fuel computer

* refactoring: constexpr fuel computer

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-11-26 12:25:04 -05:00
rusefillc 23698be5f8
without ValueProvider3D interface how do we mock? (#4829)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-11-26 11:23:54 -05:00
rusefi a17e12747e Add fuel adder to launch fix #4777 2022-11-13 20:23:19 -05:00
rusefillc 70e734127d target lambda & afr log fields broken #4727 2022-11-02 22:25:16 -04:00
rusefillc 95d360f7b1 target lambda & afr log fields broken #4727 2022-11-02 22:17:00 -04:00
Andrey baaec6a603 refactoring: encapsulation 2022-09-28 22:42:08 -04:00
Andrey 268a5c7964 tear down Engine god object #4511
just trying different things
2022-09-05 02:44:06 -04:00
Andrey d51511a15e refactoring: moving field 2022-09-05 00:53:05 -04:00
Andrey 6b4e6c8169 tear down Engine god object #4511
just trying different things
2022-09-03 11:07:26 -04:00
Andrey d329f8ae10 tear down Engine god object #4511
just trying different things
2022-09-03 07:44:24 -04:00
Andrey 759a15c763 dead 2022-09-03 06:59:00 -04:00
Matthew Kennedy 923d2c2e44
unexpected contains information about why it failed (#4393)
* unexpected can contain information

* info printing

* sensors return appropriate error codes

* remove reliance on undefined behavior

* s
2022-07-28 10:04:28 +03:00
rusefillc e54fb367a0 dead code 2022-05-15 10:13:47 -04:00
Andrey e62877964a Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
Matthew Kennedy dfe6bfb8a9
Flex fuel cranking improvements (#4043)
* improve flex cranking

* call it e85

* don't re-warn

* warning name

* ui
2022-04-04 17:41:36 -04:00
Matthew Kennedy c2eab94534
flex cranking math (#3791)
* flex cranking math

* simplify

* s

* simplify
2022-02-01 20:53:14 -05:00
Matthew Kennedy 717d931e78
refactor decel fuel cut (#3830)
* refactor dfco

* s

* output channel logs dfco

* slightly cheeky comment
2022-01-23 19:44:41 -05:00
Andrey 3bc59bfbb6 migrating to SensorType::Rpm API 2022-01-20 22:27:48 -05:00
Matthew Kennedy 7d341cfc9d
improve maf output channels and logging (#3743)
* maf channels

* s

* binary log

* if only I could type

* can

* instant RPM too

* s

* test

* graceful zero rpm

* test works

* float near
2022-01-12 15:41:35 -05:00
Matthew Kennedy ab3e3ac83f
hook up fuel trims (#3715)
* hook up fuel trims

* pass all the params

* store per-cylinder fuel mass directly

* main trigger callback only touches per-cylinder, no banks!

* test test test test

* move UI to happy land

* changelog
2022-01-01 02:19:59 -05:00
Matthew Kennedy 3a4a0ba18d
simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Scott Smith 98040ad9af
Make the module API more concise. (#3571)
engineModules.get<FOO>(). becomes modules<FOO>()->

I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -05: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