Andrey
ef3248c245
Mitsubishi 3A92 Support - 3 cylinder #4011
2022-03-19 22:06:19 -04:00
Andrey
d8ac904a28
Mitsubishi 3A92 Support - 3 cylinder #4011
2022-03-19 17:57:35 -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
b0c1a8fb2e
MAP phase sensing fix #3544
...
removing dead implementation
2021-12-16 21:28:27 -05: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
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
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
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
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
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
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
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
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
02bc451221
Pavel says there are issues
2021-08-11 04:16:51 -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
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
Andrey
39364ced59
kaiju is asking for vq30de trigger wheel decoder #2974
2021-07-17 01:10:13 -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
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
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
Andrey
4627707e1c
refactoring - explicit read method
2021-06-26 22:17:07 -04:00
Andrey
25afc6e67c
refactoring - explicit read method
2021-06-26 22:11:42 -04:00
Andrey
1003056f85
refactoring - explicit read method
2021-06-26 22:07:45 -04:00
Andrey
7e0d83d54b
looks like this parameter is very well used now?
2021-06-21 02:12:14 -04:00
Andrey
e4497358f5
Override trigger gaps feature #2734
2021-05-25 17:19:20 -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
rusefillc
2547283f45
Kawasaki KX450F trigger wheel #2538
2021-04-09 12:44:28 -04:00
rusefillc
06ada8562b
Kawasaki KX450F trigger wheel #2538
2021-04-08 22:16:14 -04:00
Matthew Kennedy
db7856523c
barra vvt cam pattern ( #2483 )
...
* barra vvt cam pattern
* two tooth sync
* I think this needs to be here too
2021-03-22 07:48:29 -04:00
Andrey G
aa05ff195d
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
925a6ca086
harden against various no-boot scenarios ( #2468 )
...
* zero length trigger
* validate config
* validate cylinder count
* wrong type on cylinder count
* invalid comment
* invalid SPI
2021-03-17 09:24:13 -04:00
rusefillc
c954803292
TDC Trigger Position #2428
...
any single-tooth primary trigger should automatically run with "useOnlyPrimaryForSync = true;"
2021-03-08 00:00:48 -05:00
rusefillc
11e8a35c15
Trigger pattern request Škoda Favorit fix #2302
2021-02-06 20:53:30 -05:00
rusefillc
4dc9c013c9
Trigger pattern request Škoda Favorit #2302
2021-02-06 20:12:58 -05:00
rusefillc
0f49d48a42
GM/Daewoo 60/2/2/2 Trigger Pattern #2264
2021-02-02 09:50:20 -05:00
rusefillc
6043d6d8f2
GM/Daewoo 60/2/2/2 Trigger Pattern #2264
2021-02-01 23:18:11 -05:00
Matthew Kennedy
a294dfeadd
save 1440 bytes ( #2226 )
2021-01-16 21:22:30 -05:00
Matthew Kennedy
c870215c46
part of 2217 which may fix it alone ( #2220 )
2021-01-11 08:01:54 -05:00
rusefillc
3ed2cdcc72
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 23:34:19 -05:00
rusefillc
da8c1a3ed4
Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912
2021-01-04 21:05:16 -05:00
rusefillc
08e8764051
RAM efficiency of VR crank trigger shapes #2182
2021-01-04 00:26:05 -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
rusefillc
4c2ea35269
TT_SUBARU_7_WITHOUT_6
2020-12-13 17:46:48 -05:00
rusefi
1a205b9973
maybe this would just work?
2020-12-13 16:22:02 -05:00
rusefillc
9871d5b501
refactoring: magic constants
2020-12-04 16:24:19 -05:00
rusefillc
45e47220ab
6.1 Hemi V8 decoder #2010
2020-12-04 15:22:53 -05:00
rusefillc
eb3dd94390
6.1 Hemi V8 decoder #2010
2020-12-04 00:30:22 -05:00
rusefillc
9a897007c4
FORD ST170 CAM TRIGGER PATTERN fix #2009
2020-12-03 23:54:08 -05:00
rusefillc
c6d49e9621
DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT fix #2008
2020-12-03 23:12:30 -05:00
rusefillc
c9a5a41a2f
DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008
2020-12-03 21:31:58 -05:00
rusefillc
ba0503177c
more dead code
2020-12-03 10:49:20 -05:00
rusefillc
bcd5e029fa
dead code matches Mazda SOHC
2020-12-03 01:36:43 -05:00
rusefillc
238e639c53
dead trigger, this would now be vvt+60/2
2020-12-03 01:22:57 -05:00
rusefillc
7327fd6e6c
all triggers should be documented way nicer #2001
2020-12-02 22:17:38 -05: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
2836954b9c
adding 1+16 trigger
2020-09-28 21:18:47 -04:00
rusefi
e46681f552
VVT support for VAG trigger #883
2020-08-26 23:35:11 -04:00
rusefi
22f6063d9f
VVT support for VAG trigger #883
2020-08-25 16:19:23 -04:00
rusefi
5718d93c44
another attempt at dead code
2020-08-25 15:58:56 -04:00
rusefi
470a9f5a5a
VVT support for VAG trigger #883
2020-08-25 12:45:18 -04:00
rusefi
536fb52365
oh, here it is
2020-08-25 01:38:56 -04:00
rusefi
1b49c57bc1
VVT support for VAG trigger #883
2020-08-25 01:24:15 -04:00
rusefi
7d53f5859d
VVT support for VAG trigger #883
2020-08-25 00:59:07 -04:00