Commit Graph

1179 Commits

Author SHA1 Message Date
Andrey 987e59f7cc Mitsubishi 4G93 Trigger issues #4918
a good case for NAN?
2023-01-03 21:17:32 -05:00
Andrey def809aa39 Mitsubishi 4G93 Trigger issues #4918
adding more info on the trigger images
2023-01-03 15:44:13 -05:00
Andrey c9d88d2605 a bit of dead code 2023-01-03 13:59:25 -05:00
Andrey d0f6fa8ea3 let's try again 2023-01-03 08:38:42 -05:00
Andrey 603f188b55 a bit of dead code 2023-01-03 07:49:17 -05:00
Andrey c8b998a911 test coverage for antilag #4920
fuel correction bugfix & test
2022-12-31 14:48:25 -05:00
Andrey 1afa6fa99a test coverage for antilag #4920
bugfix?
2022-12-30 12:21:04 -05:00
Andrey 7138b9d1c1 test coverage for antilag #4920 2022-12-30 12:17:53 -05:00
Andrey 57d76d902f test coverage for antilag #4920 2022-12-30 12:11:57 -05:00
rusefillc 24cdca5515 refactoring: method name 2022-12-27 00:13:13 -05:00
rusefillc e189d6517b random Frankenso clean-up 2022-12-14 19:29:01 -05:00
Matthew Kennedy 5250b177c2
Allow scheduling_s to come from a pool (#4841)
* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-12-10 17:55:51 -05:00
Matthew Kennedy 994ee2f22f
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 2c58579a8d
switch hpfp and aux valves to AngleBasedEventNew (#4882)
* switch hpfp to AngleBasedEventNew

* aux valves too!
2022-12-10 16:15:11 -05:00
rusefillc 5e62595d69 reduce flash footprint by smarter code generation #4163 2022-12-03 00:51:41 -05:00
Matthew Kennedy 466833d95a
ETB error counter logic (#4854)
* simplify ETB error counter logic

* dropped this: {

* happy test

* reorder logic, test etbErrorCode

* test that fails

* independent TPS and PPS counters

* missed a file

* happy test
2022-11-30 22:20:09 -05:00
Andrey 32e502c569 ETB overheats due to constant isTpsError true/false/true/false jitter: this seems obvious enough to disable ETB at least on non running engine #4832 2022-11-30 21:23:13 -05:00
Andrey 405b23d682 ETB overheats due to constant isTpsError true/false/true/false jitter: this seems obvious enough to disable ETB at least on non running engine #4832 2022-11-30 20:08:19 -05:00
Andrey e6993aa248 ETB duty cycle jitter: only monitoring within this ticket #4833 2022-11-30 19:48:08 -05:00
rusefi 5499938d52 x2 spelling 2022-11-30 17:14:16 -05:00
Andrey 4e74882c5e ETB duty cycle jitter #4833
need whole output not just closed loop part
2022-11-30 15:25:50 -05:00
Matthew Kennedy 151416b005
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
Andrey 6ad3ce13d6 ETB duty cycle jitter #4833 2022-11-29 20:51:28 -05:00
Andrey 98e886e00b mock invalid & current state of ETB error counter 2022-11-29 20:36:03 -05:00
Andrey 9a1c7b36ba refactoring: extracting method 2022-11-29 20:11:34 -05:00
Andrey 21b217f132 ETB duty cycle jitter #4833
do-you-TDD
2022-11-29 16:05:36 -05:00
Andrey 3070e1b3c8 ETB duty cycle jitter #4833 2022-11-29 14:59:08 -05:00
Andrey 368517780d ETB duty cycle jitter #4833 2022-11-29 14:02:44 -05:00
Andrey 607a5677d4 ETB overheats due to constant isTpsError true/false/true/false jitter #4832 2022-11-29 11:42:09 -05:00
Andrey 4dd9217327 unit test compile more of ETB code 2022-11-28 23:41:51 -05:00
Andrey 5b88c6b535 exp average is pretty cool 2022-11-28 19:22:45 -05:00
Andrey bb59bbbe51 ETB duty cycle jitter #4833
weird, whatever for now :(
2022-11-27 21:16:50 -05:00
Andrey 61de170d06 ETB duty cycle jitter #4833
weird, whatever for now :(
2022-11-27 20:55:10 -05:00
Andrey b00a7e506b ETB duty cycle jitter #4833
a step back to safety
2022-11-27 19:26:28 -05:00
rusefillc 55062b1ef6
refactoring: constexpr fuel computer (#4830)
* refactoring: constexpr fuel computer

* refactoring: constexpr fuel computer

* refactoring: constexpr fuel computer

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-11-26 12:25:04 -05:00
rusefillc 23698be5f8
without ValueProvider3D interface how do we mock? (#4829)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-11-26 11:23:54 -05:00
Andrey 3b7b8e3f33 nissan 2022-11-23 23:45:25 -05:00
rusefillc 8eaa901595
avoid ctime in GPS UART (#4824)
Co-authored-by: Nathan Schulte <nmschulte@desmas.net>
2022-11-23 13:20:36 -05:00
Nathan Schulte fd1115d01a
code style, GPS fixes (test, firmware) (#4822)
* tidy NMEA

* const in nmea

* correct gps test output

* fix GPS UART print statements

* cleanup feature toggles in settings

* fix comment typos, misc whitespace
2022-11-23 07:01:34 -04:00
Andrey 6ca9b6eda7 refactoring: default parameter, global replace 2022-11-16 14:28:43 -05:00
Andrey G 27166f4b23
SENT updates (#4774)
* SENT: simplify

* SENT: add crc6 routine, check crc for slow channels enhanced messages

* SENT: helper to get Slow Channel values

* SENT: getTickTime() report tick unit time

* unit_tests: SENT: update tests
2022-11-12 16:57:20 -05:00
Andrey 3def9396de Nissan 2022-11-12 13:06:55 -05:00
Andrey G 64be738874
SENT unit tests (#4769)
* unit_tests: sent: zero-init

* sent: SENT_SLOW_CHANNELS_MAX to header

* unit_tests: sent: clock, falling edges

* SENT: support and autodetect if device sends pause pulse

Also rework tick time calculation

* unit_tests: SENT: verbose debug on request

* unit_tests: SENT: actual checks

* unit_tests: SENT: extract common code for reuse

* unit_test: SENT: add test with fuel pressue captured data

* unit_test: SENT: add test with Ford ETB CLOSED captured data
2022-11-11 17:25:02 -05:00
Matthew Kennedy 5c50ad2db4
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
Matthew Kennedy 7bd9dbf89e
fix vvt logging logic (#4747)
* fix vvt logging logic

* put that back

* flip condition to avoid branch on uninitialized value
2022-11-07 10:52:17 -05:00
Andrey a25c9ab520 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 00:06:42 -05:00
rusefillc 6d3e71fae3 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-06 23:21:54 -05:00
rusefi 1f3ab0cf24 reducing ugly 2022-11-06 21:28:38 -05:00
rusefi 9ccb0ccb0c https://rusefi.com/forum/viewtopic.php?p=46603#p46603
calling 'setTimeout' on bad self (cpp class not export)
2022-11-06 20:09:01 -05:00
Andrey a5136a0eae trigger refactoring: instance RPM #4740 2022-11-06 11:05:57 -05:00
rusefillc 36d5b1fbb6 minor trigger refactoring 2022-11-06 00:59:29 -04:00
Matthew Kennedy f4f5f69ee6
duplicate log field names (#4730)
* remove duplicate target lambda/afr

* names on fuel computer

* remove more copies

* sensor.java

* everybody loves hard dependencies on generated fields

* target afr gauge fix

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-05 20:23:09 -04:00
Matthew Kennedy 1269428044
remove idle timing deadzone (#4731)
* remove idle timing deadzone

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-04 15:02:20 -04:00
Andrey ccca90cb55 Nissan defaults 2022-11-02 12:05:51 -04:00
rusefi 93f9e81e9e huh, we can pole larger method here 2022-10-26 12:08:27 -04:00
Matthew Kennedy 24650f6460
implement "ford mode" injector correction (#4686)
* implement "ford mode"

* missed the enum value
2022-10-20 22:25:39 -04:00
Matthew Kennedy f760ae11c1
simplify initializeSkippedToothTrigger (#4674) 2022-10-17 16:05:27 -04:00
rusefillc d13a851c97 triggerImage: todo: support symmetrical crank 2022-10-16 10:33:38 -04:00
rusefillc 5fb9f7c2df triggerImage: todo: support symmetrical crank 2022-10-16 02:59:57 -04:00
rusefillc d91211106c triggerImage: todo: support symmetrical crank 2022-10-16 02:44:57 -04:00
Matthew Kennedy aa881efe89
fix 36-2-1 trigger (#4645)
* fix

* test files

* test real 4b11

* test.mk

* better angle error math

* test GM too

* changelog
2022-10-09 21:22:05 -04:00
Matthew Kennedy d6647025cc
2jz test (#4638) 2022-10-05 20:48:28 -04:00
Andrey 83afa58baf Mark is asking for VIN number field #3967 2022-10-04 21:12:51 -04:00
Matthew Kennedy 940e0dc369
require ignition on for firing (#4628)
* require ignition on for firing

* too much havoc for a unit test

* patch up references

* last one

* fix changelog mangling

* fix the changelog template too

* bad merge

* fix the template again

* s

* fake battery voltage on hw ci

* ugh merge

* ugh merge
2022-10-04 20:36:03 -04:00
Matthew Kennedy ec5d48fb5b
remove 898 (#4634)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-10-04 20:12:57 -04:00
Matthew Kennedy cb86c014cf
fix instant rpm clearing bug (#4629)
* improve instant rpm

* changelog
2022-09-29 07:15:59 -04:00
Matthew Kennedy ca623eb6ee
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 b089825a4a
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
Matthew Kennedy ae6c44634b
better k gaps (#4623) 2022-09-25 09:14:29 -04:00
Matthew Kennedy b45f84fe20
#4619 (#4620) 2022-09-25 07:40:28 -04:00
Andrey 612d52645a Honda K cam wheels #3405 2022-09-25 00:26:42 -04:00
Andrey 9d27780974 Honda K cam wheels #3405 2022-09-24 23:49:41 -04:00
Andrey 111220d38c more inclusive configuration name 2022-09-24 23:49:41 -04:00
Andrey cff779dd78 K progress 2022-09-24 23:18:57 -04:00
Andrey a38d87b0e0 fancy default and reusing constant 2022-09-24 23:01:42 -04:00
Andrey 93e64a61a6 fancy 2022-09-24 22:54:58 -04:00
Andrey 33be12541b K 2022-09-24 15:37:51 -04:00
Andrey 0eef498b3e refactoring: extract constant 2022-09-24 15:33:01 -04:00
Matthew Kennedy 7139ddcda2
explicitly pass which edges we sync trigger on (#4607)
* require sync edge type

* s

* fix neon

* info printing

* put enums back

* auto gen enum fiddling
2022-09-23 20:39:41 -04:00
rusefillc c4699efe91 honda K enum rename 2022-09-23 20:13:14 -04:00
rusefillc 2f18168d47 K20 2022-09-23 20:13:14 -04:00
rusefillc ed72758a5d K20 2022-09-23 18:25:24 -04:00
Matthew Kennedy dfe1b47b4d
remove ignitionPin (#4608)
* remove ignitionPin

* now that's gone

* BMW test
2022-09-23 17:30:10 -04:00
Matthew Kennedy af7e4f6fe5
two modes trigger scheduler (#4598)
* two modes trigger scheduler

* asOld

* hpfp
2022-09-20 05:28:23 -04:00
rusefillc 60e703e079 B6 2022-09-17 23:49:24 -04:00
Andrey 6cdb0dc0af deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 01:53:17 -04:00
Andrey 82cda62bac inline method to reduce confusion 2022-09-14 01:34:52 -04:00
Andrey 6b0941b8ed inline method to reduce confusion 2022-09-14 01:24:19 -04:00
Andrey 954ddacd96 GM 2022-09-14 00:03:38 -04:00
Andrey 8ce57d5599 code formatting 2022-09-13 23:44:38 -04:00
Andrey G 91d4844e38
time routines refactor (#4563)
* Extract time helpers from engine_controller_misc to efitime.cpp

* Rename currentTimeMillis() to getTimeNowMs()

We have getTimeNowNt(), getTimeNowUs(), currentTimeMillis() and getTimeNowSeconds()
Align a bit.

find . -type f -name '*.c*' -exec sed -i 's/currentTimeMillis/getTimeNowMs/g' {} \;

* Rename getTimeNowSeconds() to getTimeNowS()

To align with Nt, Us, Ms versions.

* Some comments about getTimeNowLowerNt()
2022-09-11 13:06:03 -04:00
rusefillc 2a05a31550 refactoring: type safety 2022-09-11 03:46:50 -04:00
rusefillc 851e8e48d3 refactoring: type safety 2022-09-11 02:57:35 -04:00
Andrey cbb42b68d1 E38 2022-09-09 14:04:22 -04:00
Andrey 2199bfd7f7 E38 2022-09-09 01:15:55 -04:00
Matthew Kennedy 72299bd1ba
only report vvt position if we have full sync (#4547)
* only report vvt position if we have full sync

* comments

* make it selectable, since that makes the test useful
2022-09-08 16:15:36 -04:00
Andrey 8e49542600 trigger: in corner cases like NB2 and VQ35 those are not revolutions 2022-09-07 22:24:28 -04:00
Andrey 07d895dfeb B6 2022-09-06 15:12:43 -04:00
Matthew Kennedy b305308ef6
add hysteresis to limp rpm, boost, injector duty (#4541)
* add hysteresis

* changelog
2022-09-05 20:56:32 -04:00
Andrey 4d65067345 wow Leiderman-Khlystov 2022-09-05 20:23:40 -04:00