Commit Graph

198 Commits

Author SHA1 Message Date
alxrMironov 7ebebd6922
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 511b5c22dd unit test for vehicle_speed.cpp #3081 2021-08-01 12:09:53 -04:00
Matthew Kennedy b52d50bbf2
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 eaeade5305 Clutch switch inverted options do not invert detected pedal position
#3044
2021-07-24 18:59:00 -04:00
Andrey 37247db383 Clutch switch inverted options do not invert detected pedal position
#3044
2021-07-24 18:44:13 -04:00
Matthew Kennedy 617c2886d9
adjust taper behavior (#3051)
* adjust taper behavior

* check that taper works in running state too
2021-07-24 16:12:07 -04:00
rusefillc ca34562d5d Clutch switch inverted options do not invert detected pedal position #3044 2021-07-24 15:54:51 -04:00
rusefillc 9c166d86fe Clutch switch inverted options do not invert detected pedal position #3044 2021-07-24 15:36:03 -04:00
Matthew Kennedy 2ce7777865
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 a926357a01 making code more testable 2021-07-14 22:37:05 -04:00
Matthew Kennedy 5bd3ae3aaa
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 007a390f2b
Gate closed loop idle on road speed (#2901)
* implement

* test

* b

* config
2021-07-04 09:35:12 -04:00
Matthew Kennedy a4973a6f3d
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 15d172ab08
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 3ef969d743
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 f3c5ff6d54
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 39e4f70405
iac coast table (#2784) 2021-06-01 00:43:58 +03:00
Matthew Kennedy 7d773bfb1d
make the implementation match what the UI claims (#2779) 2021-05-31 07:37:02 -04:00
Matthew Kennedy a50f8e0077
Idle test that fails (#2781)
* make member func

* failing test
2021-05-31 06:18:15 -04:00
Matthew Kennedy d2f7e96747
code style (#2780) 2021-05-31 06:01:57 -04:00
Matthew Kennedy 13d2ee03bc
idle indicators (#2692)
* add coasting bit

* remove useless bit
2021-05-13 17:35:00 -04:00
Matthew Kennedy bd1c84fa62
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 5145ee4b62
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 4a1d3de9a6
remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 9f0ebaac49
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 bdacda558c
fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
Matthew Kennedy 868f0d47ac
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 2af32084f4
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 7a90692187
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 46583b2a19 Revert "Idle timing PID uses phase logic (#2156)"
This reverts commit 9634a803
2020-12-31 12:22:54 -05:00
Matthew Kennedy 342414a5f7
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 9634a803f1
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 c8ee9fcf3f
use phase computation (#2152) 2020-12-29 07:49:10 -05:00
Matthew Kennedy 1d4ccfff3f
add idle timing defaults (#2155)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 07:47:18 -05:00
Matthew Kennedy 898b7a82e0
move swtiches out of idle (#2148) 2020-12-26 21:31:41 -05:00
Matthew Kennedy 4961a25ab4
start integratig (#2147) 2020-12-26 19:44:40 -05:00
Matthew Kennedy b9e96322c5
Idle refactor open loop (#2146)
* impl

* typo

* tests
2020-12-26 19:34:42 -05:00
Matthew Kennedy 542cb6a420
more testable idle logic (#2140)
* header

* test

* impl
2020-12-26 08:32:01 -05:00
Matthew Kennedy aeea50ada2
move target computation (#2091) 2020-12-17 17:46:51 -05:00
rusefillc e29911114a Starter seems to be engaged forever #1965 2020-11-18 20:01:02 -05:00
rusefillc 4c9c8d42bf Starter seems to be engaged forever #1965 2020-11-18 19:51:51 -05:00
rusefillc cd7cefb669 DC not ETB refactoring 2020-11-16 20:05:35 -05:00
Matthew Kennedy 0e3673e78c
remove idle thread; just call from periodicSlowCallback (#1924)
* remove thread

* remove ui
2020-11-11 21:47:19 -05:00
Matthew Kennedy 3241a43a2d
extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -05:00
rusefi 2c322006d8 Output pin init/deinit needs a linked list #1803 2020-11-03 00:09:42 -05:00
Matthew Kennedy f1c04efefa
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 cb2173aad2 merge got confused 2020-09-07 15:05:47 -04:00
rusefi f33b3eda8a 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 ec0d3a8eb2 Hellen says isIdleMotorBusy
(cherry picked from commit b24246791e)
2020-09-07 14:43:29 -04:00
rusefi b24246791e Hellen says isIdleMotorBusy 2020-09-07 14:12:21 -04:00
Matthew Kennedy 95798a5246
fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
rusefi ca21d5b4c2 refactoring 2020-09-03 19:29:15 -04:00
rusefi 540eef5e0d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi b2db6b604d Weird VAG: DC motor idle valve not ETB #1637
misc progress
2020-07-26 15:22:14 -04:00
rusefi c649b05ebd Weird VAG: DC motor idle valve not ETB #1637
should be better this way
2020-07-26 12:19:30 -04:00
rusefi 3857607fc2 Weird VAG: DC motor idle valve not ETB
#1637
Seattle we might have a problem!
2020-07-26 12:03:36 -04:00
Andrei b7b50e5cb3 Idle PID improvements 2020-07-22 18:39:09 +03:00
rusefi 5feb91dc8f EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 21:35:01 -04:00
rusefi f7da86983a EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 21:13:04 -04:00
rusefi 0079e8d3f0 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 19:06:26 -04:00
rusefi 13aef2dd77 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 18:25:48 -04:00
rusefi 677d5888ed EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter #806 2020-07-12 18:11:10 -04:00
rusefi 8f4dd3e175 https://rusefi.com/forum/viewtopic.php?p=37401#p37401 2020-07-10 15:06:55 -04:00
rusefi 29e3c71df4 https://rusefi.com/forum/viewtopic.php?p=37401#p37401 2020-07-10 14:19:51 -04:00
rusefi 1f4c632cf2 https://rusefi.com/forum/viewtopic.php?p=37401#p37401 2020-07-10 14:03:07 -04:00
rusefi 720ade2319 migrate amazing idle from FSIO to less opaque TS #1581 2020-07-08 01:12:08 -04:00
rusefi b1ab455f31 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 26478ec394
Switch fueling to new axes (#1574)
* switch tables

* missed one
2020-07-05 18:14:55 -04:00
rusefi 23e6ea5475 idle_min through FSIO not working as intended #1553 2020-07-04 22:01:12 -04:00
rusefi e854410778 idle_min through FSIO not working as intended #1553
better idle state logging
2020-07-01 19:10:42 -04:00
rusefi 33eb2eab62 idle_min through FSIO not working as intended #1553
making logging less confusing
2020-07-01 16:37:25 -04:00
rusefi b4f6c6488f helping build 2020-05-08 21:39:35 -04:00
dron0gus f78889c1b3
idle thread: debug output for bipolar stepper (#1409) 2020-05-08 20:05:05 -04:00
dron0gus 5987fb8b88
[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 3052f2ab7b
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 1b84406e77 dead code 2020-04-26 17:40:12 -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
rusefi 656331ebe9 reducing code duplication 2020-04-20 15:57:03 -04:00
rusefi 934898f903 idle duty cycle clamping 2020-04-20 14:11:40 -04:00
rusefi ad7c4f23bc Better handling in case of ETB idle without ETB #1332 2020-04-19 23:55:27 -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
dron0gus 00417b1040
idle: add two coil idle valve support (#1271) 2020-04-06 17:55:41 -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 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 8fd9842310
cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy c19f3e4caa
Control stepper with dual H-bridges (#1121)
* divorce stepper from hw

* oops

* ptr not ref

* hbridge stepper

* typo

* hook up twin h

* hook up hardware

* use config field

* hook up motor repo

* guard tests

* whoops

* ok fix for real

* ok that's the right thing

* do full stepping

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.stagpad.local>
Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
2020-03-10 15:18:29 -04:00
rusefi 6888b09c53 Three wire idle air valve #1122
ugly but should work to begin with
2020-02-04 01:22:04 -05:00
Matthew Kennedy fa5b5b76fb Separate stepper control logic from hardware (#1101)
* divorce stepper from hw

* oops

* ptr not ref

* ptr not ref

* whitespace

* null check
2020-01-15 02:18:15 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
andreika-git 2a39c69f51 iacPidMultTbl + EFI_IDLE_PID_CIC + kinetis_hysteresis (#1043)
* rename EFI_IDLE_INCREMENTAL_PID_CIC -> EFI_IDLE_PID_CIC

* Impl. IacPidMultTable

* Kinetis: Trigger Comparator Hysteresis settings (+adaptive mode)
2019-12-04 00:37:32 -05:00
rusefi 1c96d9541e refactoring 2019-12-02 23:08:18 -05:00
rusefi b04166d173 that's how we can move all fields one by one from boardConfiguration to engineConfiguration
my approach is to move fields from the bottom of BC struct
2019-11-30 10:24:37 -05:00
andreika-git 1808642af1 Starter relay + Hardcoded 'FSIO' + simulator fix (#1032)
* Starter Relay: gui + built-in FSIO impl.

* Hardcoded 'FSIO' replacement for RAM-limited boards

* fix simulator
2019-11-25 20:08:01 -05:00
rusefi bab1744d1d progress towards #961 2019-11-04 22:44:52 -05:00
rusefi 4d095d4844 60/2 VW trigger has running issue on 19/10/19 snapshot fix #986 2019-10-30 20:51:20 -04:00
rusefi 627f73502b steps towards #975 2019-10-18 19:45:32 -04:00
rusefi 0e01355c15 steps towards #975 2019-10-18 18:54:32 -04:00
rusefi 62577c47da preparation for #961
more unified access to pre-calculated value
2019-10-10 08:25:58 -04:00