Commit Graph

71 Commits

Author SHA1 Message Date
Matthew Kennedy d4509cab8a
TriggerState -> TriggerDecoder (#4157) 2022-05-10 11:41:39 +03:00
rusefillc b1de262520 toothed previous time #4019 2022-03-21 20:41:09 -04:00
Scott Smith ba4a00d3bb
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
Matthew Kennedy 9a28e8d938
correctly compute engine revolution number (#3586)
* add param

* first revolution is revolution 0, not revolution 1

* would you look at that, we sync one rev quicker!

* changelog

* rpm value
2021-11-21 09:01:27 +03: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 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
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 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
Andrey f5e937fe2b refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey 942eb46471 Trigger: warning code on normal engine start up #669
better TDC unit test approach?
2021-06-25 13:19:16 -04:00
Andrey c40f801e6d Trigger: warning code on normal engine start up #669
making more code unit-testable
2021-06-25 12:50:19 -04:00
Andrey 0c97b4bc83 refactoring: reducing code duplication 2021-06-25 10:55:46 -04:00
rusefillc b1499d8a7f RAM efficiency of VR crank trigger shapes #2182 2021-01-04 00:26:05 -05:00
rusefillc 2524b7b8c2 6.1 Hemi V8 decoder #2010 2020-12-04 16:03:27 -05:00
rusefillc 61925aad15 all triggers should be documented way nicer #2001 2020-12-04 14:00:49 -05:00
rusefillc 8e13892736 6.1 Hemi V8 decoder #2010 2020-12-04 01:02:09 -05:00
Matthew Kennedy c9fdde4472
remove virtual calls from hot path (#1857)
* const ref-ify

* no virtual 

* even more const

* tests

* fix tests
2020-10-05 16:42:50 -04:00
Matthew Kennedy 5925a5f4bd
const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
rusefi 0c5db46438 const 2020-08-26 17:30:13 -04:00
rusefi a98c622b54 VVT support for VAG trigger #883 2020-08-24 02:23:13 -04:00
rusefi 7867e83e43 VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 95bd50da94 VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
rusefi 74f8efd7e1 Trigger gap-check toothDuration array samples time at any event? fix #1658 2020-07-30 19:24:55 -04:00
rusefi fbfef8290c better unit test logging 2020-07-19 14:17:15 -04:00
rusefi 688a85a25d reusing constant 2020-01-28 00:27:30 -05:00
rusefi 282cd8e1ac trigger refactoring 2020-01-26 14:20:55 -05:00
rusefi a53d9c587a trigger refactoring 2020-01-26 13:51:35 -05:00
rusefi db2ab72d12 refactoring trigger 2020-01-26 03:33:45 -05:00
rusefi 0f23faba28 trigger refactoring 2020-01-25 02:00:33 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
rusefi c5cfd21a70 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi d6471a84bc Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -05:00
rusefi 717abd6b67 Refactor Trigger System #635
injecting callback via parameters via magic and potentially broken field manipulation
2019-12-06 01:05:19 -05:00
rusefi 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi 42cd78fbd5 Trying latest gcc 9 #1001 2019-11-07 11:28:49 -05:00
rusefi 676035f950 refactoring: extracting method to facilitate debugging 2019-08-07 22:02:08 -04:00
rusefi 7be441a1bc random cleanup 2019-04-14 13:52:27 -04:00
rusefi 541c445a2d defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
rusefi 84c1b3581d refactoring trigger simulation 2019-03-04 01:10:31 -05:00
rusefi 8decc09edf reducing code duplication 2019-03-04 00:40:22 -05:00
rusefi c459020fdd minor clean-up 2019-01-13 23:05:03 -05:00
rusefi af25eb8c6d making validation stronger 2018-10-28 17:20:43 -04:00
rusefi 1f90cf153d refactoring 2018-09-16 22:26:57 -04:00
rusefi 959a91ae4c unique error codes #598 2018-07-25 23:03:04 -04:00
rusefi f1cdc789d2 better state validation 2018-02-28 07:26:42 -05:00
rusefi 9823e83a3d unused parameter 2018-02-06 01:44:10 +03:00
rusefi f02258538a better name & dead parameter 2018-02-06 01:41:05 +03:00
rusefi 3d5e93534d docs & names 2018-02-06 01:16:34 +03:00
rusefi 1d31067d19 happy new year 2018-01-20 20:55:31 -05:00
rusefi 898fb111c8 docs 2017-10-16 14:01:39 -04:00