Commit Graph

178 Commits

Author SHA1 Message Date
Andrey 25b6d39802 os_access.h dead? 2022-09-07 15:56:45 -04:00
Andrey 82fa9b191a refactoring: let's use different names for different things 2022-09-05 01:16:24 -04:00
Matthew Kennedy 0863ac1a11 rename and fix skyactiv cam mode (#4505) 2022-08-31 22:12:45 -04:00
Andrey 691306f12a TT_VVT_MAZDA_MYSTERY 2022-08-28 22:43:03 -04:00
rusefillc 35f17f38b3 TT_VVT_MAZDA_MYSTERY 2022-08-28 21:54:24 -04:00
Matthew Kennedy 234909a91f remove some uses of EFI_ERROR_CODE (#4496)
* lua hooks

* findAngleMatch

* s

* s
2022-08-28 09:43:21 -04:00
rusefillc cfd6828d42 Extra gap ratios for custom trigger wheels fix #4375
these lines are now part of shared method
2022-07-23 10:00:55 -04:00
rusefillc 60b8aa71de https://rusefi.com/forum/viewtopic.php?f=5&t=2353 2022-06-20 11:41:33 -04:00
rusefillc 22e3ab8220 https://rusefi.com/forum/viewtopic.php?f=5&t=2353 2022-06-20 07:43:23 -04:00
Matthew Kennedy 27c98f70fe cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit e64c8cfccb.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit 5454b8f509.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
Matthew Kennedy c2f61dc95f Remove third trigger channel (#4226)
* remove third trigger

* clean up the honda mess

* there was nothing novel about this engine config

* include

* missed a few

* s

* x

* changelog

* don't set the third trigger input

* don't redefine the same thing 3 times

* only two inputs!

* test
2022-06-01 21:24:20 -04:00
Matthew Kennedy 56e7acd869 Trigger cleanup init (#4222)
* extra parameter

* name decoders in constructor

* s
2022-06-01 00:55:34 -04:00
Matthew Kennedy 54c339c0a4 remove trigger duty cycle calculation (#4213)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix

* remove duty cycle thing
2022-05-30 22:39:57 -04:00
Matthew Kennedy 5f1801f9d6 trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy cf51533f45 More trigger encapsulation (#4207)
* trigger decoder returns a result

* TriggerFormDetails

* s

* don't reach out and touch the engine
2022-05-29 13:49:00 -04:00
Matthew Kennedy eb257b2335 12 tooth crank mode (#4179)
* 12 tooth crank

* comment

* s

* rusefi config
2022-05-17 21:38:24 -04:00
Matthew Kennedy fa835950a0 remove 360 trigger (#4165)
* remove 360

* s

* simplify that mess
2022-05-11 06:15:06 -04:00
Matthew Kennedy 997565ac22 Trigger gm 3 vs 5 (#4140)
* add parameter

* two modes

* add new mode to list

* format

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-06 08:25:44 -04:00
Matthew Kennedy 72e5604f9b fix 36-2 trigger params (#4138)
* fix gap params

* changelog was wrong too

* typo

* binary log knock count and retard

* Revert "binary log knock count and retard"

This reverts commit 48b29d24d72331065a9f648ef5bfe845d03575d6.
2022-05-05 07:41:26 +03:00
rusefillc fdeeaac1c8 Corolla 1ZZ 2003 trigger improvements fix #4132 2022-05-04 02:45:44 -04:00
rusefillc bc08418280 Proper cam speed labels in triggers #4021 2022-04-03 12:22:47 -04:00
Andrey 6c69e55ea0 Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 01:11:53 -04:00
rusefillc 2f66b6fe04 huh? 2022-04-02 21:01:29 -04:00
rusefillc 310a2044bd Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2022-04-01 21:11:32 -04:00
Andrey d97b2646ed new VVT trigger shape? 4-1 Toyota #1847 2022-03-23 19:25:13 -04:00
Andrey 63adb09089 new VVT trigger shape? #1847 2022-03-22 06:34:22 -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 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