Commit Graph

152 Commits

Author SHA1 Message Date
rusefi e8c45a2e7d refactoring: reducing code duplication. Also, do we even care for critical error codes?! 2023-08-20 22:23:44 -04:00
Matthew Kennedy 12cad99136 lambda monitor wiring 2023-06-29 12:00:09 -04:00
Matthew Kennedy 350d9060fb Add gego channel to make VE analyze happy #82
(cherry picked from commit d0c645bad5ddd6a54be149adeb963bae6fa5fa6b)
2023-05-05 17:40:52 -04:00
Matthew Kennedy 61e5b4b1ad change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
Matthew Kennedy 01f7e4068d rename obd_code_e -> ObdCode
(cherry picked from commit d6534157a03d19bb2e8aeece301642c053a081d0)
2023-04-29 00:44:00 -04:00
Matthew Kennedy 2857e9527d remove specs_s struct, flatten config
(cherry picked from commit f090a97b0b7771dfe02e4b4bb9919d50a6a11ef5)
2023-04-28 20:59:11 -04:00
Andreika c17e2adfb7
RPM limit fix and unit-tests (#5238)
* fix rpm limit timing/fuel corrections

* rpm limit timing - more unit-tests
2023-04-15 12:03:47 -04:00
Andrey b95353cc12 logging of live data structs was: data points, we are moving away from debug mode #3614 2023-04-12 17:31:00 -04:00
Andrey 0470953cb8 We need to reshuffle timing calculation a bit, add one more gauge #5235 2023-04-12 17:22:28 -04:00
Andrey 588bf77492 wow we have two separate per-cylinder trims?! fix #5237
refactoring: bringing two offsets much closer together, no change in overall logic
2023-04-12 15:04:14 -04:00
Andrey 6588e813ae totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-15 08:26:38 -05:00
Andrey 9abdab795d totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 23:21:23 -05:00
Andrey 0c1859b77e totalFuel and totalIgnition correction gauges in Tunerstudio #4955 2023-01-14 15:33:17 -05:00
rusefillc 6146b01a36 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 20:12:00 -05:00
TurboMarian 276713d24f LUA FuelAdd update
(cherry picked from commit a54cdbb0771b1a48aa8e24bffbaf554e10d55f3a)
2022-12-16 20:22:48 -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
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 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
Andrey ab4b451195 os_access.h dead? 2022-09-07 15:56:45 -04:00
Andrey 4934d76d88 tear down Engine god object #4511
just trying different things
2022-09-05 04:24:17 -04:00
Andrey d51511a15e refactoring: moving field 2022-09-05 00:53:05 -04:00
Andrey d329f8ae10 tear down Engine god object #4511
just trying different things
2022-09-03 07:44:24 -04:00
Matthew Kennedy 423f69a842
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 c81ede01de [SECURITY] Cheap password protection against tune modification fix #4243
helping build
2022-07-30 14:33:11 -04:00
rusefillc 26ae6f7490 [SECURITY] Cheap password protection against tune modification fix #4243 2022-07-30 12:23:53 -04:00
rusefillc cad14d6541 #4308 progress 2022-07-14 12:36:55 -04:00
rusefillc 82131e5572 Uniform reset pattern for all Lua adjustments #4308
no progress only preparation
2022-06-30 20:07:27 -04:00
Matthew Kennedy 172479e2af
fix (#4254) 2022-06-17 21:20:47 -04:00
Matthew Kennedy f945e6efc9
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
Matthew Kennedy 16de438ab8
knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
rusefillc 08c50cc1dd logging of live data structs was: data points #3614
progress
2022-04-16 21:04:02 -04:00
rusefillc 3c7eb93fe1 steps towards ignition live data 2022-04-13 16:48:25 -04:00
Matthew Kennedy f1897ba7aa
less dependence on that logger (#3884)
* less dependence on that logger

* comma

* refactor a bit, make it clear what this thing actually *does*

* static

* shrink the buffer a bit and make names useful

* dead util that's just subtraction lol
2022-02-09 06:53:16 -05:00
Matthew Kennedy d8073e8b27
remove mock adc (#3888)
* remove mock adc

* do these do /anything/?
2022-02-03 20:43:34 -05:00
Matthew Kennedy 06437f304f
dead StartupFuelPumping (#3883)
* dead

* test

* dead config too
2022-02-03 08:01:21 -05:00
Matthew Kennedy 717d931e78
refactor decel fuel cut (#3830)
* refactor dfco

* s

* output channel logs dfco

* slightly cheeky comment
2022-01-23 19:44:41 -05:00
Andrey e55eb28086 migrating to SensorType::Rpm API 2022-01-20 22:42:13 -05:00
Andrey 9f08db256b migrating to SensorType::Rpm API 2022-01-20 22:12:04 -05:00
Matthew Kennedy 338c14c3a8
cylinder ignition trim (#3709)
* cylinder ignition trim

* changelog

* changelog

* test

* move UI
2022-01-01 15:47:47 -05:00
Matthew Kennedy ab3e3ac83f
hook up fuel trims (#3715)
* hook up fuel trims

* pass all the params

* store per-cylinder fuel mass directly

* main trigger callback only touches per-cylinder, no banks!

* test test test test

* move UI to happy land

* changelog
2022-01-01 02:19:59 -05:00
Matthew Kennedy d5c4b79b1a
Nb2 crank sync special case (#3727)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* custom nb decoder

* test only resyncs once!

* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
Matthew Kennedy 3a95e86112
calculate per-cylinder ignition timing (#3652)
* simplify cylinder phasing

* per cylinder timing

* s

* s

* s

* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
Scott Smith cbc7c61b3e
Fix potential buffer overrun in cyclic_buffer. (#3583)
This exposed a buffer overrun, so double the size of the buffer (to account for 720 degree engine
cycle vs 360 degree crank events).

Also use proper numeric limits when computing min/max.
Finally, add a lock around the call to cyclic_buffer that actually caused the contention.
2021-11-20 03:01:11 -05:00
Matthew Kennedy caee2a5439
delimeter is not comma (#3533)
* delimeter is not comma

* do it in config txt

* use txt

* s

* string

* compat

* also, spelling is hard

* use new name

* use new name

* generate enough for happy console

* use an even less common character

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 12:01:45 +03:00
Scott Smith 98040ad9af
Make the module API more concise. (#3571)
engineModules.get<FOO>(). becomes modules<FOO>()->

I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -05:00
Scott Smith 988aacdd91
Create a base class EngineModule for that contains various useful callbacks. (#3548)
* Create a base class EngineModule for that contains various useful callbacks.

This cleans up the API by not requiring the notifiers to know about who wants callbacks.  The only
place you need to update to add a module is in one place.

* Add mockability.

* Convert InjectorModel to a Mockable EngineModule
2021-11-17 20:13:19 +03:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Andrey 4002c92dcc refactoring launch 2021-11-15 18:57:12 -05:00
rusefillc 4533ce4764 refactoring - extracting idle state 2021-10-16 23:55:29 -04:00