rusefillc
ed18cb1a53
it's going to be...
2023-05-31 17:36:12 -04:00
rusefillc
c15ab187c5
it's going to be p
2023-05-31 17:23:46 -04:00
rusefillc
91d08f0465
it's going to be p
2023-05-31 17:15:43 -04:00
Matthew Kennedy
12a29232cc
tooth_logger.h -> pch
...
(cherry picked from commit ad3ea57276361b6da69eb920dd056a662f6f5c70)
2023-05-31 15:59:02 -04:00
Andrey
902c61f9d8
setSparkSkipRatio limitation #5231
2023-05-25 13:26:17 -04:00
Matthew Kennedy
40673ffda2
add ignition/injection mode output channel #85
...
(cherry picked from commit 9621ff844eea704421dc6172d66a2f4053467277)
2023-05-04 18:58:50 -04:00
Matthew Kennedy
d897a96c05
is this just dead?
...
(cherry picked from commit cd6b770945aa56ae52e188476034a862cba47bb0)
2023-04-29 01:08:14 -04:00
Andrey
51d0f6e347
it's going to be painful
2023-04-29 00:44:00 -04:00
Andrey
f296e30fb5
it's going to be painful
2023-04-28 21:01:08 -04:00
Matthew Kennedy
d488ed5858
function >>> macro
...
(cherry picked from commit 489d016682d1c3eb4eb707cd1686686e40175dcd)
2023-04-28 20:27:12 -04:00
Andrey
b95353cc12
logging of live data structs was: data points, we are moving away from debug mode #3614
2023-04-12 17:31:00 -04:00
Andrey
0470953cb8
We need to reshuffle timing calculation a bit, add one more gauge #5235
2023-04-12 17:22:28 -04:00
Andrey
32b7b014c9
per-cylinder should not contain firingOrderOffset fix #5236
2023-04-12 15:18:29 -04:00
Andrey
588bf77492
wow we have two separate per-cylinder trims?! fix #5237
...
refactoring: bringing two offsets much closer together, no change in overall logic
2023-04-12 15:04:14 -04:00
rusefillc
deaee9ceae
Ignition Knock response logging progress
2023-04-11 10:54:10 -04:00
Andreika
919ed2d934
RPM soft limit and hysteresis #5214 , #5224 ( #5228 )
...
* [DRAFT] RPM soft limit and hysteresis #5214 , #5224
* fix m_timingRetard
* fix rpmHardLimitHyst
* unit-tests for #5214 , #5224
2023-04-10 17:18:51 -04:00
Andrey
1c7a800d7b
https://github.com/rusefi/rusefi/pull/5040
...
only:mre_f4
2023-02-24 22:48:33 -05:00
Andrey
6588e813ae
totalFuel and totalIgnition correction gauges in Tunerstudio #4955
2023-01-15 08:26:38 -05:00
Andrey
9abdab795d
totalFuel and totalIgnition correction gauges in Tunerstudio #4955
2023-01-14 23:21:23 -05:00
Matthew Kennedy
d5b00e1187
don't warn if we intentionally skipped this spark ( #4961 )
...
* don't warn if we intentionally skipped this spark
* header
* real nb2
2023-01-10 19:07:44 -05:00
rusefillc
0300376c84
CI is useful
2023-01-01 11:30:50 -05:00
rusefillc
6146b01a36
antilag and anti-lag #2403
...
TurboMarian is the ALS boss
2022-12-21 20:12:00 -05:00
Matthew Kennedy
769cdd32ca
TriggerScheduler cleanup ( #4844 )
...
* TriggerScheduler cleanup
* remove TRIGGER_EVENT_UNDEFINED
* remove dead overload of scheduleOrQueue
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-28 08:55:38 -05:00
Andrey G
e7b06cbfca
compile warnings: signed vs unsigned and unused ( #4713 )
2022-10-30 09:47:53 -04:00
Matthew Kennedy
940e0dc369
require ignition on for firing ( #4628 )
...
* require ignition on for firing
* too much havoc for a unit test
* patch up references
* last one
* fix changelog mangling
* fix the changelog template too
* bad merge
* fix the template again
* s
* fake battery voltage on hw ci
* ugh merge
* ugh merge
2022-10-04 20:36:03 -04:00
Matthew Kennedy
b089825a4a
schedule ignition charge by angle instead of tooth ( #4513 )
...
* schedule ignition charge by angle
* same mistake as #4536
* s
* wrap sparkAngle too
* AngleBasedEventNew
* function moved
* implement scheduleOrQueue
* prints
2022-09-25 11:00:55 -04:00
Matthew Kennedy
dfe1b47b4d
remove ignitionPin ( #4608 )
...
* remove ignitionPin
* now that's gone
* BMW test
2022-09-23 17:30:10 -04:00
Matthew Kennedy
a9cc3223dc
plumbing for 4513 ( #4599 )
...
* plumbing for 4513
* not static
2022-09-20 06:19:51 -04:00
Matthew Kennedy
3a57c41c1b
add fuel/spark cut codes to TS indicators ( #4592 )
...
* add fuel/spark cut codes to TS indicators
* fix list
* only set clearReason if not cleared
2022-09-19 22:01:03 -04:00
rusefillc
d9733199c1
"angle range findAngle#a6" critical error #4593
2022-09-19 18:33:19 -04:00
Andrey
82cda62bac
inline method to reduce confusion
2022-09-14 01:34:52 -04:00
rusefillc
e733782920
i suspect that no one cares about these
2022-09-14 00:34:04 -04:00
Andrey
197454ac34
tear down Engine god object #4511
...
just trying different things
2022-09-07 15:38:15 -04:00
Andrey
e240ac84d3
refactoring: reducing outputChannels copy
2022-09-01 01:06:49 -04:00
Andrey
9f4f85a097
let spark deal with spark limpManager
2022-08-31 23:59:40 -04:00
Andrey
cecc5a9d6e
https://github.com/rusefi/hellen154hyundai/issues/60
...
extra logging
2022-08-25 19:58:10 -04:00
Matthew Kennedy
16de438ab8
knock threshold table fix ( #4077 )
...
* fix knock threshold table
* defaults
* knock controller is engine module
* testable
* test builds
* knock tests work
* s
* format
* everyone loves changelogs
2022-04-18 08:03:16 -04:00
Matthew Kennedy
497e7ffe77
allow setting injection phase by start or center of injection ( #4068 )
...
* allow SOI/COI
* other change
* renames and simplify
* clean up ownIndex
* double check in spark logic
2022-04-15 10:22:36 -04:00
Matthew Kennedy
41ab294281
fix sequential mode cranking ( #2919 )
...
* fix
* use the right enum
* do it for fuel too
* earlier
* s
2022-02-01 19:04:20 -05:00
Andrey
cda2b711cf
migrating to SensorType::Rpm API
2022-01-20 23:32:59 -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
Matthew Kennedy
3a95e86112
calculate per-cylinder ignition timing ( #3652 )
...
* simplify cylinder phasing
* per cylinder timing
* s
* s
* s
* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
Matthew Kennedy
555a8d5f43
simplify cylinder phasing ( #3650 )
2021-12-05 10:46:35 -05:00
Scott Smith
18c27a6e9c
Separate out scheduleOrQueue into it's own standalone scheduler. ( #3573 )
...
It's a large enough entity that it shouldn't be buried in ignition logic.
2021-11-18 14:27:21 -05:00
Scott Smith
ba8bd0a704
Add a lock for scheduleOrQueue events. ( #3572 )
...
Ignition callers are all tooth based, but aux valves calls it from both the microsecond timer and
the main initialization thread. HPFP will also soon call it from both those places too.
2021-11-18 05:08:32 +03: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
rusefillc
d688f72c3e
proportional spark cut #3427
2021-11-17 04:06:22 -05: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
Andrey
3748bf5ad0
proportional spark cut #3427
2021-11-16 05:56:15 -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
Matthew Kennedy
145316c497
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefillc
22c872d8d8
Epic: Remove FSIO #2928
2021-11-14 10:57:19 -05:00
rusefillc
6210eaacf7
script settings need names!
2021-11-13 23:10:38 -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
b4884498cb
OBD error renames
2021-10-03 01:30:42 -04:00
Andrey
fdab6c303c
overdwell protection #3071
2021-10-02 01:33:26 -04:00
rusefillc
77ebc71f9a
overdwell protection #3071 ( #3294 )
2021-10-02 01:17:53 -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
Andrey
2a2722c3cc
SPARK_EXTREME_LOGGING
2021-10-01 23:50:32 -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
rusefillc
ff6edb9790
refactoring: just a better constant name
2021-09-08 20:32:50 -04:00
rusefillc
0159e8e32b
Smart ECU: misfire detection #936
2021-09-06 15:29:36 -04:00
rusefillc
059a82bcb2
Smart ECU: misfire detection #936
2021-09-06 11:10:11 -04:00
rusefillc
a555b7a00f
Smart ECU: misfire detection #936
2021-09-06 10:35:26 -04:00
rusefillc
cc9b8ffa98
Implement auto knock threshold sampling #3033
2021-08-10 06:42:39 -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
Andrey
8b5dde5a8f
trailing spark outputs fix #2931
2021-07-22 00:01:54 -04:00
Matthew Kennedy
76924be3d1
not setValue ( #3026 )
2021-07-21 23:36:46 -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
e1c41ff798
FATAL on NB2 tune jim stim input signal #2965
2021-07-14 16:03:00 -04:00
Matthew Kennedy
86683afca2
trailing spark scheduling ( #2932 )
...
* enable bit
* implement trailing sparks
* test trailing spark
* it helps to call the correct function
* add pins
* gobblin ram
2021-07-09 08:37:46 -04:00
Andrey
47b62a5a3a
https://www.rusefi.com/forum/viewtopic.php?p=41296
2021-06-20 17:26:24 -04:00
Matthew Kennedy
8ce2057a89
parser rewrite prep: normalize config ( #2741 )
...
* cleanup 1
* cleanup 2
* impl
* fix
2021-05-27 08:23:28 -04:00
Andrey G
e18ba01fe5
hip9011 ( #2658 )
...
* hip9011: isolate debug stuff
* hip9011: renames
* hip9011: start sensing knockDetectionWindowStart degres from fire
* engine: more realistic values for knock window
* hip9011: remove magic CS toggling
* hip9011: EFI_HIP_9011_DEBUG should depend on EFI_HIP_9011
2021-05-08 18:43:55 -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
ad71016862
rip the bandaid: find-replace most of scheduleMsg ( #2572 )
...
* biiiig find replace
* more trivial find replace
* pwm
* almost all of them
* few more
* gpio
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 12:53:13 -04:00
rusefillc
41804736e2
engine sniffer into unit tests
2021-04-04 22:41:38 -04:00
Andrey G
bbe3291ccd
hip9011: get callback from spark on each cylinder ( #2499 )
...
* hip9011: get callback from spark on each cylinder
* hip9011: cleanup unused
2021-03-27 14:12:49 -04:00
Andrey G
89b631a794
Hip9011 and cleanups ( #2477 )
...
* hip9011: move hipCs out of EnginePins to hip9011 driver
* hip9011: cleanup debug output, save few RAM bytes
* Supress few signed vs unsigned warnings
2021-03-20 08:40:36 -04:00
Matthew Kennedy
93b034b8e9
Limp handles inj/ign disable ( #2245 )
...
* status loop just asks limp mgr
* put logic in limp manager
* don't need that function any more
* bye
* TIL these bits already exist in the configuration
2021-01-27 21:28:53 -05:00
rusefi
2fac4cd732
HW_CHECK_SPARK_FSIO
2020-12-26 16:16:40 -05:00
rusefillc
ab8d6ff0df
avoid float -> int64 conversion #1977
...
cherry picking...
2020-11-24 00:06:12 -05:00
Matthew Kennedy
55379463c0
remove ( #1985 )
2020-11-23 20:10:17 -05:00
Matthew Kennedy
2f4294ac4d
minor perf tweaks ( #1946 )
...
* only start PWM if needed
* put important stuff first
* use conversion
* this broke the logic
2020-11-16 00:06:11 -05:00
Matthew Kennedy
d2d0ffa1ee
remove tach output pin ( #1779 )
...
* remove from cfg
* cfg
* rip out impl
* efi gpio
2020-09-09 16:52:23 -04:00
rusefi
ca21d5b4c2
refactoring
2020-09-03 19:29:15 -04:00
Matthew Kennedy
988d9b138c
detect which cylinder knocked ( #1732 )
...
* s
* science
* set pin mode
* turn stuff off so it fits
* filtering maybe
* filtering actually works
* generate filter parameters internally
* shorter window
* guard behind enable flag
* use checked in filter
* add biquad reset
* tracing
* const
* exec order
* do it from a thread
* smaller buffer, comment
* configure with header
* only for proteus
* oops
* unused
* not needed
* guards
* pin config
* don't need that include
* precook filter steady state
* define sample rate
* multi cylinder knock
* TS
* only sense when running
2020-08-31 21:05:33 -04:00
Matthew Kennedy
1a55085bb6
Software knock detection ( #1730 )
...
* s
* science
* set pin mode
* turn stuff off so it fits
* filtering maybe
* filtering actually works
* generate filter parameters internally
* shorter window
* guard behind enable flag
* use checked in filter
* add biquad reset
* tracing
* const
* exec order
* do it from a thread
* smaller buffer, comment
* configure with header
* only for proteus
* oops
* unused
* not needed
* guards
* pin config
* don't need that include
* precook filter steady state
* define sample rate
* config enable switch
2020-08-28 21:13:50 -04:00
Matthew Kennedy
bbe7ac43db
misc
2020-07-29 02:29:55 -07:00
rusefi
d52fb0b168
better unit test logging
2020-07-20 13:38:33 -04:00
rusefi
f37e739438
logicdata into unit tests
2020-07-19 22:03:30 -04:00
rusefi
5d75c36651
composite log for console
2020-05-26 00:07:18 -04:00
rusefi
a4329169e9
better file name
2020-05-25 13:02:05 -04:00
Matthew Kennedy
a5d4d06868
Multispark implementation ( #1192 )
...
* multispark prototype
* only multispark if not cut
* typo
* do some reasonableish math
* consume cfg
* todo
* bad merge
* move math out of engine2.cpp
* engine state config
* consume generated
* use new
* hand generate
* doc, debugging
* debug channel names
* don't depend on rpmcalc
* safer, fix math
* tests
* default multispark config
* remove todo
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-26 01:49:36 -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
Matthew Kennedy
397907a06f
Support disabling most/all features ( #1162 )
...
* this flag did nothing
* guard features properly
2020-02-26 18:16:35 -05:00
Matthew Kennedy
6038dc203b
minor simplify spark ( #1150 )
...
* simplify
* rename
2020-02-21 19:35:11 -05:00