Commit Graph

1027 Commits

Author SHA1 Message Date
Matthew Kennedy ba6ec4ac51
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 d728b1ca48
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
Matthew Kennedy fe4b531aeb
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
rusefi 6bd5cd1112 fixing build 2020-04-26 20:40:06 -04:00
Matthew Kennedy f128b33694
General purpose PWM: implementation & tests (#1366)
* config

* significant digits

* renumber enum, no need for a "none"

* ui

* impl base

* error handle MAP

* init & update

* don't need arg

* don't lie about sensor

* fix test build

* test stub

* initialize

* null check

* fix clamping

* test output

* types & enums

* don't need param

* test getOutput

* fix

* output pin instead of brain pin

* default config
2020-04-26 14:06:28 -04:00
Matthew Kennedy a444e09ff8
etb CL test (#1361) 2020-04-24 17:54:03 -04:00
Matthew Kennedy 99489cff67
Improve ETB idle control (#1319)
* compress idle pos

* fix tests for new behavior
2020-04-20 17:29:03 -04:00
Matthew Kennedy 1a5e0a42f8
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 e04008610a
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 0619575716
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 8aac233a5f
rewrite etb tests with gmock (#1330) 2020-04-19 20:32:41 -04:00
Matthew Kennedy 75b009bbae
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
rusefi 71e7fb7e50 TT_RENIX_66_2_2_2 2020-04-19 14:54:02 -04:00
rusefi b287b2f339 TT_HONDA_K_12_1 2020-04-19 14:23:01 -04:00
Matthew Kennedy 0d699bcfe9
Improve unexpected (#1323)
* use type instead of value

* fix remaining initializer-list users

* impruv

* last consumer?

* consumer

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 08:37:43 -04:00
Matthew Kennedy 7f60384c75
add expected helper class (#1321)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 01:53:04 -04:00
rusefi c5a0da2db7 consistency 2020-04-18 22:46:22 -04:00
rusefi be497685a0 Renix 44-2-2 2020-04-18 22:20:17 -04:00
Matthew Kennedy 4d24fdd57d
Fuel/ign correctino on new temp sensors (#1318)
* corrections

* test

* adv map

* tests

* cleanup

* lcd

* fsio

* unneeded

* more math

* last consumer

* cleanup

* fix kinetis
2020-04-18 18:45:30 -04:00
Matthew Kennedy bc15e0826d
CLT consumer: fsio (#1302)
* idle

* CLT test prep

* idle target

* header

* air interpolate

* ancient comment

* fuel cut

* fuel cut, idle tests

* cleanup

* fsio test help
2020-04-15 16:20:45 -04:00
Matthew Kennedy 044766ec70
New clt consumers part 1 (#1301)
* idle

* CLT test prep

* idle target

* header

* air interpolate

* ancient comment

* fuel cut

* fuel cut, idle tests

* cleanup
2020-04-15 09:48:17 -04:00
rusefi 697055bd9f fixing master 2020-04-14 12:55:39 -04:00
rusefi ced931c9b2 new attempt at better simulator 2020-04-13 13:12:55 -04:00
Matthew Kennedy e1301f3c47
fix maf (#1287) 2020-04-12 15:52:29 -04:00
Matthew Kennedy ff867b9301
fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
Matthew Kennedy 8006c0a548
CLT/IAT/Aux in the new sensor world (#1269)
* hook up clt

* init test

* probably fix test

* aux temp

* relax checking

* more significant figures

* remove old aux temp

* hand generate

* claim RAM

* move to ccm

* subscribe

* info printing

* warnings

* raise high voltage failure threshold

* fix test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-07 16:07:09 -04:00
rusefi d3745c0f9e smart gpio clean-up 2020-04-06 14:13:29 -04:00
Matthew Kennedy 200bfe3f80
Deadband helper & tests (#1267)
* deadband

* header

* comment
2020-04-06 09:16:26 -04:00
Matthew Kennedy 595df15dfd
fix (#1268) 2020-04-06 09:00:26 -04:00
Matthew Kennedy 345bf61bd5
Goodbye, old TPS (#1266)
* clear out tps

* boost control

* aux valves

* launch, aux valves

* unused field
2020-04-05 19:33:33 -04:00
Matthew Kennedy 7d5df29fbd
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 3186741ddc
TPS Initialization Testing (#1264)
* test support

* stub for tests

* plumbing so we can test this

* add test

* comments
2020-04-05 09:10:08 -04:00
Matthew Kennedy bc3f0c6b27
More TPS consumers: VE lookup (#1256)
* 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

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-04 08:41:09 -04:00
Matthew Kennedy 9f75c0cea6
TPS consumers: idle and ignition and obd2 and lcd (#1254)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-03 19:59:08 -04:00
Matthew Kennedy b197c6ff07
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
shadowm60 ea4cfa9046
E30 M3 Tach output solution #907 (#1203)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-04-02 15:20:04 -04:00
Matthew Kennedy b015ec5944
Add redundant sensor (#1249)
* add redundant sensor

* add tests

* add configure, info printing

* tests

* tests

* casing

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 08:55:21 -04:00
Matthew Kennedy 22267e5479
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 a47dce4025 code style 2020-04-01 21:32:21 -04:00
Matthew Kennedy 50cd6549a2
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
Matthew Kennedy 483d4a2204
Debuggability in the new sensor world (#1238)
* rename to avoid conflict

* fix efilib

* add sensor printing

* makefile

* that check was already there

* const

* const

* fix tests

* formatting

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-30 18:29:42 -04:00
Matthew Kennedy 53679fab54
Finally rename injector_central to bench_test (#1229)
* bench test rename

* rename consumers

* good lord what are all of these externs doing

* fix tests
2020-03-26 08:03:55 -04:00
Matthew Kennedy a5d4d06868
Multispark implementation (#1192)
* multispark prototype

* only multispark if not cut

* typo

* do some reasonableish math

* consume cfg

* todo

* bad merge

* move math out of engine2.cpp

* engine state config

* consume generated

* use new

* hand generate

* doc, debugging

* debug channel names

* don't depend on rpmcalc

* safer, fix math

* tests

* default multispark config

* remove todo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-26 01:49:36 -04:00
rusefi 1955af0b6c random code inspired by Ola 2020-03-24 19:50:04 -04:00
rusefi 5dce6e7104 launch control #203
somewhat questionable code
2020-03-23 23:20:54 -04:00
rusefi a32ae209d0 48 pin documentation 2020-03-21 10:41:25 -04:00
Matthew Kennedy d5600995e2
fix (#1202)
* fix test

* shrink memory
2020-03-19 20:02:49 -04:00
rusefi a33d479683 CLT stops working when using 2-0 custom trigger wheel #1171 2020-03-06 01:31:04 -05:00
Matthew Kennedy 40b0783205
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
Matthew Kennedy 8647abd22b
Add single flag for omitting PnP configs (#1157)
* switch to single enable flag

* engine_configuration.cpp
2020-02-24 19:08:02 -05:00
rusefi 04a4e2bca3 ETB: expand automated testing #115 2020-02-22 23:18:02 -05:00
rusefi e9a3b218c4 miata vvt trigger decoding is broken #1145 2020-02-14 13:02:27 -05:00
rusefi a2c4b36edc Merge remote-tracking branch 'remotes/origin/2019.12.25_release_1.19.12_xmas' 2020-02-14 10:51:26 -05:00
rusefi ed2b7578a5 Merge remote-tracking branch 'remotes/origin/2019.12.25_release_1.19.12_xmas' 2020-02-14 10:50:50 -05:00
rusefi 243a532f84 miata vvt trigger decoding is broken #1145 2020-02-14 10:49:22 -05:00
rusefi 9790052596 miata vvt trigger decoding is broken #1145 2020-02-14 09:33:29 -05:00
rusefi 75d9417131 miata vvt trigger decoding is broken #1145 2020-02-14 00:37:36 -05:00
rusefi 0d1f45422e cam/vvt decoder 2020-02-05 01:49:33 -05:00
rusefi 4e8f9f0d30 cam/vvt decoder test progress 2020-02-05 01:08:39 -05:00
Matthew Kennedy c7dce2e38b
Rescale TPS (#1112)
* fake adc ticks

* consumers

* fix test 1

* fix tests
2020-02-01 16:41:07 -05:00
rusefi d63dae9301 this test is even better now! 2020-01-31 13:45:15 -05:00
rusefi f6e7e8871a VVT refactoring & assertions for VVT test 2020-01-31 01:49:10 -05:00
rusefi b6e0bc7ed1 date & VVT test progress 2020-01-31 01:23:01 -05:00
rusefi b6fe6555e0 lovely tiny bug which mostly affects NB2 with an impossible one tooth crank trigger wheel 2020-01-30 01:47:34 -05:00
rusefi d9b96fe509 extracting class & codes clean-up 2020-01-28 00:16:33 -05:00
rusefi 282cd8e1ac trigger refactoring 2020-01-26 14:20:55 -05:00
rusefi 51ab9f5b57 reducing code duplication 2020-01-26 06:28:33 -05:00
rusefi db2ab72d12 refactoring trigger 2020-01-26 03:33:45 -05:00
rusefi 9d0c5540d8 refactoring 2020-01-22 00:40:26 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
rusefi 0bab01369a refactoring: no need to specify parameter manually 2020-01-12 10:43:02 -05:00
Matthew Kennedy d3d088676b Add timeout + raw value access for sensors (#1098)
* timeout

* inject stamp

* allow getting raw value

* plumb timeout

* fix tests
2020-01-12 03:25:23 -05:00
rusefi 645f51a038 better method names 2020-01-10 23:17:58 -05:00
Matthew Kennedy a6a1335adb Require tooth reference time for scheduleByAngle (#1091)
* injection

* injectors

* add edge timestamp to ShaftPositionListener

* scheduleByAngle require edgeTimestamp

* schedule with nt not us

* oops, these were missing from this branch
2020-01-09 23:45:13 +03:00
Matthew Kennedy 851c6041b1 Inject timestamps in to hwHandleShaftSignal (#1090)
* injection

* injectors
2020-01-09 21:19:11 +03:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
Matthew Kennedy 95a7a9a8e1 Strongly typed action constructor (#1087)
* strong typing

* maybe we needed that one
2020-01-07 18:10:31 -05:00
Matthew Kennedy 5c85d53e16 Pass action_s instead of callback/param (#1084)
* change action

* consumers

* fix test

* didn't mean to add those

* simplify

* fix simulator

* fix sim for real

* oy

* maybe this time the simulator will actually be fixed, for real

* don't rely on undefined behavior
2020-01-07 00:41:18 -05:00
rusefi cb9fc19f92 that's not a worth a file 2019-12-24 00:03:53 -05:00
rusefi 595db366be dead code 2019-12-23 23:42:50 -05:00
rusefi c38b4545eb refactoring 2019-12-23 23:32:43 -05:00
rusefi 3494f6ff9f adding simplicity 2019-12-23 23:25:08 -05:00
rusefi 8ffbe768cd simplicity? 2019-12-23 22:50:04 -05:00
rusefi 1576a9f731 adding simplicity 2019-12-23 22:30:58 -05:00
Matthew Kennedy b9454790c7 Add new sensor function types (#1065)
* add functions

* add tests

* add chain tests

* float suffix
2019-12-17 09:06:29 -05:00
rusefi bd1bcccc19 this stuff is pretty dead 2019-12-15 21:59:25 -05:00
rusefi 5cf141065e fixing build is my most favourite time! 2019-12-13 18:37:11 -05:00
rusefi aa1b7e2c6b and finally a unit test, like it shoud be! 2019-12-13 14:55:20 -05:00
rusefi 236d952335 progress towards ETB controller mocking 2019-12-13 13:52:34 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi 05ab778396 clean-up 2019-12-10 01:03:02 -05:00
rusEfi 1cc71ef8ec dual-ETB progress 2019-12-10 00:07:46 -05:00
rusefi c5cfd21a70 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi d6471a84bc Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -05:00
rusefi 717abd6b67 Refactor Trigger System #635
injecting callback via parameters via magic and potentially broken field manipulation
2019-12-06 01:05:19 -05:00
rusefi 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi de36f76882 The Big Refactoring of 2019: folder structure #723 2019-12-03 23:52:44 -05:00
rusefi 500315b042 refactoring - updating name according to new reality 2019-12-03 14:39:11 -05:00
rusefi eb305f0265 #490 2019-12-03 00:29:12 -05:00
rusefi bec88bf8c8 EngineTestHelper progress 2019-12-03 00:20:47 -05:00