Commit Graph

2865 Commits

Author SHA1 Message Date
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 70ad9724c0
Make engine* and friends be const pointers in production. (#3564)
This allows the compiler to see through the pointer and make accesses faster.
It saves 1336 bytes of text.
2021-11-17 03:53:17 -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
rusefillc 17d4646dce spelling 2021-11-16 16:46:54 -05:00
rusefillc dad00adc28 helping launch enter simulator 2021-11-16 16:45:14 -05:00
rusefillc 678a756275 helping launch enter simulator 2021-11-16 16:31:35 -05:00
Andrey a61043e570 proportional spark cut #3427 2021-11-16 13:23:08 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 344c9073e2
Start the process of using a global engine ptr for unit tests. (#3551)
* Start the process of using a global engine ptr for unit tests.

Passing around the engine, config, and persistent state wasn't buying anything.  Instead, use
EngineTestHelper(Base) to correctly set and clear the global variables.  Add a dummy check in
case some test tries to set them manually.

* Fix OSX build

* Adapt PR to recently added code.
2021-11-16 00:23:14 -05:00
Andrey 0cc88ec6e2 Not all launch control options are used #3554 2021-11-15 21:13:01 -05:00
Andrey 3b0825181c technical debt: enableOverdwellProtection #3553
only documentation
2021-11-15 20:32:25 -05:00
Andrey 655b77dc3f random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Andrey 928c673695 refactoring launch 2021-11-15 20:09:03 -05:00
Andrey 05fa6071dd refactoring launch 2021-11-15 19:55:04 -05:00
Andrey 0d5df34f36 refactoring launch 2021-11-15 19:55:04 -05:00
Andrey c18204325c refactoring launch 2021-11-15 19:34:42 -05:00
Andrey f510cb8b29 refactoring launch 2021-11-15 19:24:00 -05:00
Andrey 4002c92dcc refactoring launch 2021-11-15 18:57:12 -05:00
Andrey 34015eceee refactoring launch 2021-11-15 14:40:35 -05:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
GitHub build-firmware Action adbb32e9b6 Auto-generated configs and docs 2021-11-15 03:03:29 +00:00
rusefillc 6f3eea31c6 MAP phase sensing #3544 2021-11-14 21:58:01 -05:00
rusefi e8aebc313a Something something Automatic Compression Release #3442 2021-11-14 15:04:10 -05:00
rusefi 89ab20c35c Epic: Remove FSIO #2928 2021-11-14 14:14:43 -05:00
rusefillc 68ebb8045d Epic: Remove FSIO #2928 2021-11-14 11:04:51 -05:00
rusefillc 22c872d8d8 Epic: Remove FSIO #2928 2021-11-14 10:57:19 -05:00
rusefillc c22215cea7 Epic: Remove FSIO #2928 2021-11-14 10:39:47 -05:00
rusefillc 991d0c5001 Epic: Remove FSIO #2928 2021-11-14 08:33:19 -05:00
rusefillc 0a9682c553 Epic: Remove FSIO #2928 2021-11-14 07:24:50 -05:00
rusefillc a9bcce88d0 script settings need names! 2021-11-13 22:47:46 -05:00
GitHub build-firmware Action b295511600 Auto-generated configs and docs 2021-11-14 03:02:10 +00:00
Matthew Kennedy d591a5ad26
mercedes two lobe trigger testing (#3543)
* mercedes

* config

* break;

* I did the gap ratio math wrong

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 21:50:04 -05:00
rusefillc 8333234737 Something something Automatic Compression Release #3442 2021-11-13 04:24:53 -05:00
GitHub build-firmware Action dffab7abff Auto-generated configs and docs 2021-11-13 03:01:55 +00:00
rusefillc 6d58518fb2 Proteus Harley 2021-11-12 21:56:07 -05:00
GitHub build-firmware Action 2765d386b9 Auto-generated configs and docs 2021-11-12 01:54:56 +00:00
Andrey 562ab174d7 Bench Test IAC Valve fails #3534
that's not even funny
2021-11-11 20:39:01 -05:00
Andrey 8d154b94df Bench Test IAC Valve fails #3534 2021-11-11 20:31:46 -05:00
Andrey df98eb69d4 Bench Test IAC Valve fails #3534 2021-11-11 20:28:01 -05:00
Andrey cd57e1fdb6 Something something Automatic Compression Release #3442 2021-11-11 20:16:46 -05:00
Andrey aff7664c21 refactoring: less hacky implementation 2021-11-11 20:16:46 -05:00
rusefillc 2794a85ff8 Idle valve outputs not available in TS #3523 2021-11-10 20:40:42 -05:00
rusefi 8aaecb568e pid demo progress 2021-11-08 17:31:33 -05:00
Andrey 9d2f9f0d35 docs 2021-11-08 12:23:00 -05:00
rusefillc 656b8c3429 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
GitHub build-firmware Action ed44ee9b11 Auto-generated configs and docs 2021-11-07 03:59:47 +00:00
rusefillc ce45a907a7 a bit of dead code 2021-11-06 23:39:56 -04:00
rusefillc b244c59cd8 a bit of dead code 2021-11-06 21:19:56 -04:00
GitHub build-firmware Action e065a6ca4c Auto-generated configs and docs 2021-11-07 01:05:29 +00:00
rusefillc 4f738b366e a bit of dead code 2021-11-06 21:01:01 -04:00
Andrey 6111355e6c Remove Miata MX5 NB1 trigger #3488 2021-11-06 20:24:41 -04:00
GitHub build-firmware Action 05b494a726 Auto-generated configs and docs 2021-11-06 23:15:42 +00:00
rusefillc 7b8821955b a bit of dead code 2021-11-06 18:43:19 -04:00
GitHub build-firmware Action b1c27c95d5 Auto-generated configs and docs 2021-11-06 22:37:34 +00:00
rusefillc 1cbe2f7bef PROTEUS_LUA_DEMO 2021-11-06 18:24:59 -04:00
GitHub build-firmware Action ab668c5bed Auto-generated configs and docs 2021-11-06 03:28:22 +00:00
Scott Smith f9e36f5ea4
Configuration for HPFP control algorithm. (#3475) 2021-11-05 23:15:35 -04:00
Scott Smith 675460fafb
Move fuel density to a header file so it can be accessed by other components. (#3474) 2021-11-05 22:29:56 -04:00
Scott Smith 16378dcf59
Convert existing tables to use the simpler 3d table definition style in rusefi_config.txt (#3473)
This fixes #3465.
2021-11-05 21:55:33 -04:00
Scott Smith 6d38fe1eb3
Allow scaled_channel to have both multiplier and divisor (#3468)
Disallow scaled_channel for float.  I can't think of a reason to allow it, and it gets in the way
of rounding.

Add separate template param to setTable; let the compiler sort out whether assignment can happen
between TElement and VElement without forcing them to be the same at function call time.
2021-11-05 17:34:22 -04:00
GitHub build-firmware Action 9e8d55177a Auto-generated configs and docs 2021-11-05 19:42:05 +00:00
Matthew Kennedy 2b9696442e
nissan MR18DE VVT cam pattern (#3466)
* refactoring nissan trigger

* comments

* plumbing

* b

* enums

* image

* image

* implement decoder

* reshuffle

* don't case unused

* dead trigger enums
2021-11-05 15:33:22 -04:00
rusefillc b7feea1aa5 minor todo 2021-11-05 10:01:58 -04:00
GitHub build-firmware Action 618e7edc2c Auto-generated configs and docs 2021-11-05 11:19:56 +00:00
Matthew Kennedy 365691cb37
nissan 4yl crank pattern (#3462)
* refactoring nissan trigger

* comments

* plumbing

* b
2021-11-05 07:15:03 -04:00
rusefillc 1ead914f93 more curves! also names for curves 2021-11-04 23:59:04 -04:00
rusefillc 85984928ca more curves! also names for curves 2021-11-04 23:19:44 -04:00
rusefi 1d9aa8bd12 turboSpeedSensorMultiplier 2021-11-04 19:35:58 -04: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 db310a4bd0 most dead miata config 2021-11-04 09:56:05 -04:00
Matthew Kennedy 59e9d05fc7
extract engine phase function (#3456)
* extract getCurrentEnginePhase

* inject engine ref

* never invalid RPM, use 0 instead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-04 05:46:16 -04: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
Matthew Kennedy 980a7cc833
autoscale fields in generated structs (#3444)
* add to grammar

* parser

* parser

* example consumer

* build config tool

* commit the right jar
2021-11-02 18:59:19 -04:00
rusefi e1a78cce41 docs 2021-11-02 17:11:44 -04:00
Matthew Kennedy 75a2b5ef02
Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
rusefillc 7e4ade6b0f better VVT default? 2021-10-31 15:25:43 -04:00
rusefillc ada747baef Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
fail faster!
2021-10-31 12:09:11 -04:00
rusefillc e1402818bc live data stuff goes up 2021-10-31 12:07:44 -04:00
GitHub build-firmware Action 4d62ed9a09 Auto-generated configs and docs 2021-10-31 02:31:01 +00:00
Andrey 2de0409061 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:24:43 -04:00
Andrey d0b2ce5654 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:21:36 -04:00
GitHub build-firmware Action 38c67baed7 Auto-generated configs and docs 2021-10-31 02:08:31 +00:00
Andrey 97e34ad0d1 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:03:19 -04:00
Andrey 432bad64ed Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 21:45:52 -04:00
Andrey b6fad6ec81 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 21:45:37 -04:00
rusefillc c62fedbe34 Override trigger gaps feature #2734 2021-10-30 10:45:32 -04:00
Andrey 747bbd9c6a warning(CUSTOM_PID_DTERM, "PID: unexpected dTime") 2021-10-29 18:31:43 -04:00
rusefillc 4c164aaf5c Honda K & default VVT pid 2021-10-29 12:16:19 -04:00
rusefi 5ca1db80bc Honda K cam wheels #3405 2021-10-28 15:57:23 -04:00
Andrey c57f9c325f https://rusefi.com/forum/viewtopic.php?f=19&t=2177 2021-10-28 13:49:44 -04:00
GitHub build-firmware Action 83aa4c625a Auto-generated configs and docs 2021-10-28 16:45:50 +00:00
Andrey 30c91040a2 https://rusefi.com/forum/viewtopic.php?f=19&t=2177 2021-10-28 12:29:56 -04:00
GitHub build-firmware Action b0bcdaefd6 Auto-generated configs and docs 2021-10-28 16:17:08 +00:00
Andrey aae1e5d5c5 https://rusefi.com/forum/viewtopic.php?f=19&t=2177 2021-10-28 12:12:45 -04:00
Andrey c96e52d6f3 Honda K cam wheels #3405 2021-10-28 10:36:41 -04:00
rusefi 75d8d334b7 secondary MRE 2021-10-27 19:54:45 -04:00
Andrey e6faf2fa15 UNUSED 2021-10-26 21:24:16 -04:00
GitHub build-firmware Action 49575edb9a Auto-generated configs and docs 2021-10-27 01:17:33 +00:00
Andrey 45280d7435 MRE_SECONDARY_CAN 2021-10-26 21:05:38 -04:00
rusefillc 4ef959a60e generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-25 11:05:45 -04:00
rusefillc 8c95c5adf2 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-25 10:59:24 -04:00
rusefillc 76726aad7e generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-25 10:57:02 -04:00
rusefi bedfc8517f generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 20:06:57 -04:00
Andrey b9dfc32722 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 19:19:16 -04:00
Andrey 229419d04b Honda K cam wheels #3405 2021-10-24 17:12:19 -04:00
Andrey d683a06e20 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 17:06:59 -04:00
Andrey 785c4db197 docs 2021-10-24 17:05:37 -04:00
GitHub build-firmware Action 9d5db767d2 Auto-generated configs and docs 2021-10-24 19:28:08 +00:00
rusefillc 08bda5e1e4 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 14:18:23 -04:00
rusefillc 87b3df1cf5 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 14:17:37 -04:00
rusefillc 5f0a9b5363 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 14:08:21 -04:00
rusefillc c255e630ca generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 13:58:04 -04:00
GitHub build-firmware Action a10ea5f4c2 Auto-generated configs and docs 2021-10-24 17:18:25 +00:00
rusefillc bf7ae2c76e generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 13:10:38 -04:00
rusefillc 8f8bb444c1 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 13:01:40 -04:00
rusefillc 4192aee6de generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 12:49:51 -04:00
Andrey 4b4314e86d generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 12:15:53 -04:00
rusefillc eead8fa1f6 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 09:31:32 -04:00
rusefillc c6d47c1a8a generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 09:16:11 -04:00
rusefillc add98ca5ed generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 00:00:31 -04:00
rusefillc 4132fe9591 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 23:46:08 -04:00
rusefillc 923f5d1a6c generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 23:42:22 -04:00
rusefillc 29faddf338 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 23:40:14 -04:00
GitHub build-firmware Action 2b1ad1cfe0 Auto-generated configs and docs 2021-10-24 03:19:18 +00:00
rusefillc 0749d0d180 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 23:14:46 -04:00
rusefillc c45003060c generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 23:00:04 -04:00
rusefillc 5fdc884e71 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 22:07:44 -04:00
GitHub build-firmware Action 5329c73206 Auto-generated configs and docs 2021-10-24 02:01:12 +00:00
rusefillc 3f3a17e366 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 21:47:03 -04:00
rusefillc cd86102042 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 20:24:21 -04:00
Matthew Kennedy d008b0f8c3
static (#3381) 2021-10-20 15:19:48 -04:00
GitHub build-firmware Action 563fd853b0 Auto-generated configs and docs 2021-10-20 17:09:44 +00:00
rusefillc eb05f4594e very old very dead code 2021-10-20 12:57:07 -04:00
rusefillc e6b92ddb0c very old very dead code 2021-10-20 10:45:43 -04:00
rusefillc 2431fa79b3 refactoring - extracting idle state 2021-10-17 00:30:26 -04:00
GitHub build-firmware Action 25ff3fe2d7 Auto-generated configs and docs 2021-10-17 03:59:20 +00:00
rusefillc 4533ce4764 refactoring - extracting idle state 2021-10-16 23:55:29 -04:00
rusefillc 296f83ea4d refactoring 2021-10-16 23:18:09 -04:00
rusefillc ba640a16f5 refactoring 2021-10-16 22:08:47 -04:00
GitHub build-firmware Action c8c937cf41 Auto-generated configs and docs 2021-10-17 01:53:40 +00:00
rusefillc 6576acc39a Remove engine load acceleration enrichment fix #3357 2021-10-16 21:49:38 -04:00
rusefillc f1d3010c15 Remove engine load acceleration enrichment fix #3357 2021-10-16 21:33:45 -04:00
rusefillc 61e2b3d5db Remove engine load acceleration enrichment fix #3357 2021-10-16 21:24:05 -04:00
GitHub build-firmware Action 981fc58297 Auto-generated configs and docs 2021-10-17 01:13:47 +00:00
rusefillc 292173f818 progress - live doc generator works again! 2021-10-16 21:08:50 -04:00
rusefillc 4cc1c352c2 better file locations 2021-10-16 20:17:01 -04:00
rusefillc d84cf5eea8 splitting accelerations 2021-10-16 20:16:40 -04:00
rusefillc 37db1559df Whatever we call it, whatever we implement it - we need live data / remote view into rusEFI actual state #3353
progress
2021-10-14 18:36:47 -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