Commit Graph

363 Commits

Author SHA1 Message Date
Scott Smith 69d36dad6e
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 823d9a07e0
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 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
rusefillc 0813266ee1 trigger refactoring & docs 2021-11-14 15:35:11 -05:00
Matthew Kennedy a7ba539e70
math is fun (#3545)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-14 15:32:35 -05:00
Matthew Kennedy d591a5ad26
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 713083baa5
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 2f4d123052
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 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 5de6c2a270 typo 2021-11-07 01:51:05 -05:00
rusefillc 20784db801 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:34:16 -04:00
rusefillc 0af09f596c refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:28:28 -04: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
Andrey 61777564d4 Honda K cam wheels #3405 2021-10-30 21:09:58 -04:00
Andrey a6a969390f Honda K cam wheels #3405 2021-10-28 19:26:59 -04:00
Andrey de350131e6 Honda K cam wheels #3405 2021-10-28 11:40:31 -04:00
Andrey 484d078752 Honda K cam wheels #3405 2021-10-26 22:47:19 -04:00
rusefi 30f9c57f70 Honda K cam wheels #3405 2021-10-26 17:29:26 -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
rusefillc 8a2472126a https://rusefi.com/forum/viewtopic.php?f=5&t=2143 Suzuki G13B tooth pattern 2021-10-04 19:59:51 -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
rusefillc 58cd414c0a miata NB1 is a weird half-VR/half-Hall sensor 2021-09-29 14:31:36 -04:00
Matthew Kennedy 35e1a7cc0c
fix (#3253) 2021-09-21 00:27:14 -04:00
rusefillc 7fc88fa304 https://rusefi.com/forum/viewtopic.php?f=5&t=2117 2021-09-12 13:58:03 -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
rusefi 48c516f9f7 https://rusefi.com/forum/viewtopic.php?f=5&t=2117
Ford TFI PIP
2021-09-11 23:16:22 -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
Andrey G 39664d98a0
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 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 6ea76921f4 docs 2021-08-31 04:27:31 -04:00
rusefillc 3d4ff9083b Pavel says there are issues 2021-08-11 04:16:51 -04:00
Andrey 08dff4ceb6 Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 06:16:19 -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
rusefillc 23842bf143
safer NB2 progress (#3041)
* safer NB2 progress

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

* nb2 vvt pattern sync

* update test
2021-07-21 20:07:28 -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
rusefillc 6da3310d97 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 02:03:55 -04:00
Andrey 180d7bc899 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 01:10:13 -04:00
Andrey ffe2fe3271 refactoring 2021-07-17 00:56:50 -04:00
Andrey d583c91a7a refactoring 2021-07-17 00:53:51 -04:00
Andrey d16d6dd58d kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:46:39 -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 ab8bb3a5cb Nissan VVT trigger decoder #2887 2021-07-01 23:53:53 -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
Matthew Kennedy 025c32de00
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 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 2e252022aa VW warnings on cranking #2861 2021-06-27 12:31:18 -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
rusefillc 0af5de0934
Minor change of Miata NA trigger shape #2855 #669 (#2856)
* Minor change of Miata NA trigger shape #2855 #669

* Minor change of Miata NA trigger shape #2855 #669
2021-06-25 14:12:18 -04:00
Andrey 3092164e48 Minor change of Miata NA trigger shape #2855 #669 2021-06-24 22:21:30 -04:00
Andrey 03f18cd0c8 OMG dead code?! 2021-06-24 22:01:57 -04:00
Andrey c13bb8dbe1 looks like this parameter is very well used now? 2021-06-21 02:12:14 -04:00
Andrey G e561836c58
trigger: subaru 7+6: update cranck angles, add comments (#2789) 2021-06-02 19:19:52 +03:00
Andrey G 8ee700bf76
Subaru svx (#2777)
* Revert "hiding 3rd channel for now"

This reverts commit 50682816ac.

* trigger subaru SVX: disable cranck #2 channel

* Board subaru-eg33: fix D10 pin defined twice

* Board subaru-eg33: renumber ignition ouput according cylinder order

* board subaru eg33: use common_make.sh to get dfu files

* board subaru-eg33: update default configuration
2021-05-31 04:25:57 -04:00
Andrey 39bc62ff2e SVX 2021-05-30 19:59:13 -04:00
Andrey 50682816ac hiding 3rd channel for now 2021-05-29 04:09:12 -04:00
Andrey 4216080e49 subaru 7/6 progress based on https://rusefi.com/forum/viewtopic.php?p=41021#p41021 2021-05-26 06:07:31 -04:00
Andrey 9f6ed75582 subaru 7/6 progress based on https://rusefi.com/forum/viewtopic.php?p=41021#p41021 2021-05-26 05:29:41 -04:00
Andrey 2581a53e0d subaru 7/6 progress based on https://rusefi.com/forum/viewtopic.php?p=41021#p41021 2021-05-26 04:46:17 -04:00
Andrey 0ad11168e8 Override trigger gaps feature #2734 2021-05-25 17:19:20 -04:00
rusefillc cc861e1862 Subaru 7+6 trigger refactoring, not changing gap ratio much 2021-05-25 16:31:37 -04:00
Andrey cd5653ff84 Override trigger gaps feature #2734 2021-05-23 20:52:18 -04:00
Andrey 17f07b6b0e Override trigger gaps feature #2734 2021-05-23 19:51:00 -04:00
David Holdeman 6d4060d824
Doxygen titles (#2728)
* move addRow call

* undo submo bump

* add header titles
2021-05-22 22:10:58 +03:00
rusefillc 2575c8beeb Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2021-04-30 01:05:23 -04:00
rusefillc ac2d0b99cd https://rusefi.com/forum/viewtopic.php?f=2&t=1993 2021-04-24 22:54:50 -04:00
Matthew Kennedy a70f113b77
finish it off: remove scheduleMsg (#2575)
* finish it off

* one more logger ptr

* fwd decl

* Revert "one more logger ptr"

This reverts commit a21fb0087ddc748978d716db2710800cf26e437b.

* unused

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 15:33:40 -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 2b6345070f WOW major scheduling drama on NB2 running with Proteus #2533 2021-04-15 19:12:09 -04:00
rusefillc 2b8ec15071 WOW major scheduling drama on NB2 running with Proteus #2533
totally same numbers for NB1 just simpler code
2021-04-15 18:44:37 -04:00
rusefillc 3c6c4595c2 WOW major scheduling drama on NB2 running with Proteus #2533
removing weird comments
2021-04-15 18:22:23 -04:00
rusefillc 79e0d6ebd4 dead code - same value set by 's->initialize' 2021-04-13 01:11:03 -04:00
rusefillc 01344ec851 Kawasaki KX450F trigger wheel #2538 2021-04-13 00:24:52 -04:00
rusefillc 027a9efdc8 https://rusefi.com/forum/viewtopic.php?p=40383 2021-04-11 18:20:35 -04:00