Commit Graph

143 Commits

Author SHA1 Message Date
Matthew Kennedy 2cb2ed2a86
calculate spark timing last minute rather than storing it (#555)
* calculate spark timing last minute rather than storing it

* handle underdwell

* f2lz avoidance

* test friendlyness

* move test hook after the underdwell bailout
2025-03-11 19:35:18 -07:00
Matthew Kennedy 442c75cc4c
Remove sensor chart (#568)
* delete sensor chart from firmware

* delete sensor sniffer UI
2025-03-07 03:28:29 -08:00
Matthew Kennedy d82f3260d1 implement underdwell protection 2025-03-01 16:50:23 -08:00
Matthew Kennedy 2ebd882722
Ignition outputs use a mask like fuel (#553)
* remove skipped spark check

* this test no longer does anything

* ignition mask outputs

* tests

* extract function to calculate mask

* don't even store the mask
2025-02-13 20:31:09 -08:00
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 0e2709cd91 start refactoring towards OneCylinder 2025-01-18 01:03:44 -08:00
Matthew Kennedy 3ae703d9ce dead 2025-01-01 14:31:19 -08:00
Matthew Kennedy ce33ad7073 assertEqualsM 2025-01-01 14:22:53 -08:00
Matthew Kennedy aa8ecc485a rip out assertEqualsM4 2025-01-01 14:01:18 -08:00
Matthew Kennedy 468355c4ca assertEqualsM2 2025-01-01 13:56:43 -08:00
Matthew Kennedy 40a7fd732b deprecating EFI_ERROR_CODE 2024-12-28 14:49:27 -08:00
Matthew Kennedy 32f319d7cd tests build 2024-12-24 02:59:54 -08:00
Matthew Kennedy 4c770b3431 unnecessary includes 2024-12-24 02:15:40 -08:00
Matthew Kennedy 28e9f8a015 enum class-ify TriggerEvent 2024-12-12 15:37:14 -08:00
Matthew Kennedy 7713071a8f std::isnan 2024-07-23 15:47:30 -07:00
Matthew Kennedy dd8dea61c0 rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
Matthew Kennedy 5f52f5fc9f no need for getTimeNowUs on ETH 2024-04-27 01:48:02 -07:00
Matthew Kennedy 80d9fd41aa unit test global cleanup 2024-04-26 02:02:49 -07:00
rusefillc 89462092a1
default argument to improve test API (#405) 2024-04-09 22:42:16 -07:00
Matthew Kennedy 25e2a40b53 avoid UB in tests 2024-03-22 12:07:58 -07: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 26f57fd226 no trailing semicolon 2024-01-07 12:32:18 -08:00
Matthew Kennedy a45b9ab611 minor housekeeping 2024-01-06 23:10:56 -08:00
Matthew Kennedy 4ed8906748 fix tests for no shadowing 2023-11-01 17:31:08 -07: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 6f4a4fc373
implement ignition timing clamping (#212)
* implement ignition timing clamping

* ui, improved comment

* wrap atdc timing correctly

* tests
2023-07-21 15:55:04 -07:00
Matthew Kennedy 7ae11160d9 simplify adjustCrankPhase 2023-06-28 18:12:38 -07:00
Matthew Kennedy 06e818f89a explicit tests for batch and single point 2023-06-26 01:11:43 -07:00
Matthew Kennedy 01b4f1191a fix (honestly gross) tests to work in two wire batch 2023-06-24 20:55:17 -07:00
Matthew Kennedy b0c3357cba #23 and fix https://github.com/rusefi/rusefi/issues/5353 2023-06-24 20:14:37 -07:00
Matthew Kennedy 06b39dbb07
trigger and engine types -> enum class (#113)
* trigger type is enum class

* java tooling

* enum class engine_type_e

* enum class engine_type_e
2023-06-01 13:47:49 -07:00
Matthew Kennedy b1b1ec7fdf add postState flag to airmass model calls #107 2023-05-15 17:18:35 -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 f090a97b0b remove specs_s struct, flatten config 2023-03-27 00:58:18 -07:00
Matthew Kennedy 0072e8f33c nobody should use NA6 VAF 2023-02-28 20:04:47 -08:00
Matthew Kennedy 34430f251f rewrite neon trigger (#5003)
* rewrite neon trigger

* we were testing the same thing four times, maybe test it once
2023-01-24 18:33:15 +05:30
Andrey 3d096b2ac1 totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-15 08:26:38 -05:00
Andrey df2b073c49 totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 23:21:23 -05:00
Andrey e57403618a totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 15:33:17 -05:00
Andrey a699e29c02 Mitsubishi 4G93 Trigger issues #4918 2023-01-07 16:28:57 -05:00
Matthew Kennedy 56aa0fe367 improve iat ignition table (#4948)
* iat ignition table

* changelog
2023-01-06 21:59:34 -05:00
Andrey 7c10ac7507 a bit of dead code 2023-01-03 13:59:25 -05:00
Andrey bdffec4ce5 let's try again 2023-01-03 08:38:42 -05:00
Andrey eb9c096ab7 a bit of dead code 2023-01-03 07:49:17 -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 5576065eb9 default fuel cleanup and injection phase change (#4836)
* default fuel cleanup and injection phase change

* happy tests

* changelog

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-29 23:41:49 -05:00
Matthew Kennedy 7b47e77e58 infer useOnlyRisingEdge by trigger type (#4621)
* most of the plumbing

* easy tests

* trigger types that are rise only

* configs

* change mode of various triggers

* vvt

* 898 test is now impossible 🥳

* s

* instant rpm test

* actually remove useOnlyRisingEdgeForTrigger

* remove vvtCamSensorUseRise

* s

* print

* one happy test

* another test

* happy testSomethingWeird

* happy testCamInput

* maybe fix it a different way

* better

* quad cam

* nb2 happy

* bad merge

* vvt test

* trigger.test1995FordInline6TriggerDecoder

* hellen gm e67

* changelog
2022-11-08 21:48:39 -05:00
rusefi 5c32f75c2c reducing ugly 2022-11-06 21:28:38 -05:00
Andrey 25d292c462 trigger refactoring: instance RPM #4740 2022-11-06 11:05:57 -05:00