Commit Graph

18 Commits

Author SHA1 Message Date
Matthew Kennedy ef9032bca4
Control injectors with a mask rather than pointers (#551)
* mostly implement

* tests

* tests

* tests

* properly handle single point injection

* fix tests

* fix tests

* scheduler

* format

* fix tests

* extract calculateInjectorOutputMask

* uncomment

* split injection just barely fits!

* provide a constructor so maybe mac is happy?

* don't bother storing the mask at all

* simplify

* make the pad bits predictable
2025-02-13 17:54:42 -08:00
Matthew Kennedy dd8dea61c0 rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
Matthew Kennedy 743bef85d2 minimum priming delay of 0.1 second 2024-06-14 23:12:03 -07:00
Matthew Kennedy cf87e64119 compile-time enforcement of printf strings 2024-06-10 00:51:14 -07:00
Matthew Kennedy 2dbe992780 priming debugging 2024-06-10 00:25:07 -07:00
Matthew Kennedy a39738d4af prime error logging 2024-06-09 22:06:46 -07:00
Matthew Kennedy 8c8d18e435 avoid float -> long 2024-05-11 13:35:04 -07:00
Matthew Kennedy 9efd565d29 avoid long -> float conversion 2024-05-11 13:13:59 -07:00
Matthew Kennedy afe8b23787 put all backup data in SRAM, not in RTC registers 2024-02-06 11:43:13 -08:00
Matthew Kennedy 13f9337d16 enum class-ify 2024-02-06 11:04:34 -08:00
Matthew Kennedy 9673ff01f3
implement staged injection (#331)
* output channel

* duty cycle etc math for second stage

* action_s utility

* basic enable switch

* staging fraction math

* implement staging logic

* wire up pins for second stage injectors

* staging UI

* Improve staged injection test, check scheduler arguments for other injection tests

* Stage 2 last pulse output channel, correct fuel consumption logic

* wall wet on the whole shot

* int vs size_t

* use a define instead of function so we get line numbers

* fix batch injection

* gauges

* bad test merge

* stub out secondary injector model
2024-01-07 15:22:39 -08:00
Matthew Kennedy 2118aaff60 Allow scheduling_s to come from a pool (#4841)
* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-12-10 17:55:51 -05:00
Matthew Kennedy d4a0c0417e refactor prime (#4627) 2022-09-28 07:53:12 -04:00
Andrey b95eeecb9b brutal encapsulation 2022-09-07 21:29:11 -04:00
Andrey 91179ac54b brutal encapsulation 2022-09-07 20:31:04 -04:00
Andrey a7c8ce61f4 brutal encapsulation 2022-09-07 19:37:11 -04:00
Andrey 4f3c0b3c60 extracting prime_injection 2022-09-07 16:27:56 -04:00
Andrey 8f14c44097 extracting prime_injection 2022-09-07 16:25:50 -04:00