Commit Graph

509 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
rusefi 8cf19d3d12 refactoring & verbose trigger to simulator 2019-10-29 21:12:44 -04:00
rusefi fe77766b2b bugfix around verboseTriggerSynchDetails - 64 bits on stack was causing broken messages 2019-10-29 18:20:55 -04:00
Matthew Kennedy 763b17fb50 experiment 2019-10-11 17:43:21 -07:00
Matthew Kennedy 29804cbc8a move tsOutputChannels to header (#970) 2019-10-08 21:02:51 -04:00
rusefi 42dc9e3662 fancy C++ s/NULL/nullptr/ 2019-10-08 01:26:35 -04:00
rusefi c59d8164c6 unit tests progress 2019-09-19 21:41:52 -04:00
rusefi 8d1d88bf73 instant RPM for idle control #925
refactoring
2019-09-09 14:41:26 -04:00
rusefi 612a4ab3b3 MRE NB2 2019-09-03 23:35:49 -04:00
rusefi f32b29f318 Live Data: trigger current gap 2019-09-03 19:30:51 -04:00
rusEfi 1b8219432c Live Data for hw VVT signals 2019-09-02 21:02:08 -04:00
rusEfi c2980a36a9 Live Data VVT counter 2019-09-02 14:47:05 -04:00
rusefi 7842c7305f Live Data progress 2019-09-01 00:45:36 -04:00
rusefi e5e0ce0b94 minor test code fix & refactoring 2019-08-25 01:35:36 -04:00
rusEfi 1c0d38abef new feature: check engine light to blink on trigger synchronization 2019-08-18 15:53:38 -04:00
rusefi 676035f950 refactoring: extracting method to facilitate debugging 2019-08-07 22:02:08 -04:00
rusefi d01485d484 trigger error message makes trigger very unhappy #888
quick dirty temporary solution
2019-07-22 17:38:52 -04:00
rusefi e5b953db84 trigger counters to formula, docs & improvements 2019-07-20 14:56:56 -04:00
rusefi 3256af5510 gcc 2019 q3 fails integration testing #886
nicer messages
2019-07-14 13:15:48 -04:00
rusefi 7ac957e108 gcc 2019 q3 fails integration testing #886
nicer messages
2019-07-14 12:25:54 -04:00
rusefi 07f41c8f2a refactoring 2019-07-12 21:31:58 -04:00
rusefi cdac02429c refactoring: better file name 2019-07-06 20:15:49 -04:00
rusefi b81c60cf3e Refactoring: OS access should be explicit #867 2019-07-03 21:48:04 -04:00
rusefi 23fe25268a https://rusefi.com/forum/viewtopic.php?f=10&t=442&p=33587#p33584
better support for pretty noisy trigger (?)
2019-06-25 20:51:29 -04:00
rusefi 50bf018fe9 https://rusefi.com/forum/viewtopic.php?f=10&t=442&p=33585#p33575 2019-06-25 18:20:01 -04:00
rusefi a82c7e30db verbose trigger sync: better field name & check box to engine sniffer 2019-06-25 02:25:26 -04:00
Matthew Kennedy 95003e9a7b const, explicit, and override (#831)
* const, explicit, and override

* more const

* more const

* missed a spot
2019-06-08 09:51:36 -04:00
rusefi 266f8b5176 Multiple sync pattern for faster cranking #679 2019-05-14 19:24:18 -04:00
rusefi 812c61903a BUG: phase sensor validation attending - detect missing CAM signal fix #659 2019-05-11 00:21:37 -04:00
rusefi 04afb87610 Trigger: warning code on normal engine start up #669
avoiding CUSTOM_OBD_SKIPPED_FUEL fot triggers without synchronizaiton
2019-05-10 22:55:08 -04:00
rusefi 541c445a2d defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
rusefi bd2b992918 unifying_file_naming 2019-03-29 09:11:13 -04:00
rusefi 46bdbf82d1 refactoring: reducing code duplication 2019-02-23 12:33:49 -05:00
dron0gus 76fa11d5e2 warning cleanup (#693)
* Kill annoing warnings about unused vars

* Kill annoing signed vs unsigned warnings

* Make ALWAYS_INLINE macro realy inlining

* Incorrect attribute placement.

While correct attribute placement cause ram4 overflow.
Move to correct place (to avoid gcc-2018-q4 errors) and comment
out.

* Silence -Wcast-function-type warnings

Cast to intermediate "void *" to lose compiler knowledge about the original
type and pass the warning. This is a workaround.
2019-02-21 05:44:45 -05:00
rusefi 5d735c4d6e Refactor Trigger System #635
better field names
2019-02-03 01:49:41 -05:00
rusefi da4fb3a19f better conditional compilation 2019-01-31 17:55:23 -05:00
rusefi 14199080b1
Trigger rabbit hole (#682)
fix #681

* this did not work right

* progress: spinning is detected sooner now

* and now things are much better?

* and now reducing RAM usage
2019-01-24 21:12:55 -05:00
rusefi 90a7e61767 trigger refactoring: extracting methods to improve readability 2019-01-23 22:31:16 -05:00
rusefi 72c6ebd239 trigger refactoring: extracting methods to improve readability 2019-01-23 22:06:42 -05:00
rusefi 87930e3b49 trigger code minor clean-up 2019-01-23 21:43:27 -05:00
rusefi f7a2cc9e63 state validation progress 2019-01-22 23:15:33 -05:00
rusefi 1d15885448 C++11 and unique method name 2019-01-22 19:07:36 -05:00
rusefi 7a20bda66f refactoring around GET_RPM 2019-01-21 20:33:21 -05:00
rusefi 662831cde9 The Big Refactoring of 2019: configuration version should not be a global variable #656 2019-01-15 21:18:44 -05:00
rusefi 0ffa05a911 learning C++ 2019-01-15 20:24:36 -05:00
rusefi a2e8744200 The Big Refactoring of 2019: configuration version should not be a global variable #656
making a global not global
2019-01-14 12:21:26 -05:00
rusefi 01095219ba docs 2019-01-14 11:36:46 -05:00
andreika-git 775775e4fd fix! (#673) 2019-01-14 11:33:58 -05:00
rusefi 2bbc5feef4 minor improvement 2019-01-14 00:21:08 -05:00
rusefi c7f5581382 enjoying C++11 2019-01-13 23:20:19 -05:00
rusefi 57993ff1b4 The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657 2019-01-09 22:16:30 -05:00