Commit Graph

119 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
rusefillc bee1eb2c6b very old very dead code 2021-10-20 10:38:36 -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 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 eceaa1f377 Nissan VVT trigger decoder #2887
that looks like one bug
2021-07-05 22:44:20 -04:00
Matthew Kennedy ee6f49e65f Consolidate hwHandleShaftSignal (#2875)
* consolidate trigger input

* merge functions

* comment

* dead

* hw vs. not hw

* stray comma

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-28 10:06:22 -04:00
Andrey 0668bf899e so many wonderful discoveries 2021-06-27 00:54:38 -04:00
Matthew Kennedy 95f9e949a5 fix trigger changed logic (#2860)
* reenable

* fix

* longer interval between updates

* only deinit hard trigger outputs if necessary

* init logic

* init order

* warning

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-25 19:38:42 -04:00
Andrey 1b968fbcbc helping build? 2021-06-25 12:28:55 -04:00
Andrey da2e7101aa refactoring 2021-06-25 12:01:59 -04:00
Andrey bd29dedbca Trigger: warning code on normal engine start up #669
making more code unit-testable
2021-06-25 11:50:23 -04:00
Andrey 742935567b Trigger: warning code on normal engine start up #669
making more code unit-testable
2021-06-25 11:30:06 -04:00
Andrey 57094f43cc refactoring: reducing code duplication 2021-06-25 10:55:46 -04:00
rusefi 7300bbe750 improving QC process 2021-04-23 00:45:36 -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
Matthew Kennedy c168c748ea dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
Matthew Kennedy ce3878949c stop trigger emulator PWM when disabled (#2443)
* simplify trig emulator

* spelling is hard

* fix various builds

* spelling again

* add command/button for external stimulation

* enable hw stim for HW-in-loop test

* s

* I does spelling good

* clear flag when disabled

* generate enough for console build

* don't disable that

* this test needs external stimulation enabled

* import

* ui improvements

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-11 08:38:52 -05:00
Andrey G b61ae75fe2 gpio helper (#2195)
* gpios: isBrainPinValid helper

* LCD HD44780: do not touch pins if DM_NONE or invalid gpio

* Fix isEnabled checks for GPS and Joystick

* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -05:00
rusefillc 72759ab4a8 Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912 2021-01-04 21:30:54 -05:00
Matthew Kennedy 30fd52d82d Fix gpio reinit race condition (#2098)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize
2020-12-18 17:18:12 -05:00
Matthew Kennedy 08d77ffd32 init pins (#2095) 2020-12-18 01:30:17 -05:00
rusefillc 166167f805 basic hw in the loop - pwm self validation #2028 2020-12-08 05:30:12 -05:00
rusefillc d6ea410424 basic hw in the loop - pwm self validation #2028 2020-12-08 05:07:03 -05:00
rusefillc 2f15c08498 basic hw in the loop - pwm self validation #2028 2020-12-08 04:52:49 -05:00
rusefillc b463166297 minor fixes 2020-12-06 19:25:48 -05:00
Matthew Kennedy f6f3e514d2 trigger/scheduler perf improvements (#1885)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out
2020-10-16 11:04:27 -04:00
Matthew Kennedy 060cfbd778 const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
rusefi 0007927b83 better variable name 2020-08-25 01:07:32 -04:00
rusefi 64a9440bc0 trigger and VSS hw integrated testing #1668 2020-08-08 11:45:02 -04:00
rusefi 0ec3ce595e dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy e89b7b4b11 trigger emulator refactoring (#1358)
* trigger gen refactoring

* missed one

* fix makefile

* commentary

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-24 14:00:06 -04:00
Matthew Kennedy 39c84378eb don't store self stim in config (#1356)
* kill

* add bench test

* fix
2020-04-23 22:38:14 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
Matthew Kennedy cb1039fe23 Inject timestamps in to hwHandleShaftSignal (#1090)
* injection

* injectors
2020-01-09 21:19:11 +03:00
rusefi 3ed388d1ad refactoring & fixing build 2019-12-21 20:43:11 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi bcec694eb1 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi e60515789a The Big Refactoring of 2019: folder structure #723 2019-12-04 01:15:52 -05:00
rusefi 561986d3e4 The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi c5f12fbcd9 I got carried away, but DEAD CODE?! 2019-10-08 03:14:21 -04:00
rusefi 334f021137 WFT is wrong with MRE_miata_na6 config? operationMode complexity #898
more refactoring
2019-08-08 00:32:31 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
rusefi 8f4795d9fa smarter PWM API - need to pass arbitrary pointer 2019-04-12 20:15:18 -04:00
rusefi 54f83a431e smarter PWM API - need to pass arbitrary pointer 2019-04-12 20:11:27 -04:00
rusefi cad2297a72 smarter PWM API - need to pass arbitrary pointer 2019-04-12 20:06:09 -04:00
rusefi e28ce71bb8 unifying_file_naming 2019-03-29 09:11:13 -04:00