rusefillc
d550893e85
RE usability: live data for idle controller
2022-01-10 20:32:20 -05:00
rusefillc
5eaabf5eb6
RE usability: live data for idle controller
...
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefillc
6fd0ae24d9
RE usability: live data for idle controller
2022-01-10 19:48:58 -05:00
Andrey G
542810cdf4
Stepper direct push pull driver ( #3751 )
...
* Init DC motor through two brain_pin_e only
* idle: stepper: allow driving stepper through 4 output_pin_e
2022-01-07 11:38:48 -05:00
Matthew Kennedy
2ba4c7844d
simplify some table lookups ( #3692 )
...
* simplify
* expand interpolation test
2021-12-20 08:14:30 -05:00
Andrey
d2c46b3310
Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming
2021-12-07 20:18:47 -05:00
rusefillc
c64fb3f595
why so many channels are hidden in debug ? #3614
2021-11-29 01:02:40 -05:00
rusefillc
7760ddd8b6
live data for wastegate #3588
...
i want to persist state so no 'const' sorry
2021-11-23 15:52:43 -05:00
Scott Smith
b3e0b28c75
Make the module API more concise. ( #3571 )
...
engineModules.get<FOO>(). becomes modules<FOO>()->
I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -05:00
Scott Smith
f9f13f0bad
Create a base class EngineModule for that contains various useful callbacks. ( #3548 )
...
* Create a base class EngineModule for that contains various useful callbacks.
This cleans up the API by not requiring the notifiers to know about who wants callbacks. The only
place you need to update to add a module is in one place.
* Add mockability.
* Convert InjectorModel to a Mockable EngineModule
2021-11-17 20:13:19 +03:00
Scott Smith
80091498a6
Programmatically replace ENGINE() and CONFIG() with engine-> etc ( #3565 )
...
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"
git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith
dac2ae9b1d
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* ( #3560 )
...
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*
for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
git grep -l "$i" | xargs sed -i "s/$i//g"
done
git grep -l "inject" | xargs sed -i "/inject[(][)]/d"
for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done
git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h
* Review fixups.
2021-11-16 16:52:11 -05:00
Matthew Kennedy
7296593448
remove engine pointer passing ( #3556 )
...
* some
* more
* more
* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith
c354d30a71
Use Valgrind to detect unitialized variable references. ( #3555 )
...
* Use Valgrind to detect unitialized variable references.
Fix the edge cases that pop up
* Comment and disable Mac run
2021-11-15 23:42:23 -05:00
Matthew Kennedy
bd04dc8352
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefillc
d60e6eb9af
refactoring - extracting idle state
2021-10-17 00:30:26 -04:00
rusefillc
d4e9c1597a
refactoring - extracting idle state
2021-10-16 23:55:29 -04:00
rusefillc
1f1c538fc0
Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
...
dead code
2021-10-14 15:17:09 -04:00
Andreika
99fb5e4204
[DRAFT] Fix cranking->idling taper phase for useSeparate*ForIdle tables ( #3168 )
...
* Rename Phase::CrankToRunTaper -> CrankToIdleTaper
* Change isIdling() to isIdlingOrTaper()
* test_idle_controller.cpp
* useSeparateIdleTablesForCrankingTaper setting
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 12:05:20 -04:00
Matthew Kennedy
dab377d15d
getOrZero ( #3319 )
2021-10-05 19:59:07 -04:00
rusefillc
873ec4cb75
wow that was a bad setting name
2021-09-26 18:07:49 -04:00
Matthew Kennedy
f6e269a3ab
remove old vss implementation ( #3208 )
...
* dead vss
* remove
2021-08-28 01:39:55 -04:00
Matthew Kennedy
e056369f05
actually remove FSIO idle stuff ( #3150 )
...
* debug mode
* pid cleanup
* more dead
* more dead
* wow more dead
* much dead many death wow
2021-08-14 09:48:45 +03:00
rusefillc
ef3bbb063c
dead idle FSIO
2021-08-14 01:48:03 -04:00
alxrMironov
9d1ce540c4
Begin "vehicleSpeed" refactoring. Module switched to "FunctionalPointerSensor" class. #3106 #3107 #3108 . ( #3132 )
...
* Add new sensor type "VehicleSpeed"
* Add "Vehicle speed" sensor to name list
* Add Vehicle speed sensor initialization with function pointer sensor.
* Add init_vehicle_speed_sensor.cpp to Makefile
* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"
* Add warning and TODO to "mock vehicle speed" call
* Replace get & mock "VehicleSpeed" methods in tests
* Remove #warning directive (cause error by current settings)
* Remove stray tab
* Remove explicitly type casting.
* Add "InitVehicleSpeedSensor" function declaration to init.h
* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"
Co-authored-by: alxrMironov <330OMcorporative>
2021-08-12 22:16:51 +03:00
Andrey
84e1f216d6
unit test for vehicle_speed.cpp #3081
2021-08-01 12:09:53 -04:00
Matthew Kennedy
d3ec2b21d1
Use pch in lots of files ( #3066 )
...
* most engine.h
* most engine_configuration
* more
* more
* more
* more
* more
* moooooore
* ok I'm done for now
* oops
2021-07-26 01:05:17 -04:00
Andrey
863a1dddaf
Clutch switch inverted options do not invert detected pedal position
...
#3044
2021-07-24 18:59:00 -04:00
Andrey
230a5d46e7
Clutch switch inverted options do not invert detected pedal position
...
#3044
2021-07-24 18:44:13 -04:00
Matthew Kennedy
d3d2762847
adjust taper behavior ( #3051 )
...
* adjust taper behavior
* check that taper works in running state too
2021-07-24 16:12:07 -04:00
rusefillc
809ece6c91
Clutch switch inverted options do not invert detected pedal position #3044
2021-07-24 15:54:51 -04:00
rusefillc
5fed6d2ffe
Clutch switch inverted options do not invert detected pedal position #3044
2021-07-24 15:36:03 -04:00
Matthew Kennedy
e3849b95d5
don't require EXTERN_ENGINE in every file ( #2969 )
...
* move enginePins
* no more extern engine
* uses
* more
* extern config too
* put this where it belongs
* include correct header
* merge
2021-07-16 18:13:33 -04:00
Andrey
122ef9f637
making code more testable
2021-07-14 22:37:05 -04:00
Matthew Kennedy
16dac2e47c
Disable closed loop idle during cranking->running taper ( #2900 )
...
* implement
* dead file?
* implement tests
* new phase
2021-07-06 08:47:06 -04:00
Matthew Kennedy
3247d4de00
Gate closed loop idle on road speed ( #2901 )
...
* implement
* test
* b
* config
2021-07-04 09:35:12 -04:00
Matthew Kennedy
63524c3f34
fan/AC idle improvements ( #2818 )
...
* fan 2 open loop bump
* we had an AC target bump all this time?!
* format
* enable test
* I can't type
2021-06-15 17:30:35 -04:00
Matthew Kennedy
0c0957f52a
apply open loop idle when in automatic mode ( #2745 )
...
* always apply open loop in closed loop
* simplify flags
* comment
* move
* comment
* missed one
* config for fan bump
* adjust miata defaults
* test fan/ac open loop
* idle CL tests
* test coasting
* test integration case
* fix merge
* put back reset logic for now
* s
* don't need that part
* I guess use OL as baseIdlePosition
* reset condition
2021-06-12 14:21:11 -04:00
Matthew Kennedy
70c0db189d
warnings & assorted cleanup ( #2793 )
...
* lua hook
* validateBuffer
* tables
* simplify fsio table
* test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 14:30:25 -04:00
Matthew Kennedy
f21fa3e652
idle fan/AC open loop bump ( #2785 )
...
* idle open loop ui section
* idle bump logic
* test fan/ac bump
2021-06-01 00:45:04 +03:00
Matthew Kennedy
1f3cbd67ad
iac coast table ( #2784 )
2021-06-01 00:43:58 +03:00
Matthew Kennedy
6fbdb3c2d0
make the implementation match what the UI claims ( #2779 )
2021-05-31 07:37:02 -04:00
Matthew Kennedy
1b607faeba
Idle test that fails ( #2781 )
...
* make member func
* failing test
2021-05-31 06:18:15 -04:00
Matthew Kennedy
6118a6adc6
code style ( #2780 )
2021-05-31 06:01:57 -04:00
Matthew Kennedy
ad505bfb1b
idle indicators ( #2692 )
...
* add coasting bit
* remove useless bit
2021-05-13 17:35:00 -04:00
Matthew Kennedy
8cfb63455d
Logging remove 3 ( #2568 )
...
* ts logger
* sensors
* wideband too
* missed one
* init
* motors, pid, etc
* vvt
* more
* idle
* missed one
* dynoview
* launch
* can
* console IO
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-20 14:09:41 -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
dbebc353a2
remove unused msg parameter ( #2360 )
...
* dead parameter
* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy
7fec313f50
Proteus analog input ci ( #2271 )
...
* test vbatt
* test proteus vbatt
* tolerance
* these don't work on proteus
* new engine type
* test analog input
* more test points, less tolerance
* console build needs this file generated
* only include for hw ci builds
* wiring info
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-03 13:34:48 -06:00
Matthew Kennedy
5bfee13c21
fix instant rpm ( #2180 )
...
* consumers
* impl
* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
Matthew Kennedy
d4965d16f3
Enable idle timing/ve tables based on idle phase logic ( #2213 )
...
* add helper
* advance
* ve
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-11 00:54:37 -05:00
Andrey G
b61ae75fe2
gpio helper ( #2195 )
...
* gpios: isBrainPinValid helper
* LCD HD44780: do not touch pins if DM_NONE or invalid gpio
* Fix isEnabled checks for GPS and Joystick
* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -05:00
Matthew Kennedy
86d3746453
Idle timing uses phase logic, remove falloff ( #2169 )
...
* use phase computation
* move & simplify implementation
* test
* bad merge
* initialize
* wonderful changelog
* now unused parameter
* put back deadzone
* ui
* test deadzone
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 08:06:36 -05:00
rusefillc
7c38714129
Revert "Idle timing PID uses phase logic ( #2156 )"
...
This reverts commit f1ee8b43
2020-12-31 12:22:54 -05:00
Matthew Kennedy
8492f99b91
show when idle is closed loop ( #2160 )
...
* show when idle is closed loop
* semicolon
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-30 08:42:40 -05:00
Matthew Kennedy
f1ee8b431e
Idle timing PID uses phase logic ( #2156 )
...
* use phase computation
* move & simplify implementation
* test
* bad merge
* initialize
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 23:50:56 -05:00
Matthew Kennedy
587536ee4a
use phase computation ( #2152 )
2020-12-29 07:49:10 -05:00
Matthew Kennedy
a76d399bf6
add idle timing defaults ( #2155 )
...
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 07:47:18 -05:00
Matthew Kennedy
5e7dc71365
move swtiches out of idle ( #2148 )
2020-12-26 21:31:41 -05:00
Matthew Kennedy
d20a54b463
start integratig ( #2147 )
2020-12-26 19:44:40 -05:00
Matthew Kennedy
560061e251
Idle refactor open loop ( #2146 )
...
* impl
* typo
* tests
2020-12-26 19:34:42 -05:00
Matthew Kennedy
93cc1e84c3
more testable idle logic ( #2140 )
...
* header
* test
* impl
2020-12-26 08:32:01 -05:00
Matthew Kennedy
d3cbed60af
move target computation ( #2091 )
2020-12-17 17:46:51 -05:00
rusefillc
2af3cdf70e
Starter seems to be engaged forever #1965
2020-11-18 20:01:02 -05:00
rusefillc
c30d0d31f3
Starter seems to be engaged forever #1965
2020-11-18 19:51:51 -05:00
rusefillc
851478f846
DC not ETB refactoring
2020-11-16 20:05:35 -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
e8bb0cfd00
extract idle hardware to its own file ( #1923 )
...
* extract idle hardware
* should fix the build
2020-11-03 18:06:32 -05:00
rusefi
66b61f76a7
Output pin init/deinit needs a linked list #1803
2020-11-03 00:09:42 -05: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
d63d0e185f
merge got confused
2020-09-07 15:05:47 -04:00
rusefi
5243811711
Merge remote-tracking branch 'origin/Hellen_fork_point' into master
...
# Conflicts:
# firmware/controllers/algo/engine.h
# firmware/hw_layer/drivers/drivers.mk
# firmware/hw_layer/stepper.h
# firmware/integration/rusefi_config.txt
# firmware/tunerstudio/rusefi.input
# simulator/simulator/efifeatures.h
2020-09-07 15:02:11 -04:00
rusefi
16580f0afd
Hellen says isIdleMotorBusy
...
(cherry picked from commit 7601952548
)
2020-09-07 14:43:29 -04:00
rusefi
7601952548
Hellen says isIdleMotorBusy
2020-09-07 14:12:21 -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
c476cd3b95
refactoring
2020-09-03 19:29:15 -04:00
rusefi
7d53f5859d
VVT support for VAG trigger #883
2020-08-25 00:59:07 -04:00
rusefi
39ba9a9f19
Weird VAG: DC motor idle valve not ETB #1637
...
misc progress
2020-07-26 15:22:14 -04:00
rusefi
bd1c43ab8f
Weird VAG: DC motor idle valve not ETB #1637
...
should be better this way
2020-07-26 12:19:30 -04:00
rusefi
07df0c78a8
Weird VAG: DC motor idle valve not ETB
...
#1637
Seattle we might have a problem!
2020-07-26 12:03:36 -04:00
Andrei
57f6ad1fdb
Idle PID improvements
2020-07-22 18:39:09 +03:00
rusefi
93d015598a
EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806
2020-07-12 21:35:01 -04:00
rusefi
ffb559d9b3
EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806
2020-07-12 21:13:04 -04:00
rusefi
d70b4a5cb1
EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806
2020-07-12 19:06:26 -04:00
rusefi
93f85b0b93
EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806
2020-07-12 18:25:48 -04:00
rusefi
eff12bbeb1
EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806
2020-07-12 18:11:10 -04:00
rusefi
e18a03766b
https://rusefi.com/forum/viewtopic.php?p=37401#p37401
2020-07-10 15:06:55 -04:00
rusefi
a1b9d58361
https://rusefi.com/forum/viewtopic.php?p=37401#p37401
2020-07-10 14:19:51 -04:00
rusefi
f2eadae4ea
https://rusefi.com/forum/viewtopic.php?p=37401#p37401
2020-07-10 14:03:07 -04:00
rusefi
8bcd46291f
migrate amazing idle from FSIO to less opaque TS #1581
2020-07-08 01:12:08 -04:00
rusefi
4e24b3ece1
idle_min through FSIO not working as intended
...
#1553
we now re-activated idle PID even in deadzone for half a second after A/C toggle
2020-07-06 16:40:16 -04:00
Matthew Kennedy
1bdc5fbaaa
Switch fueling to new axes ( #1574 )
...
* switch tables
* missed one
2020-07-05 18:14:55 -04:00
rusefi
bd39351055
idle_min through FSIO not working as intended #1553
2020-07-04 22:01:12 -04:00
rusefi
c6d0a015cc
idle_min through FSIO not working as intended #1553
...
better idle state logging
2020-07-01 19:10:42 -04:00
rusefi
14fc5a54df
idle_min through FSIO not working as intended #1553
...
making logging less confusing
2020-07-01 16:37:25 -04:00
rusefi
9d2cbd682b
helping build
2020-05-08 21:39:35 -04:00
dron0gus
35af083a6e
idle thread: debug output for bipolar stepper ( #1409 )
2020-05-08 20:05:05 -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
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
0ec3ce595e
dead code
2020-04-26 17:40:12 -04:00