Commit Graph

2232 Commits

Author SHA1 Message Date
rusefillc 5e62595d69 reduce flash footprint by smarter code generation #4163 2022-12-03 00:51:41 -05:00
GitHub build-unit-tests Action 136baf145d Trigger wheel definitions 2022-12-02 12:46:20 +00: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 6eed99a646 ETB JNI test progress
Coffee is important!
2022-11-29 10:25:15 -05:00
Andrey 2a0756c95d ETB JNI test progress
I am pretty confused :(
2022-11-29 10:17:05 -05:00
Andrey 85c22ac971 ETB JNI test progress 2022-11-29 09:58:35 -05:00
Andrey cf63cea45f ETB JNI test progress 2022-11-29 02:21:36 -05:00
Andrey d6a33ad44d ETB JNI test progress 2022-11-29 01:03:29 -05:00
Andrey a80368a7d3 ETB JNI test progress 2022-11-29 00:38:59 -05:00
Andrey 76e74e173f ETB JNI test progress 2022-11-29 00:10:46 -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
Matthew Kennedy 8ea5969607
fix warnings (#4840)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 10:11:14 -05:00
Andrey 2b51f3798b Target AFR table Y axis stuck at 0 #4826
sweet coverage :)
2022-11-26 20:22:40 -05:00
Andrey 192e6f7c4b progress 2022-11-26 17:39:25 -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
rusefillc a32531ee60 What is "Aux PID"? #4807 2022-11-21 00:10:35 -05:00
GitHub build-unit-tests Action 1602515080 Trigger wheel definitions 2022-11-16 20:54:55 +00:00
Andrey 6ca9b6eda7 refactoring: default parameter, global replace 2022-11-16 14:28:43 -05:00
GitHub build-unit-tests Action dadb9d19f5 Trigger wheel definitions 2022-11-16 16:48:00 +00: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
GitHub build-unit-tests Action 9ee03080b5 Trigger wheel definitions 2022-11-09 03:08:46 +00: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 998652ac76 sensor_chart into unit tests 2022-11-06 11:28:25 -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
rusefillc a573b604d7 so much weird 2022-10-24 23:02:39 -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
GitHub build-unit-tests Action 7d5059b8ea Trigger wheel definitions 2022-10-16 16:21:57 +00:00
GitHub build-unit-tests Action 8cf4eaa010 Trigger wheel definitions 2022-10-16 14:42:22 +00:00
rusefillc d13a851c97 triggerImage: todo: support symmetrical crank 2022-10-16 10:33:38 -04:00
GitHub build-unit-tests Action ebfedbc5da Trigger wheel definitions 2022-10-16 14:31:28 +00:00
rusefillc 5fb9f7c2df triggerImage: todo: support symmetrical crank 2022-10-16 02:59:57 -04:00
GitHub build-unit-tests Action d2b87846fd Trigger wheel definitions 2022-10-16 06:57:03 +00:00
rusefillc d91211106c triggerImage: todo: support symmetrical crank 2022-10-16 02:44:57 -04:00
Matthew Kennedy 1ae642e7a7
build tweaks for size (#4661)
* don't align on non-cached mcu

* lua decimal point

* no snprintf

* sort sections by alignment

* unit tests
2022-10-13 20:30:30 -04:00
GitHub build-unit-tests Action e290f9296a Trigger wheel definitions 2022-10-10 01:31:12 +00: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
GitHub build-unit-tests Action 630347c5e7 Trigger wheel definitions 2022-10-06 02:10:48 +00: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
GitHub build-unit-tests Action 443ffbad90 Trigger wheel definitions 2022-09-25 13:23:24 +00: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 782f4f32b8 progress 2022-09-24 23:07:55 -04:00
Andrey a38d87b0e0 fancy default and reusing constant 2022-09-24 23:01:42 -04:00
Andrey 89f0dad5be renaming stuff 2022-09-24 22:55:54 -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
rusefillc cab0177df0
insist on setBoardConfigOverrides fix #4614 (#4615)
* insist on setBoardConfigOverrides fix #4614

* insist on setBoardConfigOverrides fix #4614

* insist on setBoardConfigOverrides fix #4614

* insist on setBoardConfigOverrides fix #4614

* insist on setBoardConfigOverrides fix #4614
2022-09-24 07:35:19 -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
GitHub build-unit-tests Action b656256a52 Trigger wheel definitions 2022-09-24 00:25:12 +00: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 55c1f53c75
dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 81fffe87b7

* Get rid of efitime_t.

Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -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 7eb453bc54 os_access.h dead? 2022-09-07 16:00:13 -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
Andrey 4c9df01b64 wow Leiderman-Khlystov 2022-09-05 20:02:33 -04:00
Andrey 4934d76d88 tear down Engine god object #4511
just trying different things
2022-09-05 04:24:17 -04:00
Andrey b756456450 tear down Engine god object #4511
just trying different things
2022-09-05 04:00:24 -04:00
Andrey 268a5c7964 tear down Engine god object #4511
just trying different things
2022-09-05 02:44:06 -04:00
Andrey c1b218b772 refactoring: let's use different names for different things 2022-09-05 01:16:24 -04:00
Andrey feb386a54b refactoring: moving field 2022-09-05 01:15:45 -04:00
Andrey 796e421857 wow Leiderman-Khlystov 2022-09-04 18:29:13 -04:00
rusefi fc46ec182c wow Leiderman-Khlystov 2022-09-04 15:58:46 -04:00
rusefi 51ee116fea B6 2022-09-04 11:47:57 -04:00
rusefi 5c88f4c1f0 B6 2022-09-04 11:29:18 -04:00
Matthew Kennedy 9407150544
more granular trigger error messages (#4526)
* granular trigger error messages

* adjust test expectations

* explicitly test behavior
2022-09-04 09:15:24 -04:00
Andrey d329f8ae10 tear down Engine god object #4511
just trying different things
2022-09-03 07:44:24 -04:00
rusefillc 25f4ebbc01
moving state into specific class (#4520)
* moving state into specific class

* moving state into specific class
2022-09-02 14:38:03 -04:00
Andrey 9d8afea152 a bit of dead code 2022-09-01 11:47:56 -04:00
Andrey b89217b596 reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -04:00
Andrey 7e340cceb3 refactoring: reducing outputChannels copy 2022-09-01 10:58:16 -04:00
Andrey da66fa055c refactoring: enum name clean-up 2022-09-01 00:23:33 -04:00
Andrey fef406a5a6 english do you speak it 2022-08-31 22:56:38 -04:00
GitHub build-unit-tests Action 61769e954f Trigger wheel definitions 2022-09-01 02:22:06 +00:00
Andrey 8500f4c313 B6 progress 2022-08-30 05:20:56 -04:00
Andrey 4e45046673 B6 progress 2022-08-30 04:38:20 -04:00
Andrey 027ed7742e B6 progress 2022-08-30 04:07:48 -04:00
Matthew Kennedy ee97e2a7d0
knock retard limit table (#4498)
* add max retard table

* ui

* s

* better naming

* s

* test can use base class
2022-08-30 01:57:37 -04:00
Matthew Kennedy cbe70f8dec
idle always uses instant rpm (#4499)
* idle always uses instant rpm

* configs

* fully inject rpm
2022-08-29 22:18:06 -04:00
Matthew Kennedy 553b549b95
idle coasting table is RPM, not clt (#4487)
* idle coasting table is RPM, not clt

* default

* autoscale

* changelog
2022-08-29 08:15:04 -04:00
GitHub build-unit-tests Action 23332db8f6 Trigger wheel definitions 2022-08-29 02:52:44 +00:00
GitHub build-unit-tests Action 3024a61ab5 Trigger wheel definitions 2022-08-29 02:23:56 +00:00
Matthew Kennedy 5a4e8b314a B6 progress 2022-08-28 12:33:32 -04:00
Matthew Kennedy b662e59707
remove some uses of EFI_ERROR_CODE (#4496)
* lua hooks

* findAngleMatch

* s

* s
2022-08-28 09:43:21 -04:00
Matthew Kennedy ca60dc17bb
trim table for throttle #2 (#4472)
* add table and wire it up

* trim table ui

* initialization

* changelog

* add a test
2022-08-28 08:28:20 -04:00
Andrey c6607a5a5e B6 progress 2022-08-27 20:44:30 -04:00
Andrey 764fc833d7 B6 progress 2022-08-26 12:07:13 -04:00
Andrey 2ee07e643c B6 progress 2022-08-26 00:30:46 -04:00