Commit Graph

3875 Commits

Author SHA1 Message Date
GitHub gen-configs Action 57ccda7623 Auto-generated configs and docs 2024-11-06 21:09:15 +00:00
Matthew Kennedy 62ea264672 stub mx5 NC wheel speed 2024-11-06 21:07:47 +00:00
GitHub gen-configs Action 1e9bb0f0be Auto-generated configs and docs 2024-11-06 08:03:32 +00:00
Matthew Kennedy 4f02de13f7 add sensor types for wheel speeds 2024-11-05 19:39:50 -08:00
Matthew Kennedy 11f9005a13 smoother idle threshold timing transition (like VE already had) 2024-11-04 15:25:58 -08:00
GitHub gen-configs Action 366a0ad27e Auto-generated configs and docs 2024-10-03 04:20:02 +00:00
Matthew Kennedy 516fc60765 idle ve table dot follows Y axis override 2024-10-02 21:18:37 -07:00
GitHub gen-configs Action 56084c435e Auto-generated configs and docs 2024-10-01 18:43:28 +00:00
Matthew Kennedy 42ef77c2ef
na miata CAS as cam trigger (#495)
* Added NA Miata cam trigger

* Set cam SyncEdge to both, remove unrelated text change that snuck in

---------

Co-authored-by: alrijleh <alrijleh@gmail.com>
2024-10-01 11:42:06 -07:00
Matthew Kennedy 38dc2255b4 pch 2024-09-26 16:15:50 -07:00
Matthew Kennedy 8455a3c050 format 2024-09-25 14:05:08 -07:00
Matthew Kennedy 9a9fc3ff14 min/maxF -> std::min/max 2024-09-25 14:00:33 -07:00
Matthew Kennedy e25962569c don't inject VE table, prep #459 2024-09-25 00:49:16 -07:00
Matthew Kennedy fca72c4366 airmass takes a ptr for VE table 2024-09-25 00:27:40 -07:00
Matthew Kennedy 71c860b648 int rpm -> float rpm 2024-09-25 00:20:18 -07:00
Matthew Kennedy 8952633854 int rpm -> float rpm 2024-09-25 00:16:53 -07:00
Matthew Kennedy 28fc04ee3d int rpm -> float rpm 2024-09-25 00:04:00 -07:00
Matthew Kennedy c880ba4ec5 int rpm -> float rpm 2024-09-24 23:54:54 -07:00
Matthew Kennedy b90f38a79f int rpm -> float rpm 2024-09-24 23:52:14 -07:00
Matthew Kennedy a329b3afca int rpm -> float rpm 2024-09-24 23:21:39 -07:00
Matthew Kennedy ffb8a58aa6 cleanup 2024-09-18 22:49:52 -07:00
Matthew Kennedy 45e3c07ecc ETB minimum position scaling/tooltip 2024-09-17 19:09:41 -07:00
GitHub gen-configs Action e2ee0b8f0f Auto-generated configs and docs 2024-09-18 01:45:48 +00:00
Matthew Kennedy 05e5456830 jam detect ignore button #489 2024-09-17 18:44:18 -07:00
Matthew Kennedy 64108b67cf only check throttle jam while ignition is on #489 2024-09-17 18:33:32 -07:00
Matthew Kennedy 01a397094d
execute critical tasks on one big thread (#462)
* wire up main loop

* remove PeriodicTimerController

* patch up defines, comments

* happy simulator

* format

* simulator

* ETB runs via main loop

* happy tests

* protection against invalid LoopPeriod

* stack size

* ccm

* fix |= operator

* move perf trace

* ordering

* ordering
2024-09-17 15:27:38 -07:00
Matthew Kennedy bd1e986d48 cleanups after #487 2024-09-16 22:41:42 -07:00
alrijleh 9c928539bc
Disable DFCO when clutch is applied (#487)
* compiles but untested

* hide TS setting if clutchUpPin is not configured

* unit test passes

* disable feature if io not configured, fix unit test commit

* de morgans to align with other gating conditions - no functional change
2024-09-16 22:39:41 -07:00
Matthew Kennedy 6a202f40dd optional after start fuel mutliplier table 2024-09-14 23:51:31 -07:00
Matthew Kennedy 8312686f22 AC state change uses a timer 2024-09-12 23:52:10 -07:00
Matthew Kennedy 89338bd4f9 implement DFCO hysteresis #478 2024-09-12 22:55:49 -07:00
Matthew Kennedy 5aca8e6e28 move DFCO configs to the right spot, changelog 2024-09-12 22:30:46 -07:00
alrijleh 86c1c52551
configure DFCO MAP threshold to vary based on RPM (#485)
* it compiles

* added description to the graph panel

* fixed typo and improved description

* dfco fuel cut map unit test added and passes

* added default settings
2024-09-12 22:13:30 -07:00
Matthew Kennedy 093ae1a17c fix alphaNUseIat 2024-09-12 22:00:25 -07:00
Matthew Kennedy e00bc56666 tachometer onFastCallback 2024-09-03 16:32:22 -07:00
Matthew Kennedy c3e1435f39 move tachometer to modules dir 2024-09-03 16:28:54 -07:00
GitHub gen-configs Action 3b2a136a75 Auto-generated configs and docs 2024-09-03 22:59:55 +00:00
Matthew Kennedy 344223cbfa add VSS as GPPWM parameter 2024-09-03 15:58:33 -07:00
GitHub gen-configs Action 17ca8b204f Auto-generated configs and docs 2024-09-01 23:50:02 +00: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
GitHub gen-configs Action dca081a907 Auto-generated configs and docs 2024-08-30 07:20:25 +00:00
Matthew Kennedy a269b9af38 additional aux linear sensors #476 2024-08-30 00:18:54 -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 6af46b59a9 MAP averaging can use common math for cyl offset calc 2024-08-28 02:58:21 -07:00
GitHub gen-configs Action d1abcab6bb Auto-generated configs and docs 2024-08-28 08:47:00 +00:00
Matthew Kennedy 32c57fd7af dead instant rpm debug mode 2024-08-28 01:45:29 -07:00
GitHub gen-configs Action 2ac6c6346c Auto-generated configs and docs 2024-08-28 08:45:02 +00:00
Matthew Kennedy 4ae3056257 dead MAP debug mode 2024-08-28 01:43:34 -07:00
Matthew Kennedy 8633d7ce96 dead config entry fix #467 2024-08-16 13:21:24 -07:00
GitHub gen-configs Action f5abe534b8 Auto-generated configs and docs 2024-08-14 00:29:13 +00:00
Nathan Schulte 0d7c21814c
TunerStudio command x14 cleanup (#434)
* remove TS command/X14 space overlap

* remove unused cmd_calibrate_tps_*

* rename cmd_etb_auto_calibrate_2 to cmd_etb_2_auto_calibrate

---------

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2024-08-13 17:27:55 -07:00
Matthew Kennedy c086047ac5 let's move away from PeriodicTimerController 2024-08-12 17:58:05 -07:00
Matthew Kennedy 4f1c7fd241 EFI_ACTIVE_CONFIGURATION_IN_FLASH 2024-08-07 12:10:50 -07:00
Matthew Kennedy 48b8f08cb8 EFI_ACTIVE_CONFIGURATION_IN_FLASH 2024-08-07 12:09:30 -07:00
Matthew Kennedy e4e0824f57 misc format/comment cleanups 2024-08-07 12:01:08 -07:00
Matthew Kennedy e4b8aa3747
oil pressure protection (while running) (#460)
* config

* implement

* defaults

* check array bins

* gauge

* test the new behavior
2024-08-06 13:10:10 -07:00
GitHub gen-configs Action c6f70ec607 Auto-generated configs and docs 2024-08-06 04:44:00 +00:00
Matthew Kennedy 6a10aceb16 log map averaging duration 2024-08-05 21:42:32 -07:00
Matthew Kennedy 828fde7ea6 fix no-MAP DFCO #457 2024-08-05 13:48:18 -07:00
GitHub gen-configs Action a988239d10 Auto-generated configs and docs 2024-08-02 04:47:17 +00:00
Matthew Kennedy f3045af367 AE is engine module 2024-08-01 21:45:54 -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 f086b94c81 cisnan -> std::isnan 2024-07-22 16:00:59 -07:00
Matthew Kennedy aa5ea293e6 cisnan -> std::isnan 2024-07-22 12:15:40 -07:00
Matthew Kennedy 28cc1f2ede cleanup 2024-07-22 12:14:29 -07:00
Matthew Kennedy 63b07e5d1f cisnan -> std::isnan 2024-07-22 12:05:17 -07:00
Matthew Kennedy b36474888b Merge branch 'master' of https://github.com/fome-tech/fome-fw 2024-07-22 10:39:45 -07:00
Matthew Kennedy d19db63d0e dead error code 2024-07-21 22:22:14 -07:00
Matthew Kennedy aeec11078c adc cleanup 2024-07-21 13:22:28 -07:00
Matthew Kennedy dd8dea61c0 rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
Matthew Kennedy 06cbbca238 accel enrich commands 2024-07-03 01:14:03 -07:00
Matthew Kennedy 8831512b6b more dead console command cleanup 2024-07-03 00:48:06 -07:00
Matthew Kennedy f4ddf26313 for loop formatting 2024-07-03 00:26:17 -07:00
Matthew Kennedy bb1d5f26d2 for loop formatting 2024-07-03 00:22:48 -07:00
Matthew Kennedy 45a6b5d134 blink the comm LED slightly instead of static 2024-06-27 17:56:21 -07:00
Matthew Kennedy 71dfd5d354 refactor LEDs out of PeriodicTimerController 2024-06-27 17:42:48 -07:00
Matthew Kennedy cc74d09ba7 controller does warning LED 2024-06-27 12:53:58 -07:00
Matthew Kennedy 7a9bfc763c rename task to LED blinking 2024-06-27 12:39:47 -07:00
Matthew Kennedy 897a730de7 EngineStateBlinkingTask -> EngineModule 2024-06-26 13:00:46 -07:00
Matthew Kennedy 2c14f4e3c1 compile-time enforcement of printf strings 2024-06-10 00:56:03 -07:00
Matthew Kennedy cf87e64119 compile-time enforcement of printf strings 2024-06-10 00:51:14 -07:00
Nathan Schulte a195289a12
Toyota ETCS-i [01/02]: meld FordRedundantTps Sensor into RedundantSensor (#430)
* remove redundant_ford_tps

* meld redundant_ford_tps logic into RedundantSensor

* default tps/ppsSecondaryMaximum is 100

* initTps uses melded RedundantSensor

* meld RedundantSensor unit tests

* RedundantSensor::showInfo prints redundancy status

* RedundantSensor::showInfo prints partial redundancy status

* assert SensorResult code in RedundantSensor tests

* RedundantSensor doesn't hide primary sensor result code

in the case of a single sensor only, don't hide the UnexpectedCode value
2024-06-03 11:28:56 -07:00
GitHub gen-configs Action 2ed6103b4e Auto-generated configs and docs 2024-05-28 04:09:27 +00:00
Matthew Kennedy e70d4c7528 implement mazda L cam 2024-05-27 21:07:57 -07:00
Matthew Kennedy d1d10f8a56 avoid long -> float 2024-05-11 13:19:03 -07:00
GitHub gen-configs Action d26aa47bec Auto-generated configs and docs 2024-05-10 05:25:07 +00:00
Matthew Kennedy 65a8928bbb EGT in gppwm channel 2024-05-09 22:23:41 -07:00
Matthew Kennedy 32d2a81529 more default init vs = 0 2024-04-27 01:32:45 -07:00
Matthew Kennedy f6f20f96d7 fix main relay 2024-04-25 16:45:36 -07:00
Matthew Kennedy d565951b10 tcharge uses a timer instead of hand spun 2024-04-25 16:26:37 -07:00
Matthew Kennedy f3bd75a295 advance map 2024-04-25 16:23:58 -07:00
Matthew Kennedy e6442f06f0 main relay bench test uses a timer 2024-04-25 16:22:16 -07:00
Matthew Kennedy 632c493c4f little bit of encapsulatino 2024-04-25 16:18:51 -07:00
Matthew Kennedy 8e4994627d default init is ok for these 2024-04-25 15:49:27 -07:00
Matthew Kennedy 79dfb0f2c4 wrap times in simple structs 2024-04-25 15:46:53 -07:00
Matthew Kennedy ba613dbf15 fix dynoview typing 2024-04-25 15:29:19 -07:00
Matthew Kennedy 9ebdc88bb4 use timer instead of home spun time math 2024-04-25 15:06:11 -07:00
Matthew Kennedy 533caae2f9 another extra time type 2024-04-25 14:27:47 -07:00
Matthew Kennedy b505b8ba0b time in seconds doesn't need a special type 2024-04-25 14:19:01 -07:00
Matthew Kennedy 5b51317585 get rid of efitimems_t 2024-04-25 13:51:16 -07:00
Matthew Kennedy e332b32ed1 distinguish between "timestamp" and "duration" 2024-04-25 12:57:10 -07:00
Matthew Kennedy 84faa1b6ee
staged injection uses AFR table Y axis (#413) 2024-04-17 00:52:10 -07:00
Matthew Kennedy af4ec4ab19 add std::function hooks to ignition 2024-04-12 11:11:44 -07:00
dynfer 79aaec84de
Lua idle rpm adder (#409)
* lua idle rpm adder

* idle target fix
2024-04-09 22:40:31 -07:00
Matthew Kennedy 5fd3056d40 add firing orders 2024-04-03 14:16:28 -07:00
GitHub gen-configs Action b7960cab6b Auto-generated configs and docs 2024-03-18 18:33:10 +00:00
rusefillc addb01f04f
MRE for Miata does not exist, also Frankenso method inline (#347)
* MRE for Miata does not exist, also Frankenso method inline

* MRE nor Frankenstein for Miata do not exist, also Frankenso method inline

---------

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-03-18 11:31:41 -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
Nathan Schulte bfb8cf1f89
GCC 13 simulator build, console->simulator on Linux (#378)
* engine: variable engine is: constexpr Engine

* can: rename CanRead::start to not hide

* console: support launching simulator on Linux

* console: fully encapsulate simulator binary name

* console: simplify simulator binary wrangling

* console: cleaner java code-style
2024-03-09 00:11:20 -08:00
GitHub gen-configs Action afc89be4c6 Auto-generated configs and docs 2024-02-28 00:58:08 +00:00
Matthew Kennedy c0489d8591 oops, some boards needed spi prescaler func 2024-02-27 16:56:32 -08:00
GitHub gen-configs Action b75691de9b Auto-generated configs and docs 2024-02-27 21:43:36 +00:00
Matthew Kennedy 4b02b7d46d
spi cleanup, add 4/5/6 to pickers 2024-02-27 13:42:19 -08:00
GitHub gen-configs Action e1b8a0cf2d Auto-generated configs and docs 2024-02-26 19:31:44 +00:00
Matthew Kennedy 9c2a6420b4 support spi4/5/6 2024-02-26 11:30:08 -08:00
GitHub gen-configs Action 2c42d8d83c Auto-generated configs and docs 2024-01-19 12:02:28 +00:00
Matthew Kennedy 76708670a0
New parser writes output channel c structs (#350)
* new parser writes c structs

* jar

* missing defs for simulator

* don't put defines you need in live data txt
2024-01-19 04:00:59 -08:00
GitHub gen-configs Action dd507c84d4 Auto-generated configs and docs 2024-01-17 10:47:52 +00:00
Matthew Kennedy cdd5306026 baro pressure -> gppwm channel option 2024-01-17 02:46:04 -08:00
Matthew Kennedy cde642ae61 Blend tables can override Y axis 2024-01-17 02:43:04 -08:00
Matthew Kennedy 271e657137 separate config for secondary injectors 2024-01-17 02:20:16 -08:00
Matthew Kennedy 6b432ffef5 Actually separate injector model for second stage 2024-01-16 23:11:01 -08:00
rusefillc 304572349d
injectorStaging defaults (#340)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-01-08 09:08:32 -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 6865c5a521 signed/unsigned comparison 2024-01-06 18:31:39 -08:00
mi-hol 1d5c7fd220
clarify OBD error code CUSTOM_ERR_6566 to CUSTOM_ERR_CYL_ANGLE (#330)
* Update engine_math.cpp

* Update obd_error_codes.h

As suggested in https://github.com/FOME-Tech/fome-fw/pull/223#issuecomment-1684889630
2024-01-06 09:21:53 -08:00
Matthew Kennedy 1a27a37c9d clamp injector model baro values to avoid whacky sensor killing engine 2023-12-22 21:41:31 -08:00
Matthew Kennedy c7cc2de16f sanity in IMU data names/ranges 2023-11-27 01:30:18 -08:00
GitHub gen-configs Action 9587a8207c Auto-generated configs and docs 2023-11-27 00:57:34 +00:00
Matthew Kennedy d35b833ead support mk60e5 2023-11-26 16:51:29 -08:00
Matthew Kennedy d274e98abc better defaults 2023-11-16 22:45:31 -08:00
Matthew Kennedy c81579b9de dead piece of config 2023-11-16 22:23:58 -08:00
Matthew Kennedy 62980837b8 AlternatorController::onConfigurationChange 2023-11-12 19:56:22 -08:00
Matthew Kennedy 97c084cc24 fix simulator 2023-11-03 15:08:28 -07:00
GitHub gen-configs Action d3944f62f8 Auto-generated configs and docs 2023-11-02 09:24:16 +00:00
Matthew Kennedy 17e8a74bb8 dead mafSensorType fix #284 2023-11-02 02:20:57 -07:00
Matthew Kennedy ec676a1a83 shadow avoidance 2023-11-01 14:08:24 -07:00
Matthew Kennedy ce2198270e avoid some misc shadowing 2023-11-01 13:58:39 -07:00
GitHub gen-configs Action 1e86dc2fd4 Auto-generated configs and docs 2023-11-01 20:56:53 +00:00
Matthew Kennedy 36643bb7f4 dead pid auto tune 2023-11-01 13:54:48 -07:00
Matthew Kennedy a538805627 missed override in gear detector 2023-10-24 01:23:51 -07:00
GitHub gen-configs Action 73503da7d6 Auto-generated configs and docs 2023-10-24 08:01:46 +00:00
Matthew Kennedy 3e564ae319 vvt target bump feature 2023-10-24 00:59:48 -07:00
Matthew Kennedy 7b955cb1b3 fixAngle -> wrapAngle 2023-10-19 14:34:29 -07:00
Matthew Kennedy ad6c5af975
speedo output (#269)
* speedo output

* s

* fix init
2023-10-15 14:59:39 -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 f1e84220e0 another dead code while we're here 2023-10-12 23:27:19 -07:00