Commit Graph

294 Commits

Author SHA1 Message Date
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
Matthew Kennedy 70c0db189d 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 0c03a1cb4a const airmass (#2694) 2021-05-14 07:17:22 -04:00
Matthew Kennedy d7f9d42e07 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 2bf833a1ee 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 89d71e4379 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 dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 983d75444e 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 ace0f4e78c 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 add0dcd390 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 93160c6abb LM_ALPHA_N_2 rename 2020-11-27 15:44:31 -05:00
Matthew Kennedy b8c2041467 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 61865292ff probably fix ci (#1912) 2020-10-26 14:04:22 -04:00
Matthew Kennedy 6abc80e74c 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 5189e0b1d9 fix double deadtime (#1904)
* move global correction factor to fuel mass

* tests

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

* spit'n'polish
2020-10-23 20:25:47 -04:00
Matthew Kennedy 51d407aaf0 ign mode overrides (#1869) 2020-10-09 17:16:49 -04:00
Matthew Kennedy 3e64861c14 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 a3db817f6e 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 fc02c2bdf4 fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
Matthew Kennedy ff12321ba0 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 f5036a9f84 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 c705fedf2f HW CI CRITICAL error: Invalid airmass mode #1690 2020-08-13 22:08:59 -04:00
rusefi d1216b3b76 HW CI CRITICAL error: Invalid airmass mode #1690 2020-08-13 12:49:48 -04:00
Matthew Kennedy f722ced7a9 safety 2020-08-12 22:18:56 -07:00
Matthew Kennedy 2ca5f90613 simplify fuel math 2020-08-11 20:35:10 -07:00
Matthew Kennedy 1e406509a2 fix 2020-08-10 21:53:45 -07:00
Matthew Kennedy 4ac3ded498 consume 2020-08-10 21:41:03 -07:00
Matthew Kennedy ec9710817c don't use 2020-07-31 23:28:12 -07:00
Matthew Kennedy eabdd9f458 cleanup 2020-07-30 21:20:10 -07:00
Matthew Kennedy a29de6950b fixing 2020-07-28 12:11:56 -07:00
Matthew Kennedy bd31eea73a add mock airmass mode 2020-07-26 20:33:18 -07:00
Matthew Kennedy eda3fd020a alphan 2020-07-25 01:14:35 -07:00
Matthew Kennedy 937a3b7a0a switch a pointer not logic 2020-07-24 19:38:48 -07:00
Matthew Kennedy 73c0582908 move speed density 2020-07-24 19:30:12 -07:00
Matthew Kennedy 5c156ebada move impl 2020-07-23 01:23:57 -07:00
Matthew Kennedy 7940b84778 start refactor 2020-07-22 13:11:07 -07:00
Matthew Kennedy 4b25095679 cleanup 2020-07-21 14:13:29 -07:00
Matthew Kennedy d14a0e01e8 use ign load for ign 2020-07-20 23:11:48 -07:00
Matthew Kennedy 8282bb127d test 2020-07-20 03:29:43 -07:00
Matthew Kennedy 8ef1c651e8 dedupe mode logic (#1596) 2020-07-11 08:05:35 -04:00
Matthew Kennedy 1bdc5fbaaa Switch fueling to new axes (#1574)
* switch tables

* missed one
2020-07-05 18:14:55 -04:00
Matthew Kennedy c60b425ef0 plumb new load channels (#1573)
* wire up new channels

* add deprecation comment

* add gauges

* these tables are indeed used in those modes

* simplify

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-07-05 16:25:19 -04:00
Matthew Kennedy aba153b814 simplify cranking corrections (#1510) 2020-06-18 08:54:02 -04:00
Matthew Kennedy 531f1c63c7 fuel math simplifications (#1485)
* simplify

* fix

* tweak

* cleaning

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-06-17 17:15:04 -04:00
Matthew Kennedy 2525a9a22c Factor out airmass logic (#1483)
* refactor

* extract more airmass

* rename, fix tests
2020-06-06 07:25:19 -04:00
Matthew Kennedy 9ecb0a4e55 refactor (#1481) 2020-06-03 21:12:12 -04:00
Matthew Kennedy d0e5b8674f Integrate stft (#1475)
* code changes

* missed a spot

* update UI

* gauge name

* adjust gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-31 16:59:05 -04:00
Matthew Kennedy 573d6d2d55 pull out std air charge math (#1397) 2020-05-05 08:01:40 -04:00
Matthew Kennedy 942403cec2 Fuel/ign correctino on new temp sensors (#1318)
* corrections

* test

* adv map

* tests

* cleanup

* lcd

* fsio

* unneeded

* more math

* last consumer

* cleanup

* fix kinetis
2020-04-18 18:45:30 -04:00
Matthew Kennedy 83592f0dff New clt consumers part 1 (#1301)
* idle

* CLT test prep

* idle target

* header

* air interpolate

* ancient comment

* fuel cut

* fuel cut, idle tests

* cleanup
2020-04-15 09:48:17 -04:00
OrchardPerformance 95a681d80f Update to Matt's MAF code for VE table tuning. (#1295)
* Update rusefi_lib

* Update fuel_math.cpp

Updated Matt's MAF code to include fuel table

* fixed missing include

* Replace get_specs_displacement

* ve2Map corrected

* ve2Map fix 2

* Fix for missing TS table

* Corrected standard air charge

* Math fix, PW now good

Still have minimal response from the VE table

* rusefi.input correction

* Added extra comment

* Ease of reading update
2020-04-14 01:21:48 -04:00
Matthew Kennedy afc5f6c99b fix maf (#1287) 2020-04-12 15:52:29 -04:00
Matthew Kennedy 44bb09d1a4 yet more tps consumers (#1258)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

* engine load

* ve lookup

* unused

* oops we needed that

* oops needed that too

* mocking

* test mocks

* oops

* helps to use the right sensor

* and cylinder cleanup

* fuel math

* typo

* old tests

* kill dead stuff

* cleanup

* more

* fix

* test

* s

* fix signature

* fix test

* comment

* priming pulse

* remove mock tps

* remove more dead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-05 09:11:25 -04:00
Matthew Kennedy 606a7fff0d More TPS consumers: VE lookup (#1256)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

* engine load

* ve lookup

* unused

* oops we needed that

* oops needed that too

* mocking

* test mocks

* oops

* helps to use the right sensor

* and cylinder cleanup

* fuel math

* typo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-04 08:41:09 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy a2a5b40ced Support disabling most/all features (#1162)
* this flag did nothing

* guard features properly
2020-02-26 18:16:35 -05:00
rusefi f929301d18 my take on useRunningMathForCranking 2020-02-18 10:47:39 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
Matthew Kennedy 8fd603dca9 Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 3b2d5c8c7f Missing dwell altogether in some corner cases #796
only additional live data here
2019-11-05 23:36:33 -05:00
rusefi 68db5ecdb1 progress towards #961 2019-11-04 22:52:37 -05:00
rusefi 7d73334b54 Revert "Revert "Performance improvement: call GetBaseFuel less (#979)""
This reverts commit 323904728d.
2019-10-16 23:02:24 -04:00
rusefi 323904728d Revert "Performance improvement: call GetBaseFuel less (#979)"
This reverts commit aa9ec543
2019-10-16 22:29:19 -04:00
Matthew Kennedy aa9ec543f4 Performance improvement: call GetBaseFuel less (#979)
* Remove extra calls to getInjectionDuration

* increase callback frequency
2019-10-16 22:13:10 -04:00
Matthew Kennedy 89ca9a0406 Merge remote-tracking branch 'upstream/master' into perf-tracing 2019-10-14 23:45:39 -07:00
rusefi cdf827a20a preparing for #961
better code style
2019-10-15 02:06:15 -04:00
Matthew Kennedy 97d848bb3e profile all the things 2019-10-13 13:14:08 -07:00
rusefi 2c8a2b61a5 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:16:21 -04:00
rusefi a5f09ef378 preparation for #961
macro as a syntax sugar for method invocation
2019-10-10 07:37:37 -04:00
rusefi 9a961fd0c2 do not let "Use fixed baro corr from MAP" kill VE fix #960 2019-09-29 09:58:29 -04:00
rusefi 8be592f3d4 Live Data progress 2019-09-01 13:56:46 -04:00
rusefi f533617b29 LiveData progress: isChanking & hasEtbPedalPositionSensor 2019-08-31 17:07:21 -04:00
rusefi 6df2afface cranking fuel live data fix #911 2019-08-28 00:29:55 -04:00
rusefi a8f7a8965b cranking fuel live data #911 2019-08-26 23:41:04 -04:00
Matthew Kennedy 0b52f5b542 Template-ize bin/value length for interpolation (#878)
* update consumers

* tests

* whitespace

* format
2019-07-09 21:16:36 +03:00
rusefi 2c515f13a9 user is unable to start with zero fuel - at least showing a warning
https://rusefi.com/forum/viewtopic.php?p=33761#p33760
2019-07-06 20:45:47 -04:00
Matthew Kennedy 89f59db75f Fix tunerstudio ratio vs. percent (#838)
* fix ratio vs pct

* fix idle cranking clt position

* fix defaults

* fix typo

* fix baro corr gauge

* baro default

* fix degree symbols

* fix testFuelMap

* fix testPlainCrankingWithoutAdvancedFeatures

* test testFasterEngineSpinningUp
2019-06-13 09:05:22 -04:00
rusefi 81a68f59b7 input has sizes hard-coded #836 2019-06-10 15:45:18 -04:00
rusefi 998345ef9e unit tests should not have global context, including mock values 2019-05-27 15:56:12 -04:00
rusEfi 9d4f6522e2 better handling of weird TPS values 2019-05-04 10:56:09 -04:00
rusEfi 8c1c892907 better handling of weird TPS values 2019-05-04 10:54:26 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
rusefi f475fb1691 better conditional compilation 2019-01-31 17:55:23 -05:00
rusefi 70f5d3e69c better conditional compilation 2019-01-31 11:57:15 -05:00
rusefi f1485cf8b4 #657 2019-01-28 01:25:23 -05:00
rusefi 53e8d10c55 refactoring around GET_RPM 2019-01-21 21:48:58 -05:00
rusefi 4ed1ec7067 refactoring: method name consistency 2019-01-10 23:48:05 -05:00
rusefi 93b08dcc4c The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657 2019-01-09 22:16:30 -05:00