Commit Graph

70 Commits

Author SHA1 Message Date
rusefillc b555d9e82b toothed previous time #4019 2022-03-21 20:41:09 -04: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
Matthew Kennedy b9f8409f59 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 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 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
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 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
Andrey 9ad5ec8044 refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey bb5500dbb3 Trigger: warning code on normal engine start up #669
better TDC unit test approach?
2021-06-25 13:19:16 -04:00
Andrey 8d4b9c4535 Trigger: warning code on normal engine start up #669
making more code unit-testable
2021-06-25 12:50:19 -04:00
Andrey 57094f43cc refactoring: reducing code duplication 2021-06-25 10:55:46 -04:00
rusefillc 08e8764051 RAM efficiency of VR crank trigger shapes #2182 2021-01-04 00:26:05 -05:00
rusefillc 5ae3347927 6.1 Hemi V8 decoder #2010 2020-12-04 16:03:27 -05:00
rusefillc d191d31272 all triggers should be documented way nicer #2001 2020-12-04 14:00:49 -05:00
rusefillc d3a21bcb63 6.1 Hemi V8 decoder #2010 2020-12-04 01:02:09 -05:00
Matthew Kennedy e112bbd07e 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 060cfbd778 const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
rusefi f268af5165 const 2020-08-26 17:30:13 -04:00
rusefi 4ccb209df3 VVT support for VAG trigger #883 2020-08-24 02:23:13 -04:00
rusefi bdbee0d38b VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 0f9e8bf83e VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
rusefi f5f416951a Trigger gap-check toothDuration array samples time at any event? fix #1658 2020-07-30 19:24:55 -04:00
rusefi adbaf9e179 better unit test logging 2020-07-19 14:17:15 -04:00
rusefi 4dd9edfcff reusing constant 2020-01-28 00:27:30 -05:00
rusefi ae228dff0e trigger refactoring 2020-01-26 14:20:55 -05:00
rusefi 19d318c8ee trigger refactoring 2020-01-26 13:51:35 -05:00
rusefi dfa8d9ccc9 refactoring trigger 2020-01-26 03:33:45 -05:00
rusefi 4f5aeea301 trigger refactoring 2020-01-25 02:00:33 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
rusefi bcec694eb1 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi a5ee6b13d5 Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -05:00
rusefi edabed50f5 Refactor Trigger System #635
injecting callback via parameters via magic and potentially broken field manipulation
2019-12-06 01:05:19 -05:00
rusefi 561986d3e4 The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi f34023a9ea Trying latest gcc 9 #1001 2019-11-07 11:28:49 -05:00
rusefi d6cf6c312a refactoring: extracting method to facilitate debugging 2019-08-07 22:02:08 -04:00
rusefi 6bda683fba random cleanup 2019-04-14 13:52:27 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
rusefi 4873082017 refactoring trigger simulation 2019-03-04 01:10:31 -05:00
rusefi 485b915499 reducing code duplication 2019-03-04 00:40:22 -05:00
rusefi 713c029918 minor clean-up 2019-01-13 23:05:03 -05:00
rusefi e044e838fd making validation stronger 2018-10-28 17:20:43 -04:00
rusefi 553969dc72 refactoring 2018-09-16 22:26:57 -04:00
rusefi 60b3aa8e60 unique error codes #598 2018-07-25 23:03:04 -04:00
rusefi a489d30fe2 better state validation 2018-02-28 07:26:42 -05:00
rusefi dee3a86cb1 unused parameter 2018-02-06 01:44:10 +03:00
rusefi e430daf7bb better name & dead parameter 2018-02-06 01:41:05 +03:00
rusefi 61bb2a0475 docs & names 2018-02-06 01:16:34 +03:00
rusefi f5a4376036 happy new year 2018-01-20 20:55:31 -05:00
rusefi 726e49a182 docs 2017-10-16 14:01:39 -04:00
rusefi f8e592f454 better macro name 2017-05-15 23:28:49 -04:00