Commit Graph

201 Commits

Author SHA1 Message Date
Matthew Kennedy 9dcf76d99c
Remove stack checks (#558)
* remove stack checks

* put one back
2025-02-18 17:33:24 -08:00
Matthew Kennedy f6e4239bcb reset ignition schedule too on trigger loss 2025-02-13 23:19:34 -08:00
Matthew Kennedy 2d96259667 move output channel fuel/spark cut update to limp 2025-01-18 16:03:07 -08:00
Matthew Kennedy 8952633854 int rpm -> float rpm 2024-09-25 00:16:53 -07:00
Matthew Kennedy b5271f0991 misc logging cleanup 2024-09-18 22:17:07 -07:00
Matthew Kennedy 761efd862c
MAP avg uses engine module callbacks (#475)
* use engine module callbacks

* happy tests

* happy small-can-board

* interact with map avg via module

* simplify map avg init

* tweaks

* omit module to disable it instead!

* unnecessary guard

* minor cleanups

* unnecessary branch - lookups for these tables are fine at 0 rpm

* oop
2024-08-29 22:38:30 -07:00
Matthew Kennedy 12321d4325 map averaging includes 2024-08-29 13:29:53 -07:00
Matthew Kennedy 75a50695c6 extend engineModules.apply_all to onEnginePhase 2024-08-28 02:26:16 -07:00
Matthew Kennedy 23cfa4e2c6 Schedule MAP by angle instead of tooth #38
Do MAP sampling like we do ignition/fuel, rather than scheduling everything at once at the same trigger tooth.
2024-08-28 01:39:49 -07:00
Matthew Kennedy 7ffbaf4e5e decouple MAP sampling from trigger central 2024-08-28 01:19:53 -07:00
Matthew Kennedy be00d34d0c put fuel scheduling actually in fuel_schedule.cpp 2024-02-16 13:49:42 -08:00
rusefillc 6ef65a39c4
encapsulation? (#337)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-01-14 14:29:20 -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 a45b9ab611 minor housekeeping 2024-01-06 23:10:56 -08:00
Matthew Kennedy 05c5282aa3 remove inaccurate comments - we have ignition overdwell protect 2024-01-06 20:28:02 -08:00
Matthew Kennedy 7e2097056c unused parameters 2024-01-06 18:31:18 -08:00
Matthew Kennedy 21998dae2d tests 2023-11-01 15:14:53 -07:00
Matthew Kennedy 38c873252e
smarter injector duty cycle limiting (#215)
* config for duty cycle limiting

* implement timeout duty cycle limiting

* comment

* make overlapping injections actually work!

* missed one

* test

* call addFuelEvents from fast callback

* update comment about why we call it again in main trigger callback

* one more extra call

* undo addFuelEvents change

* cleanup

* minor encapsulation

* fix

* changelog

* dead obd code
2023-10-14 14:27:19 -07:00
Matthew Kennedy e09ed790eb extract injection refactoring from #215 2023-10-12 18:00:33 -07:00
Matthew Kennedy 4b354f047b
trip odometer (#260) 2023-09-25 13:16:17 -07:00
Matthew Kennedy 04e6f45ce9 log per-cylinder timing #76 2023-05-31 11:38:06 -07:00
Matthew Kennedy ad3ea57276 tooth_logger.h -> pch 2023-05-30 22:41:20 -07:00
Matthew Kennedy d5f9479f28
ObdCode is enum class (#77)
* change ObdCode to enum class builds firmware

* test builds

* don't need this line at all

* can we go down to uint16_t?
2023-04-12 23:44:33 -07:00
Matthew Kennedy 5d7a30ce2b no qc 2023-02-22 14:53:31 -08:00
Matthew Kennedy 0e12622371 cdm ion 2023-02-20 22:37:14 -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 29db8e2474 Combine angle based event (#4884)
* Remove AngleBasedEventOld/New, only AngleBasedEvent now

* this 7 year old comment of old test code can go away
2022-12-10 17:07:02 -05:00
Matthew Kennedy a58e687d2f TriggerScheduler cleanup (#4844)
* TriggerScheduler cleanup

* remove TRIGGER_EVENT_UNDEFINED

* remove dead overload of scheduleOrQueue

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-28 08:55:38 -05:00
Matthew Kennedy 36d9eb4164 plumbing for 4513 (#4599)
* plumbing for 4513

* not static
2022-09-20 06:19:51 -04:00
Matthew Kennedy 4e78c4c922 two modes trigger scheduler (#4598)
* two modes trigger scheduler

* asOld

* hpfp
2022-09-20 05:28:23 -04:00
Matthew Kennedy e737141a6f add fuel/spark cut codes to TS indicators (#4592)
* add fuel/spark cut codes to TS indicators

* fix list

* only set clearReason if not cleared
2022-09-19 22:01:03 -04:00
rusefillc d423c077a0 moving acceleration around 2022-09-16 00:06:57 -04:00
rusefillc f919845c9c tear down Engine god object #4511
oh I hope this ends well
2022-09-15 23:41:06 -04:00
rusefillc c77ac3c42e tear down Engine god object #4511 2022-09-15 22:21:07 -04:00
Andrey f5a5764429 deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:35:55 -04:00
Andrey 867cc73950 moving IO-only away from scheduling logic 2022-09-14 00:55:55 -04:00
Andrey 556427b01d moving IO-only away from scheduling logic 2022-09-14 00:52:24 -04:00
rusefillc f97c5ed8fd i suspect that no one cares about these 2022-09-14 00:34:04 -04:00
Andrey 5dc26a7717 refactoring: brining stuff closer 2022-09-08 00:19:24 -04:00
Andrey dea9090fd0 refactoring: better place for cam validation 2022-09-07 23:31:44 -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 f8d275f64b tear down Engine god object #4511
just trying different things
2022-09-07 20:25:49 -04:00
Andrey e734bd7b07 brutal encapsulation 2022-09-07 20:20:29 -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
Andrey 7369126d91 tear down Engine god object #4511
just trying different things
2022-09-07 15:38:15 -04:00
rusefillc 8c10cf22c4 Engine Sniffer into TS data logs fix #4535 (#4537) 2022-09-05 19:49:27 -04:00
Andrey fe8553ed9d tear down Engine god object #4511
just trying different things
2022-09-05 04:28:47 -04:00