Commit Graph

487 Commits

Author SHA1 Message Date
Matthew Kennedy 54c339c0a4 remove trigger duty cycle calculation (#4213)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix

* remove duty cycle thing
2022-05-30 22:39:57 -04:00
Matthew Kennedy 5f1801f9d6 trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy cf51533f45 More trigger encapsulation (#4207)
* trigger decoder returns a result

* TriggerFormDetails

* s

* don't reach out and touch the engine
2022-05-29 13:49:00 -04:00
Matthew Kennedy d85ed5f3c0 trigger decoder returns a result (#4206) 2022-05-28 09:01:45 -04:00
Matthew Kennedy 76a15dd711 don't rely on triggerStateListener to detect trigger errors (#4164)
* Write proper TriggerDecoder tests

* Improve logic around sync loss

* these tests I understand

* these I sort of understand....

* the one error in the noiseless decoder is gone!
2022-05-13 18:48:26 -04:00
Matthew Kennedy cf89b42716 move logic in to trigger decoder (#4162)
* move logic in to trigger decoder

* status loop

* minor cleanup

* s
2022-05-10 23:55:28 +03:00
Matthew Kennedy b243d3fca0 TriggerState -> TriggerDecoder (#4157) 2022-05-10 11:41:39 +03:00
Matthew Kennedy 05dd33ddb3 switch back to flag (#4155) 2022-05-10 07:52:29 +03:00
Matthew Kennedy 55fdd3f3c7 encapsulate stuff properly (#4154) 2022-05-09 15:46:36 -04:00
rusefillc e64c8cfccb synchronized Phase handling improvements fix #4099 2022-05-09 04:36:03 -04:00
rusefillc 5454b8f509 m_hasSynchronizedSymmetrical handling improvements #4099
API progress
2022-05-09 04:04:38 -04:00
rusefillc 23c16280f6 helping build 2022-05-08 09:14:50 -04:00
rusefillc 394d1fe961 refactoring: bringing method names up to date 2022-05-08 09:04:27 -04:00
rusefillc b2771f9b44 Remove value copy from controller into outputChannels #4095 2022-05-08 08:50:27 -04:00
rusefillc 5f9c9d1732 humans need humane warning messages 2022-04-18 11:35:19 -04:00
rusefillc cb4979e068 very random progress 2022-04-16 17:07:57 -04:00
Matthew Kennedy 5cf2b1bba5 warning cleanup (#4020) 2022-03-22 16:53:24 -04:00
rusefillc b555d9e82b toothed previous time #4019 2022-03-21 20:41:09 -04:00
Andrey e0258c4c8e migrating to SensorType::Rpm API 2022-01-20 23:36:09 -05:00
Andrey 5f3324cd6b migrating to SensorType::Rpm API 2022-01-20 23:32:59 -05:00
Matthew Kennedy c058698859 Nb2 crank sync special case (#3727)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* custom nb decoder

* test only resyncs once!

* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
Matthew Kennedy d90d6705cf adjustment to #3722 (#3723)
* s

* behold, another bug a test caught

* test

* test generates usable trigger pattern so it works correctly

* comment

* don't need that
2021-12-31 01:21:21 -05:00
Matthew Kennedy 041a3e12a3 extract isSyncPoint function (#3726)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* clean up noise from test case

* clarify and comment
2021-12-30 11:39:04 -05:00
Matthew Kennedy b392a7120e improved noFiringUntilVvtSync logic (#3696)
* s

* poke

* poke again for science

* kick for science

* kick

* kick

* comment kick

* s

* don't try to compare the array decay pointer to 0 (!)

* collateral damage

* adjust miata sync

* reset trigger states correctly on engine stop

* s

* nissan MR too
2021-12-27 12:09:38 -05:00
rusefillc ddbe875d98 MAP phase sensing #3544
trigger sync better gauges/logging
2021-12-06 17:04:05 -05:00
rusefillc e0d5a5afac trigger sync better gauges/logging 2021-12-06 13:08:41 -05:00
rusefillc 631d71cea7 random note 2021-11-26 15:48:42 -05:00
Andrey 4e45297145 minor progress 2021-11-24 22:35:56 -05:00
Matthew Kennedy b9f8409f59 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 80091498a6 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 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 5bd7d8e372 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 38ea0d1835 Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)"
This reverts commit 4e220dc163.
2021-11-09 20:42:23 -05:00
Scott Smith 4e220dc163 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 9b40e68155 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 1f1c538fc0 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 e3e5e57eac 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 d3ec2b21d1 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 e8aef0dcd3 VVT position of first cam is off on first cycle fix #2987 2021-07-22 01:02:37 -04:00
Andrey 2a07c3df27 Nissan VVT trigger decoder #2887 2021-07-21 23:08:56 -04:00
Andrey c433c20a36 simplify quad vvt test #3018
better parameter name and explicit constraint clarification
2021-07-21 17:45:35 -04:00
Matthew Kennedy 2a4dfd0bf8 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 e3849b95d5 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 3759028a32 unit tests pass on Linux fail on Windows fix #2902
reducing code duplication
2021-07-05 23:51:13 -04:00
Andrey 8f13e5711a Nissan VVT trigger decoder #2887 2021-07-05 23:39:39 -04:00
rusefillc 32a813339d Nissan 2021-07-05 18:37:53 -04:00
Andrey 9ad5ec8044 refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey 7b21e5cf29 wow we have weird code! 2021-07-02 19:49:00 -04:00
Matthew Kennedy 20937455a0 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 4627707e1c refactoring - explicit read method 2021-06-26 22:17:07 -04:00
Andrey f74946e790 Override trigger gaps feature #2734 2021-05-23 20:06:19 -04:00
Matthew Kennedy 5f0791f9fb 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 737ee444b8 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 3d89cc2093 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 15:17:01 -04:00
rusefillc c886394947 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 12:16:23 -04:00
rusefillc 9c26a84be9 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 01:21:28 -04:00
Matthew Kennedy d5bc14719e 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 5bfee13c21 fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
rusefillc fea596e867 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 a51634fd2b 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 72759ab4a8 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 6eb11dc60a 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 663ff4656f FATAL while bench testing VR #2153 2021-01-01 14:07:52 -05:00
rusefillc b463166297 minor fixes 2020-12-06 19:25:48 -05:00
Matthew Kennedy e112bbd07e 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 060cfbd778 const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
Matthew Kennedy ebc884e8d5 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 9808e675f5 Trigger performance: variable gapTrackingLength #1851
cool change but looks to have made zero difference
2020-10-04 13:05:49 -04:00
rusefi b19ffa7075 TriggerConfiguration getPrintPrefix 2020-08-29 17:25:42 -04:00
rusefi f7b03d8e6e common sense change? "should be safe" famous last words 2020-08-27 00:31:59 -04:00
rusefi ed3eaf319c VVT support for VAG trigger #883 2020-08-27 00:06:10 -04:00
rusefi 0992f90f18 VVT support for VAG trigger #883 2020-08-26 20:57:11 -04:00
rusefi 35702163ee const 2020-08-26 17:37:15 -04:00
rusefi f268af5165 const 2020-08-26 17:30:13 -04:00
rusefi b64c9bd9d3 VVT support for VAG trigger #883 2020-08-25 13:14:46 -04:00
rusefi 470a9f5a5a VVT support for VAG trigger #883 2020-08-25 12:45:18 -04:00
rusefi 7d53f5859d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi 978c3ff16d VVT support for VAG trigger #883
a bit of dead code?
2020-08-24 02:31:27 -04:00
rusefi 4ccb209df3 VVT support for VAG trigger #883 2020-08-24 02:23:13 -04:00
rusefi 4e333dac1c VVT support for VAG trigger #883 2020-08-24 02:07:58 -04:00
rusefi bdbee0d38b VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 0f9e8bf83e VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
rusefi f5f416951a Trigger gap-check toothDuration array samples time at any event? fix #1658 2020-07-30 19:24:55 -04:00
rusefi e2c62b8ab3 better unit test logging 2020-07-19 15:47:21 -04:00
rusefi adbaf9e179 better unit test logging 2020-07-19 14:17:15 -04:00
Matthew Kennedy a2313a853c 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 d74f1c0951 lovely, yet another minor confusion 2020-05-13 01:16:05 -04:00
rusefi bdb93db70d https://github.com/rusefi/hw_microRusEfi/issues/157 2020-05-12 23:37:12 -04:00
Matthew Kennedy a9bf0f8358 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 5e0d75b9e4 more verbose 2020-04-15 20:07:56 -04:00
Matthew Kennedy 24b0c85a9e fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
rusefi 35f08f3958 progress 2020-04-10 13:32:06 -04:00
rusefi cb2b699db6 DBG_TRIGGER_SYNC merged into DBG_TRIGGER_COUNTERS 2020-04-10 13:19:54 -04:00
rusefi 0e15a1f215 safer version by Dron0Gus 2020-04-06 11:29:09 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
rusEfi 627fe4ba53 better trigger LiveDocs 2020-02-22 15:39:00 -05:00
rusefi 9bd819a18d extracting class & codes clean-up 2020-01-28 00:16:33 -05:00
rusefi ae228dff0e trigger refactoring 2020-01-26 14:20:55 -05:00
rusefi 19d318c8ee trigger refactoring 2020-01-26 13:51:35 -05:00
rusefi 9bd796ab6b trigger refactoring 2020-01-26 12:02:54 -05:00