Commit Graph

182 Commits

Author SHA1 Message Date
Scott Smith d4c4db9a12
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 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
Andrey 9ac1575777 reducing complexity 2021-11-07 01:57:32 -05:00
rusefillc 656b8c3429 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
Matthew Kennedy 036c1b17d3
make master happy (#3467) 2021-11-05 16:01:13 -04:00
Matthew Kennedy 2b9696442e
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 365691cb37
nissan 4yl crank pattern (#3462)
* refactoring nissan trigger

* comments

* plumbing

* b
2021-11-05 07:15:03 -04:00
rusefillc 4ef959a60e generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-25 11:05:45 -04:00
Andrey 229419d04b Honda K cam wheels #3405 2021-10-24 17:12:19 -04:00
rusefillc eb05f4594e very old very dead code 2021-10-20 12:57:07 -04:00
Andrey b0ae87054a https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 19:29:58 -04:00
rusefillc eccdf18eec https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 11:25:27 -04:00
Andrey 301f5e7ec4 https://rusefi.com/forum/viewtopic.php?f=5&t=2117 2021-09-12 11:56:12 -04:00
rusefi 83c0372729 https://rusefi.com/forum/viewtopic.php?f=5&t=2117
Ford TFI PIP
2021-09-11 23:42:05 -04:00
Matthew Kennedy c72bd07179
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 526340de78 Subaru svx vvt #3210
helping or not
2021-08-31 06:05:57 -04:00
rusefillc 1a1b7f95c0 Subaru svx vvt #3210
helping or not
2021-08-31 05:54:04 -04:00
rusefillc 3d4ff9083b Pavel says there are issues 2021-08-11 04:16:51 -04:00
Andrey 167f2dbba0 Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 04:56:56 -04:00
Andrey a2d18fa0b7 Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 04:45:40 -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
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
Andrey 9345e5d2e0 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 180d7bc899 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 01:10:13 -04:00
Andrey f54b3cd1b2 refactoring 2021-07-17 00:46:39 -04:00
Andrey df558303d3 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:27:56 -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
rusefillc 090725d273 reducing warnings 2021-07-13 14:50:10 -04:00
Andrey 293bf45763 refactoring - reusing magic constant 2021-07-05 23:07:36 -04:00
Andrey 1660a5b3fd Nissan progress 2021-07-02 19:57:26 -04:00
Andrey ae7937402c Nissan VVT trigger decoder #2887 2021-07-01 22:27:43 -04:00
Andrey fccd13247b Nissan VVT trigger decoder #2887 2021-07-01 21:48:47 -04:00
Andrey 50e25605b8 Nissan VVT trigger decoder #2887 2021-07-01 17:28:52 -04:00
Andrey 41060a1235 VW warnings on cranking #2861
same resilience for some other triggers
2021-06-27 13:29:09 -04:00
Andrey eaff083377 refactoring - explicit read method 2021-06-26 22:17:07 -04:00
Andrey 1822426d0c refactoring - explicit read method 2021-06-26 22:11:42 -04:00
Andrey a5eeb19c4d refactoring - explicit read method 2021-06-26 22:07:45 -04:00
Andrey c13bb8dbe1 looks like this parameter is very well used now? 2021-06-21 02:12:14 -04:00
Andrey 0ad11168e8 Override trigger gaps feature #2734 2021-05-25 17:19:20 -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
rusefillc debd15991e Kawasaki KX450F trigger wheel #2538 2021-04-09 12:44:28 -04:00
rusefillc 2032e5fdb8 Kawasaki KX450F trigger wheel #2538 2021-04-08 22:16:14 -04:00
Matthew Kennedy 5e88376e2c
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 89b631a794
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 be70524ced
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 4e35176e81 TDC Trigger Position #2428
any single-tooth primary trigger should automatically run with "useOnlyPrimaryForSync = true;"
2021-03-08 00:00:48 -05:00
rusefillc 953990d10b Trigger pattern request Škoda Favorit fix #2302 2021-02-06 20:53:30 -05:00
rusefillc d95ba6b443 Trigger pattern request Škoda Favorit #2302 2021-02-06 20:12:58 -05:00
rusefillc 8ff61e9e68 GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-02 09:50:20 -05:00
rusefillc 11f9bf16f6 GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-01 23:18:11 -05:00
Matthew Kennedy 6a1b9db952
save 1440 bytes (#2226) 2021-01-16 21:22:30 -05:00
Matthew Kennedy a5266cd6ef
part of 2217 which may fix it alone (#2220) 2021-01-11 08:01:54 -05:00
rusefillc 8c38664084 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 9b5d45cb04 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 b1499d8a7f RAM efficiency of VR crank trigger shapes #2182 2021-01-04 00:26:05 -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
rusefillc 314e9ef580 TT_SUBARU_7_WITHOUT_6 2020-12-13 17:46:48 -05:00
rusefi 38bcd63e13 maybe this would just work? 2020-12-13 16:22:02 -05:00
rusefillc be2a34a956 refactoring: magic constants 2020-12-04 16:24:19 -05:00
rusefillc 9221a12d95 6.1 Hemi V8 decoder #2010 2020-12-04 15:22:53 -05:00
rusefillc 0a23e82baf 6.1 Hemi V8 decoder #2010 2020-12-04 00:30:22 -05:00
rusefillc 4c3eae5676 FORD ST170 CAM TRIGGER PATTERN fix #2009 2020-12-03 23:54:08 -05:00
rusefillc f021c37cc1 DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT fix #2008 2020-12-03 23:12:30 -05:00
rusefillc c55120372b DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008 2020-12-03 21:31:58 -05:00
rusefillc 745038c4a7 more dead code 2020-12-03 10:49:20 -05:00
rusefillc dd9e431782 dead code matches Mazda SOHC 2020-12-03 01:36:43 -05:00
rusefillc a2036ebc70 dead trigger, this would now be vvt+60/2 2020-12-03 01:22:57 -05:00
rusefillc 0ba97379fb all triggers should be documented way nicer #2001 2020-12-02 22:17:38 -05: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 23e0851101 adding 1+16 trigger 2020-09-28 21:18:47 -04:00
rusefi 10a6661fa5 VVT support for VAG trigger #883 2020-08-26 23:35:11 -04:00
rusefi 2ddf6ad717 VVT support for VAG trigger #883 2020-08-25 16:19:23 -04:00
rusefi 639e5be4d9 another attempt at dead code 2020-08-25 15:58:56 -04:00
rusefi b09091774a VVT support for VAG trigger #883 2020-08-25 12:45:18 -04:00
rusefi bfd5fb88d5 oh, here it is 2020-08-25 01:38:56 -04:00
rusefi b5098eb331 VVT support for VAG trigger #883 2020-08-25 01:24:15 -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 e936c2742c self-stimulation RPM is wrong by 50% if switching from NA6 to NB2 configuration fix #1682 2020-08-08 17:00:14 -04:00
dron0gus a2565b7849
triggers: add Subaru SVX trigger (3 sensors) (#1433) 2020-05-14 20:40:47 -04:00
rusefi 8d91cc65cc 34-2 3 cam Toyota wheel progress 2020-05-09 23:47:51 -04:00
rusefi 4ea0a3de26 nicer error messages 2020-05-09 01:49:17 -04:00
rusefi 6661c66e62 34-2 3 cam Toyota wheel progress 2020-05-09 01:15:55 -04:00
rusefi e18ee8c097 Bosch vvt shape #1368 2020-04-25 22:23:53 -04:00
rusefi 23e3d05d35 Bosch vvt shape #1368
skeleton
2020-04-25 19:50:43 -04:00
rusefi 71e7fb7e50 TT_RENIX_66_2_2_2 2020-04-19 14:54:02 -04:00
rusefi b287b2f339 TT_HONDA_K_12_1 2020-04-19 14:23:01 -04:00
rusefi c665e6b65d progress towards renix 66-2-2-2 2020-04-19 09:59:55 -04:00
rusefi be497685a0 Renix 44-2-2 2020-04-18 22:20:17 -04:00
rusefi 114b34a583 better trigger definition API 2020-04-18 20:28:03 -04:00
rusefi c166ee9d58 Fresh generated - auto 2020-04-18 16:40:59 -04:00
Matthew Kennedy 986b80671b
warnings (#1169) 2020-03-03 08:37:02 -05:00
rusefi 0d1f45422e cam/vvt decoder 2020-02-05 01:49:33 -05:00
rusefi 0c3f73c2b4 code style 2020-01-21 01:47:58 -05:00
rusefi 53433c88a7 trigger shape constraint validation 2020-01-14 03:54:46 -05:00
rusefi 0bab01369a refactoring: no need to specify parameter manually 2020-01-12 10:43:02 -05:00