Commit Graph

459 Commits

Author SHA1 Message Date
Matthew Kennedy 9a28e8d938
correctly compute engine revolution number (#3586)
* add param

* first revolution is revolution 0, not revolution 1

* would you look at that, we sync one rev quicker!

* changelog

* rpm value
2021-11-21 09:01:27 +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
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith dac67235c4
Don't keep a separate MultiChannelStateSequence for the trigger emulator, version 2. (#3517)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-10 07:01:20 -05:00
rusefillc 1db9a02f1d Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)"
This reverts commit 280dfa94e7.
2021-11-09 20:42:23 -05:00
Scott Smith 280dfa94e7
Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-09 14:35:07 -05:00
Scott Smith 158f719d95
Save ~2800 bytes of RAM by not caching angle->trigger mapping (#3506)
Memory seems more valuable than CPU; use the O(lg n) lookup by angle.  A side effect is that it
seems to fix trigger lookup for the second phase of TRIGGERTYPE 53 544 TT_TRI _TACH 0.00
2021-11-09 07:03:27 -05: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 0d983855b9
instant rpm uses full engine cycle (#3077)
* instant rpm uses full engine cycle

* turn off fast spinup for this test
2021-07-30 08:18:24 -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 6fc693aea2 VVT position of first cam is off on first cycle fix #2987 2021-07-22 01:02:37 -04:00
Andrey 24cfbeba35 Nissan VVT trigger decoder #2887 2021-07-21 23:08:56 -04:00
Andrey f2cb242090 simplify quad vvt test #3018
better parameter name and explicit constraint clarification
2021-07-21 17:45:35 -04:00
Matthew Kennedy 5f3464b204
Fix prepareEventAngles for symmetrical crank triggers (#2982)
* fix and make code legible

* update test to check every tooth

* symmetrical crank

* simplify findTriggerPosition

* make getAngle intelligable
2021-07-17 23:27:20 -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 8e30c513da unit tests pass on Linux fail on Windows fix #2902
reducing code duplication
2021-07-05 23:51:13 -04:00
Andrey 9fb7e39864 Nissan VVT trigger decoder #2887 2021-07-05 23:39:39 -04:00
rusefillc 9814264bdf Nissan 2021-07-05 18:37:53 -04:00
Andrey f5e937fe2b refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey 00ea760979 wow we have weird code! 2021-07-02 19:49:00 -04:00
Matthew Kennedy 8569f028d6
Fix pre sync timestamp copy (#2892)
* fix tests

* fix pre sync copy

* this fixes the issue
2021-07-01 18:58:28 -04:00
Andrey eaff083377 refactoring - explicit read method 2021-06-26 22:17:07 -04:00
Andrey bd48753682 Override trigger gaps feature #2734 2021-05-23 20:06:19 -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
rusefi 3f914bf3ed trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 15:17:01 -04:00
rusefillc 40c50adf88 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 12:16:23 -04:00
rusefillc e02f09495b trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 01:21:28 -04:00
Matthew Kennedy 57b79ab6bb
trigger decoder timer (#2427)
* part 2

* stale comment

* include

* why was this a macro

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 16:35:58 -05:00
Matthew Kennedy bdacda558c
fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
rusefillc 43f37c677a RAM efficiency of VR crank trigger shapes #2182
Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912

fixing build?
2021-01-04 22:13:59 -05:00
rusefillc 8c7ab1cbe3 RAM efficiency of VR crank trigger shapes #2182
Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912
2021-01-04 22:00:37 -05:00
rusefillc 8fb32b517b Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912 2021-01-04 21:30:54 -05:00
rusefillc 15665484e5 Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912 2021-01-03 13:52:53 -05:00
rusefi 719ad92681 FATAL while bench testing VR #2153 2021-01-01 14:07:52 -05:00
rusefillc 9efd231915 minor fixes 2020-12-06 19:25:48 -05: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 5925a5f4bd
const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -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 348b387483 Trigger performance: variable gapTrackingLength #1851
cool change but looks to have made zero difference
2020-10-04 13:05:49 -04:00
rusefi 16d16f9634 TriggerConfiguration getPrintPrefix 2020-08-29 17:25:42 -04:00
rusefi 4e5f53493d common sense change? "should be safe" famous last words 2020-08-27 00:31:59 -04:00
rusefi 2b77901e53 VVT support for VAG trigger #883 2020-08-27 00:06:10 -04:00
rusefi e4386be937 VVT support for VAG trigger #883 2020-08-26 20:57:11 -04:00
rusefi c27a79760c const 2020-08-26 17:37:15 -04:00
rusefi 0c5db46438 const 2020-08-26 17:30:13 -04:00
rusefi ce01c1bfaa VVT support for VAG trigger #883 2020-08-25 13:14:46 -04:00
rusefi b09091774a VVT support for VAG trigger #883 2020-08-25 12:45:18 -04:00
rusefi 540eef5e0d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi 5f5a16867a VVT support for VAG trigger #883
a bit of dead code?
2020-08-24 02:31:27 -04:00
rusefi a98c622b54 VVT support for VAG trigger #883 2020-08-24 02:23:13 -04:00
rusefi 3a2670d5de VVT support for VAG trigger #883 2020-08-24 02:07:58 -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
rusefi 74f8efd7e1 Trigger gap-check toothDuration array samples time at any event? fix #1658 2020-07-30 19:24:55 -04:00
rusefi 49e9e08c65 better unit test logging 2020-07-19 15:47:21 -04:00
rusefi fbfef8290c better unit test logging 2020-07-19 14:17:15 -04:00
Matthew Kennedy b11c5cd8c8
switch some firmware warnings to errors (#1465)
* warnings as errors

* throw instead of exit

* test massaging

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-23 10:46:28 -04:00
rusefi f233628c2c lovely, yet another minor confusion 2020-05-13 01:16:05 -04:00
rusefi 38ec6d812d https://github.com/rusefi/hw_microRusEfi/issues/157 2020-05-12 23:37:12 -04:00
Matthew Kennedy 1f16228bdb
Perf Trace Improvements (#1383)
* add tid field to thread

* change perf trace format

* trace consumers

* Update java parsing

* guard for test + kinetis

* stubs

* ram

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-29 10:53:35 -04:00
rusefi e5f97a4ccf more verbose 2020-04-15 20:07:56 -04:00
Matthew Kennedy ff867b9301
fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
rusefi 6a94a58796 progress 2020-04-10 13:32:06 -04:00
rusefi fb06813e12 DBG_TRIGGER_SYNC merged into DBG_TRIGGER_COUNTERS 2020-04-10 13:19:54 -04:00
rusefi 607692695e safer version by Dron0Gus 2020-04-06 11:29:09 -04:00
Matthew Kennedy 8fd9842310
cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
rusEfi 299dd7e836 better trigger LiveDocs 2020-02-22 15:39:00 -05:00
rusefi d9b96fe509 extracting class & codes clean-up 2020-01-28 00:16:33 -05:00
rusefi 282cd8e1ac trigger refactoring 2020-01-26 14:20:55 -05:00
rusefi a53d9c587a trigger refactoring 2020-01-26 13:51:35 -05:00
rusefi 241d491625 trigger refactoring 2020-01-26 12:02:54 -05:00
rusefi 67bda5f088 good thing we have CI - fixing build 2020-01-26 09:00:46 -05:00
rusefi 03d2aae681 reducing code duplication 2020-01-26 06:35:51 -05:00
rusefi 51ab9f5b57 reducing code duplication 2020-01-26 06:28:33 -05:00
rusefi 080e7e12db trigger refactoring 2020-01-26 06:12:01 -05:00
rusefi 154b679491 refactoring: de-coupling trigger decoder and engine 2020-01-26 03:48:25 -05:00
rusefi db2ab72d12 refactoring trigger 2020-01-26 03:33:45 -05:00
rusefi af8383ae3a trigger refactoring 2020-01-25 11:22:25 -05:00
rusefi 0f23faba28 trigger refactoring 2020-01-25 02:00:33 -05:00
rusefi aabc50e7a9 refactoring trigger 2020-01-24 13:42:09 -05:00
rusefi 3056154fe6 refactoring trigger 2020-01-23 13:39:50 -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 9d0c5540d8 refactoring 2020-01-22 00:40:26 -05:00
Matthew Kennedy ba0c48e0ac use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
rusefi 9956ee6c15 maybe improvement to console trigger messages 2019-12-25 15:05:02 -05:00
rusefi fde9a449cf random refactoring: hopefully not changing byte size of any variables but clarifying/fixing type between ticks, US and MS 2019-12-21 21:11:09 -05:00
rusefi 9403b2a8fc fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi c5cfd21a70 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi d6471a84bc Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -05:00
rusefi 717abd6b67 Refactor Trigger System #635
injecting callback via parameters via magic and potentially broken field manipulation
2019-12-06 01:05:19 -05:00
rusefi 0583fd0b6c misc clean-up 2019-12-02 10:03:50 -05:00
Matthew Kennedy 93d24dfc0b Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 79e049a5f8 Strange INJ1 signal behavior (when the frequency of scheduler's timer is less than 1MHz) #996
new advanced debugging: hardware pins
2019-11-10 12:39:47 -05:00
andreika-git 4e19c96cb6 Kinetis timer freq. fix & config update (#999)
* Kinetis: fix timer frequency

* More silentTriggerError - it really helps a lot!

* Kinetis: gen_config.bat update
2019-11-06 14:45:55 -05:00
rusefi 22453f8392 nicer enum name 2019-11-03 21:19:13 -05:00
rusefi 47eaea3da3 scramblr reports sync issues on NB1 fix #990 2019-10-30 21:01:23 -04:00