Commit Graph

394 Commits

Author SHA1 Message Date
Matthew Kennedy 5cf2b1bba5 warning cleanup (#4020) 2022-03-22 16:53:24 -04:00
Andrey 63adb09089 new VVT trigger shape? #1847 2022-03-22 06:34:22 -04:00
Matthew Kennedy f67f65d31d tweak sync parameters for mitsubishi (#4017) 2022-03-21 19:23:48 -04:00
Andrey ce45951f7a Mitsubishi 4B11 support #4013 2022-03-20 11:24:08 -04:00
Andrey ef3248c245 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 22:06:19 -04:00
Andrey 394deca94a Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 21:34:25 -04:00
Andrey 65fe21cf84 Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2022-03-19 20:34:51 -04:00
Andrey d8ac904a28 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 17:57:35 -04:00
rusefillc 416f9a974d Mitsubishi 6G75 Support #4014 2022-03-19 16:34:40 -04:00
rusefillc faf84286f5 Mitsubishi 6G75 Support #4014 2022-03-19 16:28:06 -04:00
rusefillc 7548fe13f2 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 15:54:43 -04:00
rusefillc c7cc88ccd0 Mitsubishi 4B11 support #4013 2022-03-19 15:52:42 -04:00
rusefillc d6b1c9faf2 Mitsubishi 3A92 Support (Issue #4011) 2022-03-19 12:01:57 -04:00
rusefillc 9d8c316aff Remove Miata MX5 NB1 trigger fix #3488 2022-01-31 18:20:43 -05:00
rusefillc 7b9816d137 Bosch Quick Start on B6 Passat is confused about phase #3812 2022-01-19 20:55:50 -05:00
rusefillc b40c898097 Bosch Quick Start on B6 Passat is confused about phase #3812 2022-01-19 16:42:05 -05:00
rusefillc accc0542b8 Bosch Quick Start on B6 Passat is confused about phase #3812 2022-01-19 16:42:05 -05:00
Matthew Kennedy 4627bace31 Improve NA/NB miata sync parameters (#3730)
* NA sync parameters

* NB vvt pattern too

* zach's car says tighten the gap

* look at that, we sync one cycle sooner!
2022-01-01 21:39:04 -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 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 b0c1a8fb2e MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
Matthew Kennedy 8afee6c233 Honda K 12+1 decoder adjustment (#3694)
* adjust trigger

* real cranking

* mk
2021-12-14 21:10:01 -05:00
Matthew Kennedy 71514cb633 adjust mr18 vvt trigger (#3691)
* adjust mr18 trigger

* second gap, why not
2021-12-13 16:33:34 -04:00
rusefillc 9ce37314c0 Engine phase wrap around in log #3645
refactoring & docs
2021-12-02 17:06:20 -05:00
Andrey e3920a3159 reliable 32/2 trigger shape 2021-11-25 20:45:58 -05:00
Andrey 7fa2fa5707 MAP phase sensing #3544 2021-11-24 23:06:52 -05:00
Andrey 670bd74376 MAP phase sensing #3544 2021-11-24 22:41:49 -05:00
Scott Smith 9d61fb4cfd Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData (#3519)
* Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData

Most all the users were Multi* anyways, so just improve that:
1. Allow up to 8 waveforms to share one byte per timestamp.  It could be better but this is simple
   and gets most of the benefit.
2. Use a wrapper structure to handle reserving space for the arrays.  Makes the interface simpler
   and more rigid.  Also saves 4 bytes per Multi*.  Downside is access is now via -> and *,
   not . and (nothing).

Saves 224 bytes of BSS, 1832 bytes of RAM4/CCM, 952 bytes of TEXT, and 103 bytes of RODATA

* Instantiate a base_t to make debugging easier.
Also fixes crash on real firmware by using &m_base instead - LTO optimization issue?

* No magical templated StaticAlloc thingy.  Just virtual functions.
2021-11-21 04:56:07 -05:00
Matthew Kennedy 569415930c detect more overflows with asan (#3582)
* overflow detector

* type list dynamic allocate

* fix the buffer length

* comment

* pr fb

* sanitize sim

* fix sim sanitizer bug

* didn't mean to turn off optimization for sim

* asan can do that, if you turn it on!

* cleaning
2021-11-20 01:38:39 -05:00
rusefillc a3fc6d3e80 brave refactoring 2021-11-19 23:56:52 -05:00
Matthew Kennedy 7dee1e42eb adjust miata sync conditions (#3577) 2021-11-19 02:30:05 -05:00
Scott Smith 659cc68be1 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
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
rusefillc 8cb1f2545c trigger refactoring & docs 2021-11-14 15:35:11 -05:00
Matthew Kennedy af78ab76cb math is fun (#3545)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-14 15:32:35 -05:00
Matthew Kennedy 8edc91f657 mercedes two lobe trigger testing (#3543)
* mercedes

* config

* break;

* I did the gap ratio math wrong

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 21:50:04 -05:00
Scott Smith 93d31c6c9b Convert TriggerWaveform::wave to a pointer in preparation for code-defined sequences. (#3528)
It will eventually be class to support dynamic universal patterns in addition to ROM-based
tables.
2021-11-11 13:19:25 -05:00
Scott Smith aec887efc8 Change users of MultiChannelStateSequence to use the API (#3524)
Better than reaching into members that should be private. I didn't feel like actually making
them private though, as one user validates pinStates isn't NULL.
2021-11-11 09:19:22 -05:00
Scott Smith 1a299a3221 Move phaseCount into MultiChannelStateSequence (#3520)
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -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
Andrey 94faa375e1 reducing complexity 2021-11-07 01:57:32 -05:00
rusefillc d0a8bbc974 typo 2021-11-07 01:51:05 -05:00
rusefillc 4f6dc57d31 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:34:16 -04:00
rusefillc 73fe152db2 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:28:28 -04:00
rusefillc fd28e82f73 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
Matthew Kennedy 2c47f603fc make master happy (#3467) 2021-11-05 16:01:13 -04:00
Matthew Kennedy b41dbe2ed1 nissan MR18DE VVT cam pattern (#3466)
* refactoring nissan trigger

* comments

* plumbing

* b

* enums

* image

* image

* implement decoder

* reshuffle

* don't case unused

* dead trigger enums
2021-11-05 15:33:22 -04:00
Matthew Kennedy 6b85313b04 nissan 4yl crank pattern (#3462)
* refactoring nissan trigger

* comments

* plumbing

* b
2021-11-05 07:15:03 -04:00
Andrey cc0a93080f Honda K cam wheels #3405 2021-10-30 21:09:58 -04:00
Andrey 1685ec95cf Honda K cam wheels #3405 2021-10-28 19:26:59 -04:00
Andrey 94b5b3a089 Honda K cam wheels #3405 2021-10-28 11:40:31 -04:00
Andrey df67d76968 Honda K cam wheels #3405 2021-10-26 22:47:19 -04:00
rusefi 6c554e09f8 Honda K cam wheels #3405 2021-10-26 17:29:26 -04:00
rusefillc 996a39ba6e generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-25 11:05:45 -04:00
Andrey 98fe894ce1 Honda K cam wheels #3405 2021-10-24 17:12:19 -04:00
rusefillc 45e0a0403f very old very dead code 2021-10-20 12:57:07 -04:00
rusefillc b7f6c40847 https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 19:59:51 -04:00
Andrey de5af3f4ca https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 19:29:58 -04:00
rusefillc 6350d0923a https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 11:25:27 -04:00
rusefillc c89b06fa07 miata NB1 is a weird half-VR/half-Hall sensor 2021-09-29 14:31:36 -04:00
Matthew Kennedy 085709b6ba fix (#3253) 2021-09-21 00:27:14 -04:00
rusefillc 3962c20c3f https://rusefi.com/forum/viewtopic.php?f=5&t=2117 2021-09-12 13:58:03 -04:00
Andrey 60fdcbbd99 https://rusefi.com/forum/viewtopic.php?f=5&t=2117 2021-09-12 11:56:12 -04:00
rusefi fdab33d958 https://rusefi.com/forum/viewtopic.php?f=5&t=2117
Ford TFI PIP
2021-09-11 23:42:05 -04:00
rusefi ed7bb0389b https://rusefi.com/forum/viewtopic.php?f=5&t=2117
Ford TFI PIP
2021-09-11 23:16:22 -04:00
Matthew Kennedy 98c4e71f03 enable address sanitizer (#3217)
* enable asan

* lua

* this is dead and leaky

* leaky nissan

* fix pwm generator use-after-stack

* initializers

* prevent problems in case of invalid trigger shape

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-05 05:56:59 -04:00
Andrey G aead310023 Subaru svx trigger update (not vvt) (#3210)
* trigger: subaru: SVX: some comments

* trigger: subaru: svx: fix crank 2 offset

* trigger: subaru: svx: rework a bit

* trigger: subaru: svx: fix dtc position
2021-09-04 11:42:12 -04:00
rusefillc 67eb6d9936 Subaru svx vvt #3210
helping or not
2021-08-31 06:05:57 -04:00
rusefillc dff71b0764 Subaru svx vvt #3210
helping or not
2021-08-31 05:54:04 -04:00
rusefillc 07ac5049f4 docs 2021-08-31 04:27:31 -04:00
rusefillc 02bc451221 Pavel says there are issues 2021-08-11 04:16:51 -04:00
Andrey 76412dffde Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 06:16:19 -04:00
Andrey b5313d395e Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 04:56:56 -04:00
Andrey bbd855d62b Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 04:45:40 -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
rusefillc bc9f85ff31 safer NB2 progress (#3041)
* safer NB2 progress

* one step back
2021-07-23 16:43:24 -04:00
Matthew Kennedy 3cbd983c93 adjust nb2 vvt sync (#3019)
* test existing implementation

* nb2 vvt pattern sync

* update test
2021-07-21 20:07:28 -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
Andrey c9360448cc NB2 trigger shape does not seem to match JimStim #2980
only first steps of unit test
2021-07-17 17:47:32 -04:00
rusefillc a35e2cbb18 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 02:03:55 -04:00
Andrey 39364ced59 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 01:10:13 -04:00
Andrey 8a9999c87f refactoring 2021-07-17 00:56:50 -04:00
Andrey 46098135d9 refactoring 2021-07-17 00:53:51 -04:00
Andrey 1a2389b034 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:46:39 -04:00
Andrey d76132c206 refactoring 2021-07-17 00:46:39 -04:00
Andrey f69690a36a kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:27:56 -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
rusefillc 206bf7adc8 reducing warnings 2021-07-13 14:50:10 -04:00
Andrey 5416dd9906 refactoring - reusing magic constant 2021-07-05 23:07:36 -04:00
Andrey 2911e128d9 Nissan progress 2021-07-02 19:57:26 -04:00
Andrey 1fe9389ede Nissan VVT trigger decoder #2887 2021-07-01 23:53:53 -04:00
Andrey 11def6d9e3 Nissan VVT trigger decoder #2887 2021-07-01 22:27:43 -04:00
Andrey fd3aa4ec18 Nissan VVT trigger decoder #2887 2021-07-01 21:48:47 -04:00
Matthew Kennedy 9ae1ada582 Stricter miata sync (#2891)
* strict mazda trigger shape

* this is an even better gap

* sync point moved so things are different now

* fix

* update instantrpm in test

* s

* s

* this is safer

* test

* tests

* instant rpm

* cleanup
2021-07-01 21:29:04 -04:00
Andrey 6c7d2700b3 Nissan VVT trigger decoder #2887 2021-07-01 17:28:52 -04:00
Andrey eefba195d0 VW warnings on cranking #2861
same resilience for some other triggers
2021-06-27 13:29:09 -04:00