Commit Graph

1242 Commits

Author SHA1 Message Date
rusefillc 59e4e3187b all triggers should be documented way nicer #2001 2020-12-04 11:58:26 -05:00
rusefillc c6d49e9621 DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT fix #2008 2020-12-03 23:12:30 -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
rusefillc 315bfe6531 avoid float -> int64 conversion #1977
cherry picking...
2020-11-23 23:33:46 -05:00
Matthew Kennedy be71d06dfc remove (#1985) 2020-11-23 20:10:17 -05:00
Matthew Kennedy 8eaae30bca fix #1968 (#1976)
* tanf

* name

* comment, add test
2020-11-22 08:26:17 -05:00
rusefillc 9edcd372ec No latest gcov #1973 2020-11-19 21:57:18 -05:00
rusefillc a671d14b36 No latest gcov #1973 2020-11-19 21:56:48 -05:00
rusefillc 827115f0c2 No latest gcov #1973 2020-11-19 21:32:14 -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
Matthew Kennedy 2792828dce Remove lockAnyContext, replace with CriticalSectionLocker (#1938)
* switch to CriticalSectionLocker

* that's just about all

* clean up last usage

* include hpp for sim

* need the cpp wrappers in the makefile too

* include dir

* include
2020-11-19 06:56:02 -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 b6dac8dac2 Starter seems to be engaged forever #1965 2020-11-18 22:42:41 -05:00
rusefillc b41df605b4 Starter seems to be engaged forever #1965 2020-11-18 21:22:01 -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 786aaf2e3c put getTimeNowLowerNt in to mpu_util (#1950)
* put getTimeNowLowerNt in to mpu_util

* move GPTDEVICE to port_mpu_util

* and remove from efifeatures
2020-11-18 14:17:00 -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
rusefillc 53bcd448cf occasional tunerstudio CRC errors #1943
getting ready for unit test
2020-11-15 11:55:26 -05:00
rusefillc 952e019b01 occasional tunerstudio CRC errors #1943
getting ready for unit test
2020-11-15 11:53:09 -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 6b0c533d2c consolidate EFI_UNIT_TEST and friends (#1940)
* restructure

* guard c++

* idle too

* status_loop.h

* consolidate definitions

* use 1/0 instead, check for existence

* missed a few

* dead define

* defs for bootloader
2020-11-11 20:34:39 -05:00
Matthew Kennedy 74d2af9c6c Move all DECLARE_ENGINE_PTR etc to one place (#1937)
* restructure

* guard c++

* idle too

* status_loop.h
2020-11-11 19:06:04 -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
Matthew Kennedy 94bd5921c5 simplify getTimeNowNt() (#1876)
* remove old impl

* add cpp wrapper to os_access

* clean up os_access

* remove touchTimeCounter

* new impl

* put comment about lock free impl

* include cpp wrappers for BL

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-15 08:57:13 -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
Matthew Kennedy 554304dac3 switch to single precision constants (#1880)
* adjust builds

* fix test
2020-10-14 20:04:35 -04:00
Matthew Kennedy c5291888d0 buffered writer - progress on #1463 (#1875)
* add buffered writer

* rename
2020-10-12 15:10:34 -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
Matthew Kennedy 22a55ce7e6 switch from float to expected<float> (#1862) 2020-10-06 22:33:00 -04:00
Matthew Kennedy 7b333e60ea FSIO refactoring (#1861)
* better fsio tests

* condense operators

* minor parser cleanup too

* comments, too!
2020-10-06 21:54:49 -04:00
Matthew Kennedy 060cfbd778 const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
Matthew Kennedy 540fca8cc9 use expected for event queue next event (#1859)
* use expected for event queue next event

* minor cleanup

* tests
2020-10-05 13:53:34 -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
rusefi 3b9d339db0 unit test for start/stop hardware and pin repository #1811 2020-09-21 12:29:01 -04:00
rusefi f92d894d14 nicer parameter name 2020-09-21 08:57:56 -04:00
rusefi 0b301fb454 unit test for start/stop hardware and pin repository #1811 2020-09-21 08:57:37 -04:00
rusefi 96d3af18f4 unit test for start/stop hardware and pin repository #1811 2020-09-21 05:02:35 -04:00
Matthew Kennedy 4a1b1b6bad fix closed loop fuel (#1797)
* fix

* add a test

* signature
2020-09-19 03:44:01 -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 36234961c1 logging simplification: switch bare functions to member functions: try the second (#1794)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup

* fix sniffer
2020-09-13 11:49:25 +03:00
rusefi ead14bd1ca Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit 39280fb2
2020-09-12 04:36:24 -04:00
Matthew Kennedy 39280fb2c6 logging simplification: switch bare functions to member functions (#1788)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup
2020-09-12 03:08:11 +03: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 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 eb2bc3201c Selectable AFR axis override (#1771)
* add config fields

* config options

* new output channels

* dump out state to ts

* s

* implement override

* enums

* this test is no longer used

* test new behavior

* old

* comments

* impl

* unhide option

* fix

* tests
2020-09-08 17:15:18 -04:00
Matthew Kennedy 8adfef930f Selectable VE axis override (#1769)
* add config fields

* config options

* new output channels

* dump out state to ts

* s

* implement override

* enums

* this test is no longer used

* test new behavior

* old

* comments
2020-09-07 10:15:42 -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
rusefi be49f46057 less hacky testing implementation 2020-09-03 22:52:29 -04:00
rusefi c476cd3b95 refactoring 2020-09-03 19:29:15 -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 286768477c this does not go as planned :( 2020-08-31 08:02:29 -04:00
rusefi 81db997be8 this does not go as planned :( 2020-08-31 07:54:45 -04:00
rusefi 24f12d2993 dead 2020-08-29 09:39:52 -04:00
rusefi 7d53f5859d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi 4e333dac1c VVT support for VAG trigger #883 2020-08-24 02:07:58 -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
rusefi d0705f14ee Allow negative VVT position feedback #1713 2020-08-23 11:49:46 -04:00
Matthew Kennedy f5036a9f84 Add injector model class (#1687)
* stub injector model

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-17 05:22:25 -04:00
Matthew Kennedy 581fe1808f tests 2020-08-10 22:11:25 -07:00
Matthew Kennedy 4ac3ded498 consume 2020-08-10 21:41:03 -07:00
rusefi ae606a6380 trigger and VSS hw integrated testing #1668 2020-08-08 12:03:24 -04:00
rusefi 0ebe7ba059 TS SD integration #1653 2020-08-06 22:05:26 -04:00
rusefi 63acb583c3 testHysteresisSelf 2020-08-04 17:59:31 -04:00
Matthew Kennedy ca8083f4d1 these were testing nothing 2020-08-03 12:22:00 -07:00
rusefi 81a6a30ed5 The Big Refactoring of 2019: folder structure #723 2020-08-02 20:55:27 -04:00
rusefi 85758dea6e The Big Refactoring of 2019: folder structure #723 2020-08-02 20:52:31 -04:00
rusefi 9a33e922af The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
Matthew Kennedy 2572809535 don't rely on periodicFastCallback 2020-07-31 22:09:23 -07:00