Commit Graph

123 Commits

Author SHA1 Message Date
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
rusefillc cc7af64ed3 minor trigger refactoring 2022-11-06 00:59:29 -04:00
Matthew Kennedy 1cc46a1b83 simplify initializeSkippedToothTrigger (#4674) 2022-10-17 16:05:27 -04:00
Matthew Kennedy 9cd5553617 plumbing parts of 4621 (#4622)
* plumbing parts of 4621

* show error list

* exit on error too!

* this test has some unhealthy undefined behavior

* no uninitialized values

* no that doesn't work

* remove the invalid data and the bug becomes obvious
2022-09-25 18:49:54 -04:00
Matthew Kennedy 90489edb96 schedule ignition charge by angle instead of tooth (#4513)
* schedule ignition charge by angle

* same mistake as #4536

* s

* wrap sparkAngle too

* AngleBasedEventNew

* function moved

* implement scheduleOrQueue

* prints
2022-09-25 11:00:55 -04:00
Andrey 579f3df7ad deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 01:53:17 -04:00
Andrey 34f87a3683 inline method to reduce confusion 2022-09-14 01:24:19 -04:00
Andrey ab3d92b995 tear down Engine god object #4511
just trying different things
2022-09-05 04:24:17 -04:00
Andrey 75b1549853 refactoring: moving field 2022-09-05 01:15:45 -04:00
Andrey 436c294770 refactoring: reducing outputChannels copy 2022-09-01 10:58:16 -04:00
rusefi ea7597e0d6 trigger gap logging: it's a mess :( 2022-08-21 12:38:29 -04:00
rusefi 2f882b1452 refactoring: default argument value 2022-08-21 12:17:50 -04:00
Matthew Kennedy 6218edd040 allow logging multiple warnings at once (#4414)
* allow logging multiple warnings at once

* comment

* .Code

* Revert ".Code"

This reverts commit 2b986bd50035aeec051d11aafd83fdbc1694351c.

* add a better comparison operator instead of conversion

* dot code

* Revert "dot code"

This reverts commit 35f6ae1007c41e3b30ea129a324f33ab4205036d.

* force gcc-10 maybe?

* Revert "force gcc-10 maybe?"

This reverts commit 4ddf8bcefddd354ccdc1da682c5fff1e68d44273.

* vq

* dot code

* dead

* dot code

* return may be null

* static_vector; maybe cyclic_buffer is broken or wrong tool for the job?

* move static vector

* put cyclic buffer back how it was since we don't use it now
2022-08-17 01:12:25 -04:00
rusefillc 8708fd73cf logging of live data structs was: data points #3614
huh?
2022-06-29 02:42:03 -04:00
Matthew Kennedy 88ff234c91 Injector scheduled by angle, not tooth index (#4208)
* trigger decoder returns a result

* TriggerFormDetails

* s

* don't reach out and touch the engine

* injection doesn't care about teeth

* fix up existing tests

* oh look, we can actually test this logic now without trying to depend on trigger shape!!!

* fix a real bug

* simplify
2022-06-24 17:43:23 -04:00
Matthew Kennedy 27c98f70fe cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit e64c8cfccb.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit 5454b8f509.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
Matthew Kennedy c2f61dc95f Remove third trigger channel (#4226)
* remove third trigger

* clean up the honda mess

* there was nothing novel about this engine config

* include

* missed a few

* s

* x

* changelog

* don't set the third trigger input

* don't redefine the same thing 3 times

* only two inputs!

* test
2022-06-01 21:24:20 -04:00
Matthew Kennedy 56e7acd869 Trigger cleanup init (#4222)
* extra parameter

* name decoders in constructor

* s
2022-06-01 00:55:34 -04:00
Matthew Kennedy 54c339c0a4 remove trigger duty cycle calculation (#4213)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix

* remove duty cycle thing
2022-05-30 22:39:57 -04:00
Matthew Kennedy 5f1801f9d6 trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Andrey 009929fc20 altering technical debt 2022-05-15 10:07:17 -04:00