Commit Graph

570 Commits

Author SHA1 Message Date
rusefillc 9f90387d09 vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
Matthew Kennedy ff5bf3e3c3 error accumulator (#2434)
* error accumulator

* makefile
2021-03-08 07:40:46 -05:00
Matthew Kennedy 89d71e4379 Compute injection duration later in the pipeline (#2175)
* injector model, test

* new math

* inject fuel based on new math

* tests

* fix

* it should work like this

* format

* update TPS AE even when we're cutting fuel

* comment

* conversion factor

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-03 07:30:56 -05:00
Andrey G cd548b4db2 hip9011 compilation fix, cosmetic clean-ups (#2414)
* Board subaru eg33: has HIP9011 knock sensor

* hip9011: lastExecutionCount does not exist any more

* hip9011: extranc commands to header, use logic math for bitfields
2021-02-28 15:42:57 -05:00
Matthew Kennedy 350a047ead cleanup (#2386) 2021-02-23 16:57:14 -05:00
Matthew Kennedy 12a31e5132 start making tunerstudio more sane: part 2 (#2381)
* ts cleanup part 1

* move more stuff in to the class

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-19 20:48:21 -05:00
Matthew Kennedy 321fe48b27 rework FSIO LEelement (#2374)
* save

* firmware

* test parsing multiple things

* split tests
2021-02-17 23:32:44 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
rusefi 6b848bf896 second bank vvt decoder unit test 2021-02-09 10:16:49 -05:00
rusefi 8a237fa800 M62T vanos support #2243 2021-02-08 22:41:31 -05:00
rusefillc 8fa1a6530b M62T vanos support #2243 2021-02-08 21:50:31 -05:00
rusefi aea4baecb4 M62T vanos support #2243 2021-02-08 21:07:43 -05:00
rusefi 1012b61e02 M62T vanos support #2243 2021-02-08 20:38:38 -05:00
rusefi 2ccb75a064 refactoring: naming consistency 2021-02-08 18:20:53 -05:00
rusefi 4b8a92ccc9 M62T vanos support #2243 2021-02-08 18:08:26 -05:00
rusefi d05edd2a3d M62T vanos support #2243 2021-02-08 16:16:26 -05:00
rusefi 3390bcf0ce refactoring: more structure 2021-02-08 15:59:40 -05:00
rusefillc 11e8a35c15 Trigger pattern request Škoda Favorit fix #2302 2021-02-06 20:53:30 -05:00
Matthew Kennedy 8d9db6b5c1 put vbatt in sensor model (#2261)
* vbatt in sensor model

* sensor name

* vbatt

* s

* oy vei

* a little bit of cleanup

* memory apparently

* cj125 test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-03 07:55:40 -06:00
rusefillc 11aa253ae9 vvt/cam events to pass index 2021-01-31 22:24:45 -05:00
rusefi 0cc7cb8eb4 Revert "Save more space in the angle cache (#2228)"
This reverts commit 1800219e
2021-01-18 18:53:00 -05:00
Matthew Kennedy 1800219e44 Save more space in the angle cache (#2228)
* store event angles in a scaled field

* tests

* comment
2021-01-18 18:31:06 -05:00
rusefillc 0768eb75da weird 2021-01-10 20:29:20 -05:00
Matthew Kennedy 3daa7d4d9a Start support for multi-bank closed loop fueling (#2184)
* cfg

* cell

* N banks

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-10 08:10:49 -05:00
Matthew Kennedy 86d3746453 Idle timing uses phase logic, remove falloff (#2169)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

* wonderful changelog

* now unused parameter

* put back deadzone

* ui

* test deadzone

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 08:06:36 -05:00
Andrey G f962a7bd64 Gpio cleanup #2 (#1530)
* pin repository: PIN_USED size in now equal to brain_pin_e enum size

expect special values...

* smart gpios: register gpio chip to given base (no auto-allocation)

* drivers: gpio: core: add gpiochip_unregister()

* drivers: gpio: MC33810 intergation

* smart_gpio.cpp: cleanup ifdef mess, minor cleanups

* gpio: core: additional check for gpio ranges overlaps

* unit test: gpio chip: fixed and extended
2021-01-06 18:29:47 -05:00
Matthew Kennedy 56b4d87fcd generate triggers.txt from parametric test (#2186)
* add new test

* comment

* remove old

* main cleanup

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 17:58:34 -05:00
Matthew Kennedy 8608df5450 flex fuel AFR interpolation (#2190)
* config

* implement flex

* secondary fuel default

* test

* test works

* rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 16:27:23 -05:00
Matthew Kennedy add0dcd390 switch more map to read from sensor model (#2162)
* hook up map

* check for init

* switch some consumers

* that's the rest of them

* test

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-02 19:13:10 -05:00
rusefillc 7c38714129 Revert "Idle timing PID uses phase logic (#2156)"
This reverts commit f1ee8b43
2020-12-31 12:22:54 -05:00
Matthew Kennedy 83266c904b Put map in the sensor model (#2161)
* hook up map

* check for init

* switch some consumers

* don't do limp for now

* oops

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-30 08:43:49 -05:00
Matthew Kennedy f1ee8b431e Idle timing PID uses phase logic (#2156)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 23:50:56 -05:00
Matthew Kennedy 924ca4f3a4 progress to fsio type safety (#2137)
* rename

* packed type safe fsio value

* comment

* rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-27 17:22:11 -05:00
Matthew Kennedy 5f84cf2a07 limp manager can disable etb (#2143)
* move rev limit to limp manager

* call fatal error

* include order

* fix bug

* tests

* limp can disable etb

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 21:47:27 -05:00
Matthew Kennedy 560061e251 Idle refactor open loop (#2146)
* impl

* typo

* tests
2020-12-26 19:34:42 -05:00
Matthew Kennedy b0f7fbf28a create limp manager (#2142)
* move rev limit to limp manager

* call fatal error

* include order

* fix bug

* tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 17:30:46 -05:00
Matthew Kennedy 93cc1e84c3 more testable idle logic (#2140)
* header

* test

* impl
2020-12-26 08:32:01 -05:00
Matthew Kennedy 90cdd2ee84 rename (#2136)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-25 08:40:54 -05:00
Matthew Kennedy 76e19fc97f fix tach test 2130 (#2134)
* fix

* comment
2020-12-24 21:20:24 -05:00
rusefillc 297adecbca Restore testPulsePerRev #2130 2020-12-24 08:17:43 -05:00
Matthew Kennedy fad3b07b8b Purge e34 config (#2127)
* remove

* enums

* s

* func test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-24 07:31:25 -05:00
Matthew Kennedy 85f0621738 Purge rover v8 config (#2116)
* bye

* goodbye, rover v8

* that snuck in

* use a different config for that test
2020-12-22 10:05:54 -05:00
Matthew Kennedy d3a24c568a gpio unit tests (#2099)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* move gpio mocking

* test gpios

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize

* test deinit
2020-12-18 17:19:02 -05:00
rusefillc f5a5a54683 naming consistency 2020-12-18 09:01:18 -05:00
Matthew Kennedy d3cbed60af move target computation (#2091) 2020-12-17 17:46:51 -05:00
Matthew Kennedy abf683e775 test (#2071)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-12 23:40:05 -05:00
Matthew Kennedy 719e341eeb start fuel pump as soon as trigger events happen (#2038)
* switch pump fsio logic

* value collision

* fuel pump in tests

* mock time since trigger

* test fp

* init pin in test

* fix gpio outputs in tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-10 01:23:24 -05:00
Matthew Kennedy ba1ba1452d second lambda (x-series CAN only, for now) (#2048)
* add sensor

* second sensor

* switch sensor name

* gobblin up your memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-09 20:26:23 -05:00
Matthew Kennedy d7c56f78a9 require redundant TPS for ETB (#2041)
* Require redundant tps for ETB (#2037)

* mod sensor api

* require redundancy

* fix tests

* check that it fails

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>

* add a test that fails but should not

* fix the bug

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-08 06:24:20 -05:00
rusefi 13ac8fe744 not this line yet? 2020-12-07 01:40:26 -05:00
rusefi 412e2b1d40 Revert "Revert "Split ETB in to interface + implementation headers (#2040)""
This reverts commit dae0b606
2020-12-07 01:27:27 -05:00
rusefi e38c6d3660 Revert "Require redundant tps for ETB (#2037)"
This reverts commit c08d0b5e
2020-12-07 01:11:32 -05:00
rusefi dae0b606cb Revert "Split ETB in to interface + implementation headers (#2040)"
This reverts commit 53cbeedb
2020-12-07 01:11:19 -05:00
Matthew Kennedy 53cbeedb99 Split ETB in to interface + implementation headers (#2040)
* split etb interface

* mocks

* fix master while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-07 00:29:09 -05:00
Matthew Kennedy c08d0b5ed8 Require redundant tps for ETB (#2037)
* mod sensor api

* require redundancy

* fix tests

* check that it fails

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-07 00:05:06 -05:00
Matthew Kennedy ab8248427c more ETB test coverage (#2039)
* test no pedal map

* test open loop

* open loop but not throttle

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 23:59:18 -05:00
Matthew Kennedy cd2d568b74 maybe fix sensor init checks (#2034)
* enums

* don't collide

* auto_generated_enums

* check based on new enum val

* maybe this will make generate tool happy

* add a test

* fix test

* fix and add another test

* make clang happier

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 23:19:57 -05:00
rusefillc 8d6255b1e2 Revert "switch rpm calculator to use timer class (#2005)"
This reverts most of 622021e799 commit.
2020-12-06 18:05:53 -05:00
Matthew Kennedy 622021e799 switch rpm calculator to use timer class (#2005)
* add api

* rpm calculator

* fix fsio

* fix float

* remove wrong comment

* fix timer

* clang didn't like this

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 16:01:45 -05:00
Matthew Kennedy 69f754bfbd don't duplicate sensor error logic (#2032)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 15:00:30 -05:00
Matthew Kennedy 7dad3356e9 add isRedundant (#2031)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 14:55:06 -05:00
rusefillc 63e328603f one step back #2017 2020-12-06 08:50:10 -05:00
Matthew Kennedy fbcfb4534a require TPS values to be different (#2017)
* require values to be different

* fix not

* oops

* missed another spot

* test negative cases too

* resets

* test no sensor case

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 00:41:49 -05:00
Matthew Kennedy a806053d52 round rpm instead of truncating (#2023)
* round rpm instead of truncating

* efiround is expensive

* Revert "efiround is expensive"

This reverts commit e5690f89e1b1988aacf5ced1f024d576465a7cd6.

* round is better than rintf

* testing

* it works now?!

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 00:11:57 -05:00
rusefillc 8540343d48 unit tests in clang #2012 2020-12-05 00:22:10 -05:00
shadowm60 45205e7da7 Dyno view proposal (#1999)
* DynoView creation

module implementation and unit_tests

* update acc algo

we only calcualte new acceleration value if speed has changed, not on every callback.

* added acceleration ts_channel

* fixed broken unit tests

* fixed accel sign

* review updates

* Update test_dynoview.cpp

fix unit_tests

* Update engine_controller.cpp

Fix .ram4 unused size

* Update test_dynoview.cpp
2020-12-04 20:28:48 -05:00
shadowm60 b014023560 Launch Control refactoring (#1992)
* refactor

- called from periodicFastCallback
- removed defines

* Update rusefi.input

removed unused configurations.
added clutch inversion option

* Added new tests

fixed limiting only in case we have launch condition and rpm outside of window

* Update launch_control.cpp

Unintialized config update, now it is working fine with VSS and with clutch as well.

* small fixes

updated after review findings

* Fix breaking engine rev limiter

applyLaunchControlLimiting should not overwrite booleans to false!

* Delay timer in seconds

timer uses ms, so convert seconds to ms
2020-12-01 13:03:42 -05:00
rusefillc 701f0b2e20 dead engine config 2020-11-26 20:53:44 -05:00
Matthew Kennedy cf1c99b36c fix etb unit test idle hardware (#1991)
* move check to etb

* give it a sensor to read
2020-11-26 19:21:42 -05:00
Matthew Kennedy 92e36e66b5 fix etb wastegate percent output (#1988)
* wastegate etb should use percent

* percent_t

* fix test
2020-11-25 21:14:06 -05:00
Matthew Kennedy ae53889d10 Boost tolerance (#1986)
* tolerate invalid closed loop config when in open loop mode

* fix test
2020-11-25 07:27:24 -05:00
shadowm60 e69d103461 Launch control unit tests update (#1972)
* testable launch start

* extract base class

* add a test

* fix ts debug

* Launch control unit_tests

updated launch control for a better split
VSS mock for unit tests

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2020-11-19 21:14:38 -05:00
rusefillc f3c9d67d8b Starter is engaged on start-up in pull-up configuration #1969
usability & test improvement
2020-11-19 17:15:28 -05:00
Matthew Kennedy 359a6ddc47 Launch control testable (#1967)
* testable launch start

* extract base class

* add a test

* fix ts debug
2020-11-19 08:15:56 -05:00
rusefillc dbdfd87c6d Starter seems to be engaged forever fix #1965 2020-11-18 23:54:30 -05:00
rusefillc 2c4f048e0d Starter seems to be engaged forever #1965 2020-11-18 23:06:44 -05:00
rusefillc acb65fe307 Starter seems to be engaged forever #1965 2020-11-18 22:56:05 -05:00
rusefillc 2d3ddcde9d Starter seems to be engaged forever #1965 2020-11-18 22:47:40 -05:00
rusefillc a73b2c9298 Starter seems to be engaged forever #1965 2020-11-18 20:53:03 -05:00
rusefillc ab75be8742 Something something unit test ETB does not work #1966 2020-11-18 20:12:58 -05:00
rusefillc 2af3cdf70e Starter seems to be engaged forever #1965 2020-11-18 20:01:02 -05:00
rusefillc 344423e9ab Starter seems to be engaged forever #1965 2020-11-18 19:34:09 -05:00
Matthew Kennedy 80edfe64ce Fix crc again, for real this time (#1948)
* re enable

* changelog

* fix

* fix test

* put some tests back
2020-11-15 16:59:02 -05:00
rusefillc 9262c58ea1 occasional tunerstudio CRC errors #1943
now with a bit of a unit test
2020-11-15 12:44:53 -05:00
rusefillc 1eb0f8808f occasional tunerstudio CRC errors #1943
unit test progress
2020-11-15 12:36:07 -05:00
rusefillc 05e7792ad4 occasional tunerstudio CRC errors #1943
now with a bit of a unit test
2020-11-15 12:27:47 -05:00
Matthew Kennedy 605269c358 remove idle thread; just call from periodicSlowCallback (#1924)
* remove thread

* remove ui
2020-11-11 21:47:19 -05:00
Matthew Kennedy 0fa06e2e2a compensate injector flow based on fuel pressure (#1931)
* injector compensation

* fix

* ui

* testability & comments

* hella testing

* debug channels

* enum value

* auto generated enums

* update comment

* oops too much

* update config fields

* handle failed pressure sensor

* build

* fix

* add some todos for the future

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-10 23:11:22 -05:00
rusefillc 14fffa5136 refactoring 2020-11-05 18:10:44 -05:00
Matthew Kennedy 789926a61d convert cranking defaults to mg (#1921)
* convert cranking defaults to mg

* fix tests
2020-11-03 14:12:26 -05:00
Matthew Kennedy bcabb51222 unused tach field (#1918) 2020-10-29 15:26:01 -04:00
Matthew Kennedy b8c2041467 Everything in lambda! (#1893)
* lambda

* default configs, fix build

* config, gauge, UI

* more digits

* change menu text

* fix that while I'm here

* doesn't need extra word

* todo note

* tests

* last test

* missed a config

* update java

* store target lambda

* more java

* format

* hopefully enough java for CI to pass
2020-10-26 18:15:17 -04:00
Matthew Kennedy 6abc80e74c convert mass -> duration later in the pipeline (#1906)
* cranking duration to mass

* implement

* units

* patch types

* suppress warning

* fix output channels

* add note about how to set it
2020-10-26 07:23:13 -04:00
Matthew Kennedy 5189e0b1d9 fix double deadtime (#1904)
* move global correction factor to fuel mass

* tests

* the fix
2020-10-25 00:12:05 -04:00
Matthew Kennedy 5296de1493 use fuel model (#1901)
* use fuel model

* spit'n'polish
2020-10-23 20:25:47 -04:00
Matthew Kennedy 4d1c331eca second PID config for wastegate (#1889)
* remove

* cleanup

* implement ETB parts

* hook up to boost controller

* tests

* consume

* add cfg field

* ui maybe

* fix

* fix

* add wastegate config test
2020-10-19 08:04:27 -04:00
Matthew Kennedy 5337d9f723 Etb wastegate hookup (#1888)
* remove

* cleanup

* implement ETB parts

* hook up to boost controller

* tests
2020-10-18 21:57:04 -04:00
Matthew Kennedy 2c23085715 Etb function cfg: actually read config (#1884)
* two throttles one thread

* look at all this RAM!

* add enum

* switch from index to function

* test fixup

* improve init logic

* remove old vw idle mode bit

* add config

* better spot for it

* use config init values

* handle null controller array

* fatal error testability

* test new init config

* defaults

* fix for default config
2020-10-18 17:26:38 -04:00
rusefillc 54c3d0f15c HW CI has failed 11 times since Oct 2 #1849 2020-10-16 13:54:12 -04:00
Matthew Kennedy 02c47eeec8 write SD header using new Writer class (#1882)
* write header

* hooray, free memory!

* fix test

* is there really this much free space...?

* no, there is not
2020-10-15 16:00:13 -04:00