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
7617b115de
Partition configs by board type ( #2106 )
...
* remove old flag
* flags
* reorder switch
* oops
2020-12-22 21:54:40 -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
Matthew Kennedy
30fd52d82d
Fix gpio reinit race condition ( #2098 )
...
* 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
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
2020-12-18 17:18:12 -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
34edf34bf4
only build in config for the correct board ( #2088 )
...
* only build in config for the correct board
* undo
* undo
* undo
* only touch proteus config
* include configs in tests
2020-12-17 17:12:24 -05:00
GitHub build-unit-tests Action
d7acabc19e
Trigger wheel definitions
2020-12-14 00:34:22 +00:00
GitHub build-unit-tests Action
3cda7e1c1e
Trigger wheel definitions
2020-12-13 21:52:33 +00:00
GitHub build-unit-tests Action
0465acc0ab
Trigger wheel definitions
2020-12-13 04:53:28 +00:00
Matthew Kennedy
abf683e775
test ( #2071 )
...
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-12 23:40:05 -05:00
rusefi
ba3065a998
random initial
2020-12-12 21:59:56 -05:00
David Holdeman
456759067d
Trigger action ( #2070 )
...
* push triggers.txt
* tricky whitespace
* remove from gitignore
* add
* echo output for debug
* change path
2020-12-12 21:36:41 -05:00
Matthew Kennedy
26a205f72b
clang warnings again ( #2055 )
...
* s
* changelog
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-11 13:59:28 -05:00
rusefillc
47db5d0d99
clang warnings again #2055
2020-12-11 10:33:00 -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
ce2e7d3cbe
fix mock pins array ( #2050 )
...
* fix
* fix probably
2020-12-10 00:10:58 -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
rusefillc
4072db3052
trigger lifecycle
2020-12-09 12:19:25 -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
Matthew Kennedy
9f9e9f99d1
unit tests in clang ( #2012 )
...
* clang errors
* non-test-only
* debugging
* rules on mac
* makefile
* put back
* let's see if this way makes everybody happy
* no, it does nto
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-05 23:21:17 -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
rusefillc
dae7499c65
docs
2020-12-04 16:10:58 -05:00
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