Commit Graph

526 Commits

Author SHA1 Message Date
Matthew Kennedy dea17ffc5d formatting: (void) and trailing whitespace 2024-09-17 15:41:39 -07:00
Matthew Kennedy ec043ad81f getVVTPosition returns expected<> 2024-09-12 21:25:18 -07:00
Matthew Kennedy 40dfd1e205 give dwell metric its own channel 2024-09-01 16:48:40 -07:00
Matthew Kennedy 51a23364e2
Odd cylinder engine wasted spark (#479)
* allow wasted spark spin-up

* allow firing without phase sync on odd cyl engines

* support odd cyl wasted spark

* changelog

* unit test it

* wow, it's easy to support odd-fire too
2024-08-31 02:22:31 -07:00
Matthew Kennedy 397e3dcd04 hoist dwellMs/angle/sparkangle 2024-08-31 00:44:21 -07:00
Matthew Kennedy 3fc42222cc hoist dwell check out of loop 2024-08-31 00:37:27 -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 6fc52a1430 move map averaging to module 2024-08-29 13:26:57 -07:00
Matthew Kennedy 6af46b59a9 MAP averaging can use common math for cyl offset calc 2024-08-28 02:58:21 -07:00
Matthew Kennedy 75a50695c6 extend engineModules.apply_all to onEnginePhase 2024-08-28 02:26:16 -07:00
Matthew Kennedy f80ffd4ddf clamp map sampling duration to fit between cylinders 2024-08-28 01:48:41 -07:00
Matthew Kennedy 4ae3056257 dead MAP debug mode 2024-08-28 01:43:34 -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 6392016f94 remove mapAveragingSchedulingAtIndex 2024-08-20 12:49:23 -07:00
Matthew Kennedy 36c45a0e57 log per-cylinder map sampling 2024-08-05 22:08:48 -07:00
Matthew Kennedy d477d7c5f4 map sampling logs sample count 2024-08-05 21:45:23 -07:00
Matthew Kennedy 6a10aceb16 log map averaging duration 2024-08-05 21:42:32 -07:00
Matthew Kennedy ff5e47c95d
Engine modules participate in the build system (#452)
* infrastructure for engine modules in the build

* fully move fuel pump

* fan

* gear detector

* gear detect

* fan control cleanup

* trip odometer

* shuffle makefiles around a little

* minor format
2024-07-23 18:05:43 -07:00
Matthew Kennedy aa5ea293e6 cisnan -> std::isnan 2024-07-22 12:15:40 -07:00
Matthew Kennedy 63b07e5d1f cisnan -> std::isnan 2024-07-22 12:05:17 -07:00
Matthew Kennedy d19db63d0e dead error code 2024-07-21 22:22:14 -07:00
Matthew Kennedy dd8dea61c0 rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
Matthew Kennedy bb1d5f26d2 for loop formatting 2024-07-03 00:22:48 -07:00
Matthew Kennedy 7e07d87088 bundle up MAP samplers 2024-06-15 14:52:29 -07:00
Matthew Kennedy 743bef85d2 minimum priming delay of 0.1 second 2024-06-14 23:12:03 -07:00
Matthew Kennedy 6758e2dfc0 compile-time enforcement of printf strings 2024-06-10 00:53:24 -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 9ab794a461 avoid long -> float conversion 2024-05-11 13:07:47 -07:00
Matthew Kennedy a474543580 Wait. Why do we even use Map3D here? #246 #417 2024-05-03 22:18:09 -07:00
Matthew Kennedy d98867fc44 KnockController::onConfigurationChange(nullptr) 2024-05-03 22:11:42 -07:00
Nathan Schulte b8d7b2d75b
fix knock retard table init (#419)
* fix knock retard table init

column and row definition were swapped w/re: value lookup

fixes #246, #417

* initialize knock controller / max retard table on reset

* fix KnockController init

no need for previousConfig (or any config ref); use the current config
2024-05-03 21:57:26 -07:00
Matthew Kennedy 32d2a81529 more default init vs = 0 2024-04-27 01:32:45 -07:00
Matthew Kennedy 632c493c4f little bit of encapsulatino 2024-04-25 16:18:51 -07:00
Matthew Kennedy dce084fdcb duration vs timestamp 2024-04-25 15:18:41 -07:00
Matthew Kennedy 0c30e1e148 use timer instead of home spun time math 2024-04-25 15:11:13 -07:00
Matthew Kennedy 9ebdc88bb4 use timer instead of home spun time math 2024-04-25 15:06:11 -07:00
Matthew Kennedy e332b32ed1 distinguish between "timestamp" and "duration" 2024-04-25 12:57:10 -07:00
Matthew Kennedy af4ec4ab19 add std::function hooks to ignition 2024-04-12 11:11:44 -07:00
Matthew Kennedy 8680b22816 move a bunch of tables out of engine_configuration_s #371 2024-03-17 12:06:14 -07:00
Matthew Kennedy 498824eff4 tabs 2024-03-12 15:28:52 -07:00
Matthew Kennedy f8070a922a
implement & test backend for injection splitting (#367)
* framing dual injection

* fix test

* uncomment logic

* format

* start test

* good test

* add todo
2024-02-21 10:54:27 -08:00
Matthew Kennedy 9035b574ca fix tests 2024-02-16 14:10:57 -08:00
Matthew Kennedy be00d34d0c put fuel scheduling actually in fuel_schedule.cpp 2024-02-16 13:49:42 -08:00
Matthew Kennedy afe8b23787 put all backup data in SRAM, not in RTC registers 2024-02-06 11:43:13 -08:00