Commit Graph

283 Commits

Author SHA1 Message Date
Matthew Kennedy 9673ff01f3
implement staged injection (#331)
* output channel

* duty cycle etc math for second stage

* action_s utility

* basic enable switch

* staging fraction math

* implement staging logic

* wire up pins for second stage injectors

* staging UI

* Improve staged injection test, check scheduler arguments for other injection tests

* Stage 2 last pulse output channel, correct fuel consumption logic

* wall wet on the whole shot

* int vs size_t

* use a define instead of function so we get line numbers

* fix batch injection

* gauges

* bad test merge

* stub out secondary injector model
2024-01-07 15:22:39 -08:00
Matthew Kennedy 7b955cb1b3 fixAngle -> wrapAngle 2023-10-19 14:34:29 -07:00
Matthew Kennedy 5e01450fee lock injection timing at high duty cycle to avoid skipped injections 2023-10-11 23:43:31 -07:00
Matthew Kennedy e34a341b54 Always log normalized cylinder filling #249 2023-09-16 23:07:32 -07:00
Matthew Kennedy 8b5825adc4 indent formatting 2023-06-01 11:10:58 -07:00
Matthew Kennedy b1b1ec7fdf add postState flag to airmass model calls #107 2023-05-15 17:18:35 -07:00
Matthew Kennedy a8fef36342 more log fields cleanup, lots of duplicates around fuel logic #98 2023-05-05 02:09:42 -07:00
Matthew Kennedy d5f9479f28
ObdCode is enum class (#77)
* change ObdCode to enum class builds firmware

* test builds

* don't need this line at all

* can we go down to uint16_t?
2023-04-12 23:44:33 -07:00
Matthew Kennedy f090a97b0b remove specs_s struct, flatten config 2023-03-27 00:58:18 -07:00
Matthew Kennedy 6a05413e52 throttle model gets real max engine flow 2023-03-16 01:11:19 -07:00
Matthew Kennedy 00e1f2c9aa renumber airmass mode enum to start at 0 (#4986)
* #1690

* hw ci tests
2023-01-21 08:12:27 +05:30
Andrey e57403618a totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 15:33:17 -05:00
Andrey badd5c6de8 totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 05:36:25 -05:00
Andrey 00e8cc4262 test coverage for antilag #4920
fuel correction bugfix & test
2022-12-31 14:48:25 -05:00
rusefillc c641ed6fdc antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 21:29:01 -05:00
rusefillc 6b7b05ac3a antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 20:24:39 -05:00
rusefillc bdbc0bb2cf antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 19:46:31 -05:00
rusefillc c729b10bbe 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 d63f1af40d without ValueProvider3D interface how do we mock? (#4829)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-11-26 11:23:54 -05:00
rusefi 7d1b17d760 Add fuel adder to launch fix #4777 2022-11-13 20:23:19 -05:00
rusefillc 9dd78f785d target lambda & afr log fields broken #4727 2022-11-02 22:25:16 -04:00
rusefillc 955a90327d target lambda & afr log fields broken #4727 2022-11-02 22:17:00 -04:00
Andrey e6b8b08853 refactoring: encapsulation 2022-09-28 22:42:08 -04:00
Andrey 76b74a85ba tear down Engine god object #4511
just trying different things
2022-09-05 02:44:06 -04:00
Andrey 841cd4f962 refactoring: moving field 2022-09-05 00:53:05 -04:00
Andrey 93032c7c1f tear down Engine god object #4511
just trying different things
2022-09-03 11:07:26 -04:00
Andrey e56924310b tear down Engine god object #4511
just trying different things
2022-09-03 07:44:24 -04:00
Andrey 51396deefa dead 2022-09-03 06:59:00 -04:00
Matthew Kennedy 14b39b7b0a 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 ab711cddc5 dead code 2022-05-15 10:13:47 -04:00
Andrey 03662e48c4 Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
Matthew Kennedy 72dabf4057 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 c9e1b9a79a flex cranking math (#3791)
* flex cranking math

* simplify

* s

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

* s

* output channel logs dfco

* slightly cheeky comment
2022-01-23 19:44:41 -05:00
Andrey a8e016f162 migrating to SensorType::Rpm API 2022-01-20 22:27:48 -05:00
Matthew Kennedy 78119b7df4 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 265f005239 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 2ba4c7844d simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Scott Smith b3e0b28c75 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 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
racer-coder 55ac8d56b8 Fix the types in various fuel functions that actually refer to grams, not ms. (#3458) 2021-11-04 11:50:19 -04:00
rusefillc 1f1c538fc0 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
dead code
2021-10-14 15:17:09 -04:00
Matthew Kennedy d3ec2b21d1 Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy e3849b95d5 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
Matthew Kennedy b68469822e lua hooks for custom airmass model (#2697)
* lua airmass

* not const any more

* bad merge

* don't change the position of others

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-16 00:49:14 -04:00