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