Commit Graph

68 Commits

Author SHA1 Message Date
Matthew Kennedy 2a41fbfedb pch 2024-09-26 20:44:50 -04:00
Matthew Kennedy ba94d94925 only:int rpm -> float rpm 2024-09-25 23:36:33 -04:00
Matthew Kennedy 62a4bd4b47 alphaNUseIat calculations are wrong fix #6907 2024-09-13 09:51:27 -04:00
Matthew Kennedy 5d63e41a4b cisnan -> std::isnan 2024-07-22 21:10:06 -04:00
Matthew Kennedy 52cb68fe98 Blend tables can override Y axis 2024-01-17 09:36:01 -05:00
Matthew Kennedy 2f37d788ff add option to temperature compensate alpha-n 2023-09-17 11:17:37 -04:00
Matthew Kennedy 06cda6cfa4 add postState flag to airmass model calls #107
(cherry picked from commit b1b1ec7fdf0ee9b5955541bcaa6be7cf66636412)
2023-05-16 13:02:45 -04:00
Matthew Kennedy 3d1dc5a442 table-only map fallback (#46)
* table-only map fallback

* InSequence

(cherry picked from commit 4cd08fbc4b8205028c6f4aaa359264f672dd3798)
2023-05-04 11:02:39 -04:00
Matthew Kennedy 8549349995 selectable idle Y axis override (#94)
* selectable idle Y axis override

* changelog

(cherry picked from commit f30e2ce0f2d5b0df90fd97b454c81423c397b268)
2023-05-02 18:14:07 -04:00
Matthew Kennedy 8c8aa4d4cb use ECU-calculated blend table axis values
(cherry picked from commit 2f85cd60d4f435a1c8155eedaf187a029a34c205)
2023-04-30 11:03:03 -04:00
Matthew Kennedy 769718771c better idle VE table transition
(cherry picked from commit bdeeb82f932d91fdae86ba5f39c8ae3a18dcfa32)
2023-04-30 00:21:52 -04:00
rusefi 80f97efd43 helping build 2023-04-29 23:46:50 -04:00
Matthew Kennedy b0d43e2c18 throttle model gets real max engine flow
(cherry picked from commit 6a05413e52a1282a66cb61827ef91476ef6bf864)
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 f090a97b0b7771dfe02e4b4bb9919d50a6a11ef5)
2023-04-28 20:59:11 -04:00
Andrey 748f97afeb kinetis asking for guard, also I've must have messed up something 2022-12-17 18:04:54 -05:00
Matthew Kennedy f4f5f69ee6
duplicate log field names (#4730)
* remove duplicate target lambda/afr

* names on fuel computer

* remove more copies

* sensor.java

* everybody loves hard dependencies on generated fields

* target afr gauge fix

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-05 20:23:09 -04:00
Matthew Kennedy f8a4d35d25
dual MAF sensors (#4697)
* add second MAF

* output channesl

* move them around

* ok let's try at the very end

* is the logic wrong, or something else?

* ooh it's the sensor order
2022-10-24 12:41:05 -04:00
Matthew Kennedy 2bc8fbce7d
VE blend tables (#4640)
* blendy ve too

* ui

* small optimizations

* save kinetis memory

* changelog
2022-10-19 06:42:22 -04:00
Andrey bd7b6e6736 tear down Engine god object #4511
just trying different things
2022-09-03 11:05:27 -04:00
Matthew Kennedy 38213bbc00
more missing autoscale (#4112)
* autoscale m_config->timeConstant

* min/max afr

* more

* dwell voltage

* closed loop fuel

* knock

* map estimate

* applyNonlinearBelowPulse

* fix

* add a test while we're at it for un-covered code

* test fallback MAP since we touched that

* always compute fallback MAP even if sensor is OK
2022-04-28 08:16:02 -04:00
rusefillc ed16f3180f JNI for test coverage #3965 and code style 2022-03-15 10:32:32 -04:00
Matthew Kennedy 76fdb4063e
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 6665c4fb34 docs 2021-12-26 13:41:10 -05:00
rusefillc 9f8ccececd docs & refactoring 2021-12-26 12:35:41 -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
rusefillc e75590fd45 why so many channels are hidden in debug ? #3614 2021-11-29 14:11:19 -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 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
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Matthew Kennedy 24224729a3
support autoscale on table axes (#3452)
* scale map Y axis

* allow different row/col types

* scaled channel detector

* interpolation

* looks like this actually works

* tests, no manual scaling

* comment
2021-11-03 19:53:26 -04:00
rusefillc 296f83ea4d refactoring 2021-10-16 23:18:09 -04:00
rusefillc ba640a16f5 refactoring 2021-10-16 22:08:47 -04:00
rusefillc 6576acc39a Remove engine load acceleration enrichment fix #3357 2021-10-16 21:49:38 -04:00
rusefillc 61e2b3d5db Remove engine load acceleration enrichment fix #3357 2021-10-16 21:24:05 -04:00
Andreika d917cc8cc2
[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 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
Matthew Kennedy 25414ebdad
yet more pch (#3068)
* big pch energy

* put back ramdisk stub

* tests are happy

* h743 nucleo

* kinetis

* I love deleting code!

* make stepper happy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Matthew Kennedy b52d50bbf2
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 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
Matthew Kennedy e830a99275
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
Matthew Kennedy c171d5f1d3
not const getAirmass (#2883)
* not const

* test
2021-07-01 00:05:42 -04:00
Matthew Kennedy 1d10fbc7a8
const airmass (#2694) 2021-05-14 07:17:22 -04:00
Matthew Kennedy 4474f9f1c2
Maf in sensor model (#2672)
* init

* consumers

* hasMafSensor

* consumers

* remove

* remove

* s

* guard

* tiny bit of ram

* ram
2021-05-09 20:59:06 -04:00
Matthew Kennedy 4a1d3de9a6
remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 0e70d08a22
Add fallback map table (#2248)
* table

* sd math

* config

* debug channel name

* ptr vs not ptr

* actually use return value

* memory

* less magic
2021-01-31 17:19:06 -05:00
Matthew Kennedy e0b2802a43
Map fallback logic, TS cleanup (#2247)
* add new field

* UI

* set default

* consume new parameter

* some cleanup while we're at it
2021-01-27 20:31:29 -05:00