Commit Graph

231 Commits

Author SHA1 Message Date
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
rusefi 978c3ff16d VVT support for VAG trigger #883
a bit of dead code?
2020-08-24 02:31:27 -04:00
rusefi 3c94ec8133 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 624ed955db triggers: add Subaru SVX trigger (3 sensors) (#1433) 2020-05-14 20:40:47 -04:00
rusefi 9c01614a46 34-2 3 cam Toyota wheel progress 2020-05-09 23:47:51 -04:00
rusefi 94ca216936 nicer error messages 2020-05-09 01:49:17 -04:00
rusefi 452a579e8e 34-2 3 cam Toyota wheel progress 2020-05-09 01:15:55 -04:00
rusefi 035d18e7ae Bosch vvt shape #1368 2020-04-25 22:23:53 -04:00
rusefi 52954733c7 Bosch vvt shape #1368
skeleton
2020-04-25 19:50:43 -04:00
rusefi 2f773c314a TT_RENIX_66_2_2_2 2020-04-19 14:54:02 -04:00
rusefi c1a4bd857b TT_HONDA_K_12_1 2020-04-19 14:23:01 -04:00
rusefi d74e7f5d11 progress towards renix 66-2-2-2 2020-04-19 09:59:55 -04:00
rusefi 89be50fd70 Renix 44-2-2 2020-04-18 22:20:17 -04:00
rusefi 4967e8ba7b better trigger definition API 2020-04-18 20:28:03 -04:00
rusefi 711c7c970a Fresh generated - auto 2020-04-18 16:40:59 -04:00
Matthew Kennedy eb46d7bd58 warnings (#1169) 2020-03-03 08:37:02 -05:00
rusefi 910a4d6706 cam/vvt decoder 2020-02-05 01:49:33 -05:00
rusefi 1a3bfa4b02 code style 2020-01-21 01:47:58 -05:00
rusefi 6c70f390da trigger shape constraint validation 2020-01-14 03:54:46 -05:00
rusefi abe1b8c1f3 refactoring: no need to specify parameter manually 2020-01-12 10:43:02 -05:00
rusefi 44c98029d7 fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi bcec694eb1 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi 561986d3e4 The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi c5e60a7f93 improving API? 2019-11-24 00:15:44 -05:00
rusefi 79ada84b56 'triggerEventAngle' not really needed 2019-11-23 17:44:44 -05:00
rusefi 3357e41614 evil manual merge of https://github.com/DonaldBecker/rusefi 2019-11-05 22:40:33 -05:00
rusefi 7e1e7629ee refactoring: better field name(s) 2019-10-08 01:03:57 -04:00
rusefi 46e1ff671a refactoring: better field name 2019-10-08 00:54:19 -04:00
rusefi ad9950a8d8 refactoring: better variable names 2019-10-08 00:42:47 -04:00
rusefi 0f248ff967 refactoring: better parameter name 2019-10-08 00:30:20 -04:00
rusefi 9112b7f797 WTF is wrong with MRE_miata_na6 config? operationMode complexity #898
fatal error is the best I can come up with quickly
2019-08-08 22:57:22 -04:00
rusefi 43962ccff0 WFT is wrong with MRE_miata_na6 config? operationMode complexity #898
more refactoring
2019-08-08 00:30:32 -04:00
rusefi d6cf6c312a refactoring: extracting method to facilitate debugging 2019-08-07 22:02:08 -04:00
rusefi 8f6ef7976c CBR600 trigger progress 2019-07-23 19:22:40 -04:00
rusefi 89557373e9 order of includes consistency 2019-07-05 20:03:32 -04:00
rusefi e309e223aa Refactoring: OS access should be explicit #867 2019-07-04 03:57:21 -04:00
Matthew Kennedy 515ab03688 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 aefcbe0895 refactoring: better method name 2019-05-02 18:05:33 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
dron0gus 19cdfab5f5 Cleanup fixes (#700)
* Kill some more warnings

* pin_repository: add markUnused, allow use from plain C

* ehiGpio.cpp: add forgotten GPIOG port
2019-03-08 07:01:15 -05:00
rusefi 34aa05cda9 refactoring: reducing code duplication 2019-02-23 12:33:49 -05:00
dron0gus 2027977e2c 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 8fee275f53 Refactor Trigger System #635
better field names
2019-02-03 01:49:41 -05:00
rusefi 8d3d716d7f Refactor Trigger System #635 2019-02-03 01:34:20 -05:00
rusefi 8d43038981 Refactor Trigger System #635 2019-02-03 01:27:47 -05:00
rusefi 4d368e0ca8 Refactor Trigger System #635 2019-02-03 01:04:24 -05:00
rusefi 01dc48ec00 Refactor Trigger System #635 2019-02-03 00:40:25 -05:00
rusefi cffac9b28e better conditional compilation 2019-01-31 18:30:40 -05:00
rusefi 9835a22fe8 refactoring: reducing header tree hell 2019-01-21 00:10:09 -05:00
rusefi 689726c801 enjoying C++11 2019-01-14 00:20:50 -05:00
rusefi 615a83cc5e Question: something strange trigger errors #662 2019-01-11 09:24:24 -05:00
rusefi 095d9d4417 #625 big step - no more engine dependency from TriggerShape 2018-12-25 22:47:29 -05:00