Commit Graph

219 Commits

Author SHA1 Message Date
Matthew Kennedy 737ee444b8 rip the bandaid: find-replace most of scheduleMsg (#2572)
* biiiig find replace

* more trivial find replace

* pwm

* almost all of them

* few more

* gpio

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 12:53:13 -04:00
Matthew Kennedy 992c16b4af logging cleanup 2: sensors, pid, etb, etc (#2567)
* ts logger

* sensors

* wideband too

* missed one

* init

* motors, pid, etc

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 20:02:32 -04:00
Matthew Kennedy 10a5d1fd76 set 50% target for ETB autotune (#2459)
* 50% target for autotne

* pass target in

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-15 08:54:55 -04:00
Matthew Kennedy 64a36a8003 ETB uses error accumulator (#2435)
* error accumulator

* makefile

* accumulate ETB error

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-08 19:18:35 -05:00
Matthew Kennedy f8747a35bf set all thread priorities in the same place (#2412)
* unify thread priority

* header

* mmc
2021-02-28 07:30:45 -05:00
Matthew Kennedy dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 9b5fa40d16 add option to disable ETB if engine not spinning (#2280)
* config/ui

* trigger central mods

* implement
2021-02-05 17:19:57 -06:00
Matthew Kennedy 4a42543a3f don't write settings if cal didn't work (#2154)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-28 08:03:10 -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
rusefi c67af9632a PROTEUS_QC_TEST_BOARD 2020-12-26 00:57:23 -05:00
rusefi e5e931b5bf docs 2020-12-17 16:59:02 -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 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 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 ad6c24a9cc no feed forward for wastegate (#1971)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-19 20:51:30 -05:00
rusefillc 8a419291c6 DC not ETB refactoring 2020-11-16 20:07:12 -05: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 8c11a6fb4b remove (#1887) 2020-10-18 20:49:42 -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
Matthew Kennedy 87d34ffcee more safe parts probably (#1883) 2020-10-15 22:04:42 -04:00
Matthew Kennedy abfa17216b etb function config 1 (#1881)
* this should all be safe...

* test fix
2020-10-14 22:02:09 -04:00
rusefillc 53c001d541 revering functional part of
Etb function cfg, try again #1860
try again from #1831
2020-10-08 17:09:00 -04:00
Matthew Kennedy cca175c6ea Etb function cfg, try again (#1860)
* 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-08 14:12:03 -04:00
rusefillc aee984d0c2 HW CI has failed 11 times since Oct 2 #1849
Revert "ETB function config (#1831)"

This reverts commit fd7dae8a
2020-10-03 22:00:00 -04:00
Matthew Kennedy fd7dae8ab8 ETB function config (#1831)
* 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-02 20:51:02 -04:00
Matthew Kennedy b79c0fefe5 replace ETB index with function enum (#1807)
* 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
2020-09-28 16:33:07 -04:00
Matthew Kennedy 85304392dd two throttles one thread (#1806)
* two throttles one thread

* look at all this RAM!
2020-09-18 13:47:49 -04:00
Matthew Kennedy 8079e5f292 scale tables using type system (#1776)
* store scale in the type

* efi ratio

* boost control scaling

* fix boost tests
2020-09-10 18:44:10 -04:00
Matthew Kennedy a2e53e8d35 guard (#1726)
* implement

* add bench mode

* add ts cal mode

* TS impl

* include guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-23 23:46:33 -04:00
Matthew Kennedy cc25333fae Auto cal dual etb (#1725)
* implement

* add bench mode

* add ts cal mode

* TS impl

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-23 23:41:35 -04:00
Matthew Kennedy 275def10fe parameter names 2020-07-29 02:22:31 -07:00
rusefi 2218be0d72 Weird VAG: DC motor idle valve not ETB #1637
etbTarget gauge in DC idle mode
2020-07-26 15:07:45 -04:00
rusefi 0302be40ed Weird VAG: DC motor idle valve not ETB #1637 2020-07-26 10:54:51 -04:00
Matthew Kennedy e1c23e0e99 make reality match the test 2020-07-26 03:15:17 -07:00
Matthew Kennedy ab64d78eec clamp idle in VW mode 2020-07-26 03:05:59 -07:00
Matthew Kennedy 79b82da94d implement 2020-07-26 02:55:35 -07:00
rusefi 2c83db49fb restoring ldmp 2020-06-17 19:03:10 -04:00
Matthew Kennedy c46a6e5c0e only setup etb if primary sensor configured instead of proxy (#1489)
* only setup etb if primary sensor configured instead of proxy

* fix test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-06-16 21:38:09 -04:00
rusefi ad0c6355bb docs 2020-06-01 08:50:54 -04:00
Matthew Kennedy 441fe43dab warnings (#1462)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-21 01:08:07 -04:00
Matthew Kennedy ce2beafb5f Redundant tps (#1427)
* add redundant sensor

* add tests

* add configure, info printing

* tests

* tests

* partial hookup

* fix

* fix

* bad makefile merge

* use second TPS config

* update test

* update test

* sensor names

* set second pin by default

* fix auto cal

* auto cal both sensors

* add reconfigure of secondary sensors

* gobblin' up your ram

* slow down write a little bit

* put split in debug gauge

* s

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-18 14:32:00 -04:00
dron0gus 7007627b70 [SAFE] Debug cleanups (#1403)
* electronic throttle: inprove debug

* idle thread: show debug info for configured idle driver

* gpio-chips: make private functions static
2020-05-06 20:06:50 -04:00
Matthew Kennedy 950ff9cb80 ETB auto-PID: auto set values in TS (#1400)
* switch to thread

* actually use default frequency define

* crank ADC too

* make space in RAM

* remove TS field

* this should work for test

* auto cal

* wire up bench testing

* auto gains too

* s

* fix

* rearrange a bit

* inject

* remove unused bit

* mock repair

* move

* add maintainconstantvalue

* add disable button

* cleaning

* move state inside

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-06 08:39:02 -04:00
Matthew Kennedy 5ac535c5e5 Support 4 h-bridges (#1392)
* update dc motor api

* add more etbio

* get out of two arrays

* hand generate enough

* forgot engine param

* ram

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-02 17:54:28 -04:00
rusefi 93ee6c36e3 https://github.com/rusefi/rusefi_documentation/issues/37 2020-04-29 18:41:40 -04:00
Matthew Kennedy fefafd61b8 TPS Auto Calibration with ETB (#1382)
* switch to thread

* actually use default frequency define

* crank ADC too

* make space in RAM

* remove TS field

* this should work for test

* auto cal

* wire up bench testing

* s

* fix

* rearrange a bit

* inject

* remove unused bit

* mock repair

* guard for ECUs without ETB
2020-04-28 19:31:41 -04:00
Matthew Kennedy dee2568fd5 Minor ETB improvements (#1381)
* fix pid reset and pedal failure

* pause control later

* test pauseEtbControl

* update tooltip + field name

* update test
2020-04-28 16:52:40 -04:00
rusefi 4460d92a30 useful content from Move ETB control to a thread #1374 2020-04-28 08:05:18 -04:00
Matthew Kennedy 7e067eb0b5 Move ETB control to a thread (#1374)
* switch to thread

* actually use default frequency define

* crank ADC too

* make space in RAM

* remove TS field

* this should work for test

* fix dt

* re-resize ram
2020-04-28 07:22:31 -04:00
Matthew Kennedy 2fbedc000f ETB autotune in its own function (#1350)
* pull out autotune

* oops
2020-04-22 22:22:28 -04:00
Matthew Kennedy b1741bdd6e Improve ETB idle control (#1319)
* compress idle pos

* fix tests for new behavior
2020-04-20 17:29:03 -04:00
Matthew Kennedy ce08650f65 Inject idle to ETB (#1335)
* inject idle position

* pointer

* etb idle tests

* extract mocks

* ops

* test negative case too

* don't convert for etb

* guard
2020-04-20 16:26:35 -04:00
Matthew Kennedy 3418356b6b ETB: inject pedal map (#1334)
* add clampf

* more tests

* public

* missed a mock

* fix output duty clamping

* do it that way

* more

* ah ha!

* test negative too

* clamp pedal

* inject pedal map

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-20 14:34:45 -04:00
Matthew Kennedy d17afd3a63 ETB testing: output, position clamping (#1333)
* add clampf

* more tests

* public

* missed a mock

* fix output duty clamping

* do it that way

* more

* ah ha!

* test negative too

* clamp pedal

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-20 13:52:20 -04:00
Matthew Kennedy 830f03c003 Closed loop controller base & ETB testing (#1322)
* closed loop controller base

* etb tps test

* closed loop controller tests

* test support

* update gtest

* fix for change

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 17:18:47 -04:00
Matthew Kennedy d666743ab5 filter ETB autotune results (#1281)
* Astrom-Hagglund

* enums

* comments

* dead

* fix

* changed enum

* ts guard

* safety

* etb autotune debug channels

* filter results

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-11 22:28:50 -04:00
Matthew Kennedy 9bbb7bc497 etb autotune (#1274)
* Astrom-Hagglund

* enums

* comments

* dead

* fix

* changed enum

* ts guard

* safety

* etb autotune debug channels

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-11 22:15:49 -04:00
Matthew Kennedy 1a59950240 support ETB disable pin (#1273)
* config & hand gen

* board configs

* add dc motor support

* initialization

* also set duty to zero

* use disable in etb

* fix proteus default

* add TS fields

* I guess we needed 8 bytes

* :D

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-10 17:27:13 -04:00
Matthew Kennedy b934cb666b simplify (#1275) 2020-04-10 08:12:16 -04:00
Matthew Kennedy 44bb09d1a4 yet more tps consumers (#1258)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

* engine load

* ve lookup

* unused

* oops we needed that

* oops needed that too

* mocking

* test mocks

* oops

* helps to use the right sensor

* and cylinder cleanup

* fuel math

* typo

* old tests

* kill dead stuff

* cleanup

* more

* fix

* test

* s

* fix signature

* fix test

* comment

* priming pulse

* remove mock tps

* remove more dead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-05 09:11:25 -04:00
Matthew Kennedy cd3dc7f91b fix (#1251) 2020-04-03 07:48:12 -04:00
Matthew Kennedy d16ff88e30 run ETB on new TPS (#1248)
* run ETB on new TPS

* why did we include all those...?

* init tps for etb test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 21:33:49 -04:00
Matthew Kennedy 7e4f4ca97e Replace hasPedalPositionSensor (#1245)
* remove

* add Sensor::hasSensor

* consume in etb

* remove unused state

* don't use it there either

* format

* fix up tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 08:04:12 -04:00
rusefi 48baff1789 partial revert 2020-04-02 00:37:02 -04:00
rusefi be5b4fb3c6 less ETB in case of critical 2020-04-02 00:32:03 -04:00
Matthew Kennedy 8235d8d765 Fully switch acc pedal to new sensors (#1212)
* proxy sensor

* header

* idle

* can

* settings

* remove old mocking

* remove old impl

* etb

* oops, gotta actually register it

* fix test

* structured bindings ftw!

* driver intent for stepper

* tear out old

* oops too much
2020-04-01 20:21:03 -04:00
rusefi c6ac5ed888 progress 2020-03-28 20:56:58 -04:00
Matthew Kennedy 6d8eedf9ca Split out EtbHardware (#1168)
* start tear out motor

* fix

* nuke reconfig

* guard for test

* test fixing

* format, condense headers

* fix todos

* undo todo

* format
2020-03-03 17:56:50 -05:00
rusefi 923daaa3a1 ETB: expand automated testing #115 2020-02-22 23:18:02 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
rusefi 20a6cf130f better method name 2020-01-10 02:02:22 -05:00
rusefi afa5de2655 ETB documentation improvement? 2019-12-30 10:25:52 -05:00
rusefi 7577d81689 typo 2019-12-14 18:33:08 -05:00
rusefi 27f617686b progress towards ETB controller mocking 2019-12-13 13:52:34 -05:00
rusefi 2c296c0f18 etbActualCount logic to handle the scenario where only one ETB is present 2019-12-13 12:50:34 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
Matthew Kennedy 87ec74119d ETB Encapsulation & C++ Conventions (#1049)
* encapsulate etb stuff, c++ conventions

* remove DECLARE_ENGINE_PTR/INJECT_ENGINE_REFERENCE

* reduce include dependencies

* Revert "reduce include dependencies"

This reverts commit c529bbbf757cd9070f6e00616f84b1229eeb768e.

* Revert "remove DECLARE_ENGINE_PTR/INJECT_ENGINE_REFERENCE"

This reverts commit ca98b18cd4dae24b993d1263a18daf509dcd54b9.
2019-12-10 19:37:04 -05:00
rusefi 07b7b62bca refactoring 2019-12-02 23:08:18 -05:00
rusefi ed9bae63af dual throttle re-init bugfix thank you andreika! 2019-12-01 09:39:34 -05:00
rusefi 34f53bd102 making things nicer with dual ETB settings 2019-11-30 17:38:33 -05:00
rusefi fd5c45ba46 all ETBs to run in same HW mode 2019-11-30 01:00:54 -05:00
rusefi 75b1a9e52c all ETBs to run in same HW mode
taking a step back and going to bed :(
2019-11-30 00:39:00 -05:00
rusefi 02f4e847f4 all ETBs to run in same HW mode 2019-11-30 00:25:33 -05:00
rusefi 349eac34de better state validation, better error codes 2019-11-29 23:41:26 -05:00
rusefi 4d6052c9f3 dual ETB seems to work! 2019-11-29 20:15:29 -05:00
rusEfi 13d4ae2169 dual ETB seems to work! 2019-11-29 19:06:50 -05:00
rusefi 73b3150d0f all ETBs to run in same HW mode 2019-11-29 19:02:12 -05:00
rusEfi 980a3d7086 all ETBs to run in same HW mode 2019-11-29 16:51:51 -05:00
rusefi 002a08316c steps towards dual ETB 2019-11-28 15:24:30 -05:00
rusefi 265727b7db steps towards dual ETB 2019-11-27 22:07:36 -05:00
Matthew Kennedy 0a7535fb1f Use templated array references (#1027)
* update defs

* consumers, use default params

* setArrayValues in tests

* floats

* test fixing
2019-11-22 23:27:24 -05:00
rusEfi c141d42a87 v12 and minor ETB 2019-11-22 23:27:03 -05:00
Matthew Kennedy 783ed572a9 inject interfaces to ETB, renaming (#1026)
* inject interfaces, renaming

* format

* null check

* that was a dumb typo

* fix indent
2019-11-22 20:53:54 -05:00
Matthew Kennedy 10a6f652d3 DC motor improvements (#1025)
* extract interface, comments, conform names

* fwd declare
2019-11-22 16:30:44 -05:00
rusefi 96443d079d following the pattern 2019-11-21 13:35:57 -05:00