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
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
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
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
c18204325c
refactoring launch
2021-11-15 19:34:42 -05:00
Andrey
4002c92dcc
refactoring launch
2021-11-15 18:57:12 -05:00
Matthew Kennedy
145316c497
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefi
e8aebc313a
Something something Automatic Compression Release #3442
2021-11-14 15:04:10 -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
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
2431fa79b3
refactoring - extracting idle state
2021-10-17 00:30:26 -04:00
rusefillc
4533ce4764
refactoring - extracting idle state
2021-10-16 23:55:29 -04:00
rusefillc
61e2b3d5db
Remove engine load acceleration enrichment fix #3357
2021-10-16 21:24:05 -04:00
rusefillc
ff864ec0bf
Whatever we call it, how ever we implement it - we need live data / remote view into rusEFI actual state #3353
2021-10-14 00:47:26 -04:00
Matthew Kennedy
0a550a70b1
overdwell protection ( #3220 )
...
* cancel event
* looks like it works...
* some tests are happy
* add enable bit
* undo test changes
* Revert "add enable bit"
This reverts commit 000afadd3fc560867302557afe26f76cd9fc4ed6.
* enable bit in engine
* only turn off for one test
* Revert "undo test changes"
This reverts commit 106db49e291b5a531a94de6ac177c6584d5337f6.
2021-10-02 01:10:24 -04:00
Matthew Kennedy
8cd132b8a8
dead knock code ( #3255 )
...
* more unification
* hip stub
* comment
* guard
* channel idx
* include
* hip
* move in to engine
* hip9011
* dead stuff
* dead
* fsio
* lcd
* more dead
2021-09-21 20:40:20 -04:00
Matthew Kennedy
5de27e0b92
more knock sense unification ( #3250 )
...
* more unification
* hip stub
* comment
* guard
* channel idx
* include
* hip
* move in to engine
* hip9011
2021-09-21 17:39:21 -04:00
Matthew Kennedy
730b26d034
remove old vss implementation ( #3208 )
...
* dead vss
* remove
2021-08-28 01:39:55 -04:00
Matthew Kennedy
d2b54428c0
cleanup missing fsio stuff ( #3189 )
2021-08-24 08:19:03 +03:00
Andrey
8fe2d99254
unit test for vehicle_speed.cpp #3081
2021-08-03 19:48:24 -04:00
Andrey
2c7761801a
VVT C++ magic - helping Kinetis
2021-07-21 23:06:35 -04:00
Andrey
41cd36b79e
VVT C++ magic - helping Kinetis
2021-07-21 22:38:00 -04:00
Andrey
5ae7dcfaa0
VVT C++ magic
2021-07-21 22:28:35 -04:00
Andrey
867e618b84
VVT C++ magic
2021-07-21 22:21:59 -04:00
Andrey
b6a5f777e6
VVT C++ magic
2021-07-21 22:14:21 -04:00
rusefi
07accb4ff5
VVT verbose fix
2021-07-21 21:35:26 -04:00
rusefillc
599943cf26
NB2 trigger shape does not seem to match JimStim #2980
2021-07-17 16:12:54 -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
Andrey
70cc334eb2
trigger signal debug pins - logic level output #2959
2021-07-15 01:56:04 -04:00
Matthew Kennedy
2eb0b2a631
Unified cyl count macro ( #2914 )
...
* update test framework
* eh
* hey look it's fewer warnings
* unwind
* fix
* config
* configs
* logic
* even java had some
* console needs help
2021-07-06 20:14:08 -04:00
Andrey
761d9fc40e
global static not good, there shall be only one god object /s
2021-06-25 01:37:43 -04:00
Andrey
71fdfe6756
giving unit tests a chance to use tdcMarkCallback
2021-06-25 01:31:53 -04:00
Andrey
a57d7c48fb
global static not good, there shall be only one god object /s
2021-06-23 06:10:27 -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
8b30776016
remove stateChangeCallback from simplepwm ( #2644 )
...
* remove callback parameter from cj125
* remove from ext
* remove stateChangeCallback
* alt doesn't need that
* demorgan
* remove call
* bad cut/paste
* check the actual pin in the test
2021-05-07 09:38:41 -04:00
Matthew Kennedy
c26987b96b
Destroy all shared logger ( #2574 )
...
* most of shared logger
* a few more
* one more
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 14:28:48 -04:00
Matthew Kennedy
3072d54717
dead code, warnings ( #2461 )
2021-03-15 10:23:19 -04:00
Matthew Kennedy
7b4ba0c836
remove lastTriggerToothEventTimeNt ( #2430 )
...
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 17:11:50 -05: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
39884f8934
use DECLARE_ENGINE_PTR for Engine class ( #2365 )
...
* engine cleanup
* do the cleanup
* one last spot
* expand_engine noop for firmware
* simulator
2021-02-16 16:58:54 -05:00
rusefillc
24887adbb2
M62T vanos support #2243
2021-02-09 09:40:08 -05:00
rusefillc
ce78123eb0
M62T vanos support #2243
2021-02-08 22:21:02 -05:00
rusefillc
4416d1c7dc
cmd_test_main_relay
2021-01-10 23:46:50 -05:00
Matthew Kennedy
898b7a82e0
move swtiches out of idle ( #2148 )
2020-12-26 21:31:41 -05:00
Matthew Kennedy
ff4ce2fb1f
create limp manager ( #2142 )
...
* move rev limit to limp manager
* call fatal error
* include order
* fix bug
* tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 17:30:46 -05:00
Matthew Kennedy
f29ca22b99
fix ( #2109 )
2020-12-20 19:31:14 -05:00
Matthew Kennedy
6168bcea80
Fix gpio reinit race condition ( #2098 )
...
* fix unregister api for gpio
* consumers
* guard with a critical section
* index
* guard less
* unregister under lock
* fix reinit
* dead flag
* fix most tests
* initialize properly
* initialize properly
* assertions in tests
* fix message
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
2020-12-18 17:18:12 -05:00
Matthew Kennedy
aeea50ada2
move target computation ( #2091 )
2020-12-17 17:46:51 -05:00
rusefillc
b41ca74386
clang warnings again #2055
2020-12-11 12:50:10 -05:00
rusefillc
c36f76b68e
Fuel pump should turn on at the first sign of engine rotation #1961
2020-12-02 23:09:39 -05:00
rusefillc
641959b9a3
Starter is engaged on start-up in pull-up configuration #1969
2020-11-26 17:48:09 -05:00
rusefillc
47fbb92bff
Starter seems to be engaged forever fix #1965
2020-11-18 23:54:30 -05:00
Matthew Kennedy
0e3673e78c
remove idle thread; just call from periodicSlowCallback ( #1924 )
...
* remove thread
* remove ui
2020-11-11 21:47:19 -05:00
Matthew Kennedy
ee5d0bf07b
remove ( #1887 )
2020-10-18 20:49:42 -04:00
rusefi
94a6399e56
QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase #1871
2020-10-11 19:05:56 -04:00
David Holdeman
29c2d692ee
Simple transmission 2 ( #1870 )
...
* simple trans controller
* don't need check
* we can loop!
* use efi::size
* pin mode configuration
* set pin mode
* switch to RegisteredOutputPin
* size
* add to makefile
* fixes
* fixes
* wat
* output pin, and ts stuff
* use SimpleTransmissionController
* include
* grrr
* grrr
* move to separate file
* fix includes
* try
* semicolon stupid
* try pointers
* try
* add to makefile
* wat
* try
* try
* try
* try
* try
* try
* try
* try
* try
* try
* try
* try
* try
* try
* undo
* more idiomatic maybe
* remove logger
* try init func
* try
* try
* try init fn
* try
* switch
* try
* try
* ifndef
* try
* try
* ifndef
* use def dug
* INJECT FIRST
* try
* try
* duh
2020-10-09 23:34:45 -04:00
Matthew Kennedy
c9fdde4472
remove virtual calls from hot path ( #1857 )
...
* const ref-ify
* no virtual ❌
* even more const
* tests
* fix tests
2020-10-05 16:42:50 -04:00
Matthew Kennedy
3aa4f2bd97
trigger decode cleanup and perf ( #1853 )
...
* trigger decode cleanup
* test config ptr patchup
* disable CDM by default
2020-10-04 19:29:26 -04:00
rusefillc
c9d3d1f01a
60/2 perf grab #1850
2020-10-04 01:04:15 -04:00
rusefi
b91a656a51
docs
2020-09-19 04:38:59 -04:00
David Holdeman
f5d9263ad1
switch start/stop to ButtonDebounce ( #1777 )
2020-09-09 08:22:15 +01:00
rusefi
f33b3eda8a
Merge remote-tracking branch 'origin/Hellen_fork_point' into master
...
# Conflicts:
# firmware/controllers/algo/engine.h
# firmware/hw_layer/drivers/drivers.mk
# firmware/hw_layer/stepper.h
# firmware/integration/rusefi_config.txt
# firmware/tunerstudio/rusefi.input
# simulator/simulator/efifeatures.h
2020-09-07 15:02:11 -04:00
rusefi
6a3d212370
Hellen says merge #1772
...
Hellen says stepper
(cherry picked from commit a2f26ac99b
)
2020-09-07 14:45:41 -04:00
rusefi
a2f26ac99b
Hellen says merge #1772
...
Hellen says stepper
2020-09-07 14:41:04 -04:00
David Holdeman
b8838de309
[TCU] Button Shifting ( #1750 )
...
* add buttonshift files
* buttonshift includes, targets, and init
2020-09-02 20:17:58 -04:00
David Holdeman
499a430347
[TCU] GearController and TransmissionController base classes ( #1749 )
...
* add tcu ts outputs
* accidental change?
* add tcu base classes
* rearrange
* accidental change?
* add files
* missing backslash
* undo accidental change
* buttonshift includes, targets, and init
* Revert "buttonshift includes, targets, and init"
This reverts commit 1b0630511e1948f3d330d74be5bff6c087f118fb.
* use unused bit
* add return documentation
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2020-09-02 15:39:50 -04:00
rusefi
16d16f9634
TriggerConfiguration getPrintPrefix
2020-08-29 17:25:42 -04:00
rusefi
10a6661fa5
VVT support for VAG trigger #883
2020-08-26 23:35:11 -04:00
rusefi
7867e83e43
VVT support for VAG trigger #883
2020-08-24 02:01:50 -04:00
rusefi
95bd50da94
VVT support for VAG trigger #883
2020-08-24 01:21: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
rusefi
1238dfb837
trigger and VSS hw integrated testing #1668
2020-08-08 11:25:17 -04:00
Matthew Kennedy
a2aac60a76
fwd decl
2020-07-28 11:43:54 -07:00
Matthew Kennedy
3071ee4334
didn't need that
2020-07-26 20:46:23 -07:00
Matthew Kennedy
e5133de70f
add mock airmass mode
2020-07-26 20:33:18 -07:00
Matthew Kennedy
46b7567195
put wall wetting inside
2020-07-20 00:04:05 -07:00
rusefi
0b5bb7c0cf
useFSIO6ForRevLimiter
2020-06-01 09:09:55 -04:00
rusefi
056bc631af
[Feature Request] Transmission Control #1454
2020-05-29 23:05:16 -04:00
Matthew Kennedy
745b0c04ac
pull out std air charge math ( #1397 )
2020-05-05 08:01:40 -04:00
Matthew Kennedy
1bad5f3047
don't store self stim in config ( #1356 )
...
* kill
* add bench test
* fix
2020-04-23 22:38:14 -04:00
Matthew Kennedy
58e7738718
initialize etbControllers ( #1338 )
2020-04-21 08:18:32 -04:00
Matthew Kennedy
7d5df29fbd
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
2c809e4475
Remove old monitoring timestamps ( #1217 )
...
* remove monitoring timestamps
* adv map
* fuel calc
* map avg
* printing
* spark logic
* hip 9011
* new traces
* s
* missed a few
2020-03-24 20:19:19 -04:00
rusefi
5dce6e7104
launch control #203
...
somewhat questionable code
2020-03-23 23:20:54 -04:00
rusefi
31ef10fe1c
start/stop progress
2020-03-23 10:32:41 -04:00
Matthew Kennedy
397907a06f
Support disabling most/all features ( #1162 )
...
* this flag did nothing
* guard features properly
2020-02-26 18:16:35 -05:00
rusefi
241d491625
trigger refactoring
2020-01-26 12:02:54 -05:00
rusefi
080e7e12db
trigger refactoring
2020-01-26 06:12:01 -05:00
rusefi
db2ab72d12
refactoring trigger
2020-01-26 03:33:45 -05:00
rusefi
cc1c4c9dcb
refactoring - de-coupling trigger
2020-01-22 13:25:35 -05:00
rusefi
06cdb7cde6
refactoring
2020-01-22 01:22:44 -05:00
rusefi
b83a5310be
happy new year
2020-01-08 00:02:40 -05:00
rusefi
cf0b12b203
refactoring
2019-12-23 21:58:06 -05:00