Commit Graph

245 Commits

Author SHA1 Message Date
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
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
racer-coder 2612db570f
Fix the types in various fuel functions that actually refer to grams, not ms. (#3458) 2021-11-04 11:50:19 -04:00
rusefillc ea87d9c9be 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 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 3ef969d743
warnings & assorted cleanup (#2793)
* lua hook

* validateBuffer

* tables

* simplify fsio table

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 14:30:25 -04:00
Matthew Kennedy 1d10fbc7a8
const airmass (#2694) 2021-05-14 07:17:22 -04:00
Matthew Kennedy 3968204dfa
Hook up multi bank fuel trim (#2532)
* multi bank trim

* cleaning

* output channels

* output channels
2021-05-08 17:41:50 -04:00
Matthew Kennedy 650d148008
Usable fuel consumption data/gauges (#2474)
* fuel consumption

* gauge names

* consumers

* obd

* binary logging

* doesn't need explicit constructor

* getters

* it works

* correct for injections per cycle

* datalog

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 17:04:42 -04:00
Matthew Kennedy 5067b81fce
Compute injection duration later in the pipeline (#2175)
* injector model, test

* new math

* inject fuel based on new math

* tests

* fix

* it should work like this

* format

* update TPS AE even when we're cutting fuel

* comment

* conversion factor

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-03 07:30:56 -05:00
Matthew Kennedy 4a1d3de9a6
remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 7d3cadfc87
baro in sensor model (#2306)
* baro in sensor model

* missed

* typo

* init baro

* needs an include there
2021-02-07 17:54:41 -06: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 92ea09b0a6
switch more map to read from sensor model (#2162)
* hook up map

* check for init

* switch some consumers

* that's the rest of them

* test

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-02 19:13:10 -05:00
rusefi 89eaae8234 LM_ALPHA_N_2 rename 2020-11-27 15:44:31 -05:00
Matthew Kennedy 09b41bb1bb
Everything in lambda! (#1893)
* lambda

* default configs, fix build

* config, gauge, UI

* more digits

* change menu text

* fix that while I'm here

* doesn't need extra word

* todo note

* tests

* last test

* missed a config

* update java

* store target lambda

* more java

* format

* hopefully enough java for CI to pass
2020-10-26 18:15:17 -04:00
Matthew Kennedy 5e06db6b75
probably fix ci (#1912) 2020-10-26 14:04:22 -04:00
Matthew Kennedy a90792fa44
convert mass -> duration later in the pipeline (#1906)
* cranking duration to mass

* implement

* units

* patch types

* suppress warning

* fix output channels

* add note about how to set it
2020-10-26 07:23:13 -04:00
Matthew Kennedy f37ed597c5
fix double deadtime (#1904)
* move global correction factor to fuel mass

* tests

* the fix
2020-10-25 00:12:05 -04:00
Matthew Kennedy 10c1ad7698
use fuel model (#1901)
* use fuel model

* spit'n'polish
2020-10-23 20:25:47 -04:00
Matthew Kennedy 83fe9dae77
ign mode overrides (#1869) 2020-10-09 17:16:49 -04:00
Matthew Kennedy 6ac9aad358
display base fuel mass in milligrams (#1838)
* switch to mg

* use the correct thing

* gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-30 20:19:51 -04:00
Matthew Kennedy 6e7d72170f
Move ve logic (#1762)
* move ve

* fix build

* fix rendering

* duh

* cleaning

* correct scaling

* put some back

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-06 19:06:32 -04:00
Matthew Kennedy 95798a5246
fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
Matthew Kennedy 33a2354e44
inject fuel & injector models so they can be mocked (#1697)
* stub injector model

* tests

* inject fuel/injector models

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-17 17:03:59 -04:00
Matthew Kennedy 5929164fb3
Add injector model class (#1687)
* stub injector model

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-17 05:22:25 -04:00
rusefi 86ad274cee HW CI CRITICAL error: Invalid airmass mode #1690 2020-08-13 22:08:59 -04:00
rusefi 2bd7d094be HW CI CRITICAL error: Invalid airmass mode #1690 2020-08-13 12:49:48 -04:00
Matthew Kennedy adbd41f2bd safety 2020-08-12 22:18:56 -07:00
Matthew Kennedy 405f12758c simplify fuel math 2020-08-11 20:35:10 -07:00
Matthew Kennedy 3c72fa93e4 fix 2020-08-10 21:53:45 -07:00
Matthew Kennedy 1f64754b57 consume 2020-08-10 21:41:03 -07:00
Matthew Kennedy e56fd5fe0d don't use 2020-07-31 23:28:12 -07:00
Matthew Kennedy 132ee12974 cleanup 2020-07-30 21:20:10 -07:00
Matthew Kennedy 53b864bdda fixing 2020-07-28 12:11:56 -07:00
Matthew Kennedy e5133de70f add mock airmass mode 2020-07-26 20:33:18 -07:00
Matthew Kennedy 8f27fc8b53 alphan 2020-07-25 01:14:35 -07:00
Matthew Kennedy 0e39c094c7 switch a pointer not logic 2020-07-24 19:38:48 -07:00
Matthew Kennedy b26bd6d891 move speed density 2020-07-24 19:30:12 -07:00
Matthew Kennedy 7e88011de5 move impl 2020-07-23 01:23:57 -07:00
Matthew Kennedy 5e7ddc9f24 start refactor 2020-07-22 13:11:07 -07:00
Matthew Kennedy 3f293e573c cleanup 2020-07-21 14:13:29 -07:00
Matthew Kennedy a3b29f9011 use ign load for ign 2020-07-20 23:11:48 -07:00