Commit Graph

141 Commits

Author SHA1 Message Date
Matthew Kennedy 8c3be2cefc Post cranking fuel tweaks (#2718)
* post cranking factor limits

* sensible defaults

* but not for tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-05-17 17:24:29 -04:00
Matthew Kennedy d7f9d42e07 Hook up multi bank fuel trim (#2532)
* multi bank trim

* cleaning

* output channels

* output channels
2021-05-08 17:41:50 -04:00
Matthew Kennedy 967383dd8e remove simple cases of LoggingWithStorage (#2569)
* remove simple cases

* more simple

* serial

* s

* more

* try memory

* easy

* mmc acc

* that's how much memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-19 08:11:59 -04:00
Matthew Kennedy 2bf833a1ee Usable fuel consumption data/gauges (#2474)
* fuel consumption

* gauge names

* consumers

* obd

* binary logging

* doesn't need explicit constructor

* getters

* it works

* correct for injections per cycle

* datalog

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 17:04:42 -04: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
Matthew Kennedy dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
rusefillc d0a5cb6e38 M62T vanos support #2243 2021-02-08 22:30:02 -05:00
rusefillc dc79ee1511 M62T vanos support #2243 2021-02-08 22:07:14 -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 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
rusefillc 085a5f38b8 making console happier 2020-12-05 21:56:39 -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
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
rusefillc 3314394dd9 refactoring: better method name 2020-10-17 18:45:08 -04:00
Matthew Kennedy e112bbd07e remove virtual calls from hot path (#1857)
* const ref-ify

* no virtual 

* even more const

* tests

* fix tests
2020-10-05 16:42:50 -04:00
Matthew Kennedy ebc884e8d5 trigger decode cleanup and perf (#1853)
* trigger decode cleanup

* test config ptr patchup

* disable CDM by default
2020-10-04 19:29:26 -04:00
David Holdeman e8e2cf2cfd DebounceButton A/C switch (#1782)
* change acSwitch name, add mode

* fix

* remove some adc stuff

* remove some adc stuff

* semicolon stupid

* left behind

* add readpinstate

* wrong var name

* add functions back

* fix name

* bool, not void, plus fix name

* move

* not sure what I broke

* try setMockValue

* namespace

* whoops missed one

* switch values because adc was set up for pullup

* try 5

* comment for now

* comment for now

* uncomment tests, add function to mock, add mock to efiReadPin

* fixes

* for F's sake

* if

* add defy

* pass params

* use ASSERT_TRUE/FALSE

* advance time

* remove ifdef from readPin

* try moving if

* move to separate func

* move extern

* move include

* try engine_test_helper

* am confuse

* move func to else

* include hal

* add efi prod check

* remove include

* try extern

* move include

* semicolon stupid

* move extern again

* include

* move mockPinStates

* size

* add if

* add comment

* clean on instantiation
2020-09-10 22:16:20 -04:00
Matthew Kennedy a3db817f6e Move ve logic (#1762)
* move ve

* fix build

* fix rendering

* duh

* cleaning

* correct scaling

* put some back

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-06 19:06:32 -04:00
Matthew Kennedy fc02c2bdf4 fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
Matthew Kennedy bad69c812e move lambda in to sensor model (#1736)
* lambda sens

* fix init

* fix

* a test for good measure

* he's climbin in your windows, snatchin you ram up

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-01 16:22:31 -04:00
rusefi b19ffa7075 TriggerConfiguration getPrintPrefix 2020-08-29 17:25:42 -04:00
rusefi 4322f78591 verboseVVTDecoding 2020-08-29 17:05:54 -04:00
rusefi ed3eaf319c VVT support for VAG trigger #883 2020-08-27 00:06:10 -04:00
rusefi e46681f552 VVT support for VAG trigger #883 2020-08-26 23:35:11 -04:00
rusefi bdbee0d38b VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 0f9e8bf83e VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
Matthew Kennedy 4b25095679 cleanup 2020-07-21 14:13:29 -07:00
Matthew Kennedy 20ed7e6615 fix for test 2020-07-21 11:54:32 -07:00
Matthew Kennedy 6fc2ed0e0a we want fuelingload there 2020-07-21 00:10:05 -07:00
Matthew Kennedy d14a0e01e8 use ign load for ign 2020-07-20 23:11:48 -07:00
Matthew Kennedy 531f1c63c7 fuel math simplifications (#1485)
* simplify

* fix

* tweak

* cleaning

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-06-17 17:15:04 -04:00
Matthew Kennedy 2525a9a22c Factor out airmass logic (#1483)
* refactor

* extract more airmass

* rename, fix tests
2020-06-06 07:25:19 -04:00
Matthew Kennedy d0e5b8674f Integrate stft (#1475)
* code changes

* missed a spot

* update UI

* gauge name

* adjust gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-31 16:59:05 -04:00
Matthew Kennedy c95ed26d89 Remove old thermistor implementation (#1458)
* remove test clt/iat

* remove warning since this code is nearly dead

* remove old therm impl

* tests & live doc

* not quite right
2020-05-28 17:51:33 -04:00
Matthew Kennedy 942403cec2 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 83592f0dff 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
Matthew Kennedy 3abd181f6f 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
Matthew Kennedy 606a7fff0d 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
rusefi 856d4618cd could this work? 2020-04-03 16:14:29 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy b7b67a2a7f 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 1735529a6b refactoring: extracting DEEP_IN_THE_PAST_SECONDS contant 2020-01-31 01:21:56 -05:00
Matthew Kennedy f8cd2ad3ce use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi b415508c70 codes clean-up 2019-12-02 20:16:41 -05:00
Matthew Kennedy 89ca9a0406 Merge remote-tracking branch 'upstream/master' into perf-tracing 2019-10-14 23:45:39 -07:00
rusefi c938b0d374 preparation for #961
more unified access to pre-calculated value
2019-10-13 09:59:06 -04:00
Matthew Kennedy 076b10fcb6 experiment 2019-10-11 17:43:21 -07:00
rusefi abfdfe6896 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:25:58 -04:00
rusefi 2c8a2b61a5 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:16:21 -04:00
rusefi a5f09ef378 preparation for #961
macro as a syntax sugar for method invocation
2019-10-10 07:37:37 -04:00
Matthew Kennedy 821ca6156f move tsOutputChannels to header (#970) 2019-10-08 21:02:51 -04:00
rusefi cfbf5e0b12 ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 17:43:00 -04:00
rusefi f65fc4fec1 ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 17:39:13 -04:00
Matthew Kennedy dfcc9dba04 add sensor framework, tests (#929)
* add framework, tests

* move oil pressure to new way

* add init logic

* brackets on the same line

* spaces -> tabs

* spaces -> tabs for tests

* bracket on same line

* hook up sensor mocking

* add nan check

* fix nan check

* I wrote an essay

* casing

* only init if we have a sensor to init

* style, actually call init

* format

* fix casing

* typo

* implement linear sensor

* wire up producer

* smarter limiting

* setup comments

* add reporting

* doxyfile

* oops

* add adc subscription

* clarity

* fix logic

* multiply voltage

* test styling

* test guards

* remove dependencies

* linear sensor test

* remove unused

* fix merge

* format, implicit convert op

* explicit

* format tests

* fix merge
2019-09-21 14:33:38 -04:00
rusefi f2e67b05c0 unit tests progress 2019-09-20 00:25:43 -04:00
rusefi d83ed085e8 unit tests progress 2019-09-19 22:56:54 -04:00
rusefi f533617b29 LiveData progress: isChanking & hasEtbPedalPositionSensor 2019-08-31 17:07:21 -04:00
rusefi a8f7a8965b cranking fuel live data #911 2019-08-26 23:41:04 -04:00
rusefi 5ffa32185f refactoring: extracting common magic constants 2019-08-18 12:14:33 -04:00
Matthew Kennedy a2f2a677b4 Remove warmup afr pid (#879)
* config changes

* actually remove from config

* rip out implementation
2019-07-18 18:26:18 -04:00
rusefi 7cacc37fcc FIRMWARE_ID 2019-07-13 14:08:08 -04:00
Matthew Kennedy 0b52f5b542 Template-ize bin/value length for interpolation (#878)
* update consumers

* tests

* whitespace

* format
2019-07-09 21:16:36 +03:00
rusefi f2a034b5aa Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-19 22:34:11 -04:00
rusefi d90c6ee1a3 Annotations in C++ code to produce formulas in rusEfi console #807 (#847)
* Annotations in C++ code to produce formulas in rusEfi console #807
firmware part of the change

* removing unneeded stuff & fixing unit test compilation

* not complete better unit test compilation fix  :(

* better C++ usage
2019-06-17 12:18:55 -04:00
rusefi bc5154694b adding support for smaller table axis 2019-06-10 12:38:32 -04:00
rusefi 19a6a27342 fix #799 2019-05-27 16:12:59 -04:00
rusefi 998345ef9e unit tests should not have global context, including mock values 2019-05-27 15:56:12 -04:00
rusefi c52e5aa465 refactoring: better variable names 2019-05-27 11:17:28 -04:00
rusefi 91c404b353 FEATURE REQ: aux temperature inputs #332 2019-05-09 19:39:21 -04:00
rusefi ea86d987c8 PID - fix dTime usages #776 2019-04-25 21:31:33 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
andreika-git b7a9cc13bb Idle timing PID control & TPS-based VE table (#713)
* Add new config settings for idleTimingPidControl & TPSBasedVeTable

* Add dialogs for idleTimingPidControl settings

* Add dialogs for TPSBasedVeTable settings

* Share the code for getTargetRpmForIdleCorrection() and move it from idle_thread.cpp

* Implement TPSBasedVeTable

* Add PID to advance_map.cpp

* Implement idleTimingPidControl

* Make getAdvanceCorrections() visible to unit-tests

* Unit-tests! Yeah!
2019-03-22 22:55:51 -04:00
rusefi 8303dc7595 refactoring: no logic changes, just nicer variable and method names 2019-03-12 18:54:46 -04:00
rusefi 70f5d3e69c better conditional compilation 2019-01-31 11:57:15 -05:00
rusefi 53e8d10c55 refactoring around GET_RPM 2019-01-21 21:48:58 -05:00
rusefi f487b9363c I like C++11 :) 2019-01-19 22:31:55 -05:00
rusefi 8beae89bcb FSIO testability and test-driven development 2019-01-19 22:09:37 -05:00
rusefi 86a0d67d70 learning C++ 2019-01-15 20:24:36 -05:00
rusefi 234677df36 Trigger: Question: something strange trigger errors #662
second attempt for CUSTOM_ERR_6696 implementation
2019-01-14 11:30:41 -05:00
rusefi 3ba624e279 one step back - fixing tests 2019-01-14 10:23:52 -05:00
rusefi 479edff460 Trigger: Question: something strange trigger errors #662
hopefully CUSTOM_ERR_START_STACK fix
2019-01-14 08:57:08 -05:00
rusefi 9d1292715b enjoying C++11 2019-01-13 23:44:26 -05:00
rusefi b76c015581 Question: something strange trigger errors #662
unit test progress
2019-01-12 21:36:50 -05:00
rusefi 61b2592c39 field name typo 2019-01-12 14:19:21 -05:00
rusefi 9e73d7bafe making warning codes more unit testable 2019-01-12 08:34:38 -05:00
rusefi 7893486065 new unit test 2019-01-11 19:08:15 -05:00
rusefi 937b78718e warning code refactoring related to
Question: something strange trigger errors #662
2019-01-11 09:58:48 -05:00
rusefi 7151749c4a The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657 2019-01-09 21:31:59 -05:00
rusefi 65438e8007 separating engine from not engine 2019-01-05 00:32:56 -05:00