Commit Graph

2584 Commits

Author SHA1 Message Date
GitHub build-firmware Action 8fd70f63a1 Auto-generated configs and docs 2021-03-14 21:30:08 +00:00
rusefillc 99787df047 VAG MQB 2021-03-14 17:27:26 -04:00
Matthew Kennedy 765895d913 Fuel pressure sensor checks (#2449)
* test for missing sensor

* test negative pressure delta checking logic

* test new hasSensor logic
2021-03-12 23:32:41 -05:00
Matthew Kennedy 72214b8b77 default config, UI tweaks (#2444)
* s

* fix this while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-12 00:16:24 -05:00
rusefillc 9f90387d09 vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
rusefillc 98eae45094 vBatt -> SensorType::vBatt #2260 2021-03-11 22:52:34 -05:00
rusefillc 416c65b475 vBatt -> SensorType::vBatt #2260 2021-03-11 22:44:59 -05:00
Matthew Kennedy a7a82b1aab remove lastTriggerToothEventTimeNt (#2430)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 17:11:50 -05:00
slowriot 9a8c2516ee Add two new V8 firing orders (#2423)
* fix typos, spelling

* add two V8 firing orders

* use the available number of CPU cores, not just 4

* add new firing orders to config

* updating generated files to include new v8 firing orders

* reverting update of auto-generated files

* correct firing order labels for new firing orders
2021-03-05 19:28:17 -05:00
Matthew Kennedy 122f31fe4a hook up lps25 on proteus (#2418)
* hook up lps25

* it would help to include all the files

* unguard some stuff

* unguard more

* guarding

* s

* guard

* only register if init worked

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 22:39:20 -05: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
rusefillc b00a05aa17 aux valve to CI 2021-02-18 00:11:10 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
Matthew Kennedy dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
rusefi 6c9416daa9 aux pid is now VVT 2021-02-10 12:41:38 -05:00
Matthew Kennedy a3d0b61cf1 get mcu temperature within port (#2326)
* remove EFI_ADC_TEMP_SENSOR

* implement

* comment

* s

* switch adc_inputs over

* header

* s

* I think aligned-on-stack should work ok

* num channels

* cache safety

* move adc init too

* don't compile that file for the h7

* cypress & kinetis

* ports

* guard against bootloader

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-09 22:04:36 -05:00
rusefillc 5b47578f3b M62T vanos support #2243 2021-02-09 09:40:08 -05:00
rusefillc d0a5cb6e38 M62T vanos support #2243 2021-02-08 22:30:02 -05:00
rusefillc 654a739e6b M62T vanos support #2243 2021-02-08 22:21:02 -05:00
rusefillc dc79ee1511 M62T vanos support #2243 2021-02-08 22:07:14 -05:00
rusefillc 8fa1a6530b M62T vanos support #2243 2021-02-08 21:50:31 -05:00
rusefi d39b285834 M62T vanos support #2243 2021-02-08 21:28:57 -05:00
rusefi 2ccb75a064 refactoring: naming consistency 2021-02-08 18:20:53 -05:00
rusefi 4b8a92ccc9 M62T vanos support #2243 2021-02-08 18:08:26 -05:00
rusefillc f1e80a2761 M62T vanos support #2243 2021-02-08 16:42:53 -05:00
rusefi d05edd2a3d M62T vanos support #2243 2021-02-08 16:16:26 -05:00
rusefillc 694dedf9f7 M62T vanos support #2243 2021-02-08 15:09:12 -05:00
GitHub build-firmware Action 9a66504e1e Auto-generated configs and docs 2021-02-08 19:13:25 +00:00
rusefillc c020aed330 M62T vanos support #2243 2021-02-08 14:10:57 -05:00
Matthew Kennedy 983d75444e baro in sensor model (#2306)
* baro in sensor model

* missed

* typo

* init baro

* needs an include there
2021-02-07 17:54:41 -06:00
rusefillc 4dc9c013c9 Trigger pattern request Škoda Favorit #2302 2021-02-06 20:12:58 -05:00
GitHub build-firmware Action c31db3ab77 Auto-generated configs and docs 2021-02-06 18:52:00 +00:00
Andrey G 0f47cff952 Add subaru eg33 (#2294)
* engine: Subaru SVX EG33 engine configuration

Not tested yet. Just basic settings and placeholder

* board: add Dron_Gus's Subaru EG33 p'n'p board

* board: subaru eg33: linker script: stack, bss and heap to ram0

* board: subaru eg33: add mapping.yaml

* board: subaru eg33: scripts for autogenerated

* board: subaru eg33: fix DMA conflict (ADC1 vs SPI5)

* board: subaru eg33: enable ADC3

* board: subaru eg33: Autogenerated

* board: subaru eg33: disable fsio control of Main Relay

Default MAIN_RELAY_LOGIC cause error during parsing

* board: subaru eg33: configuration hack to fix usbconsole.c

* gen_config: generate config for Subaru SVX board too
2021-02-06 12:50:34 -06:00
GitHub build-firmware Action e1472e8cbf Auto-generated configs and docs 2021-02-03 19:36:47 +00: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 8d9db6b5c1 put vbatt in sensor model (#2261)
* vbatt in sensor model

* sensor name

* vbatt

* s

* oy vei

* a little bit of cleanup

* memory apparently

* cj125 test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-03 07:55:40 -06:00
GitHub build-firmware Action 11e2486f8f Auto-generated configs and docs 2021-02-02 14:17:30 +00:00
Brenton Hewitt 2ce14cb66e Gm map sensors (#2265)
* GM 2 and 1 Bar Map Sensors

* GM MAP Sensor Selection Options
2021-02-02 08:15:28 -06:00
rusefillc 6043d6d8f2 GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-01 23:18:11 -05:00
rusefillc ce62edb56b GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-01 22:49:49 -05:00
rusefillc 7fb7cc6679 extracting runtime state from trigger central 2021-01-31 22:41:17 -05:00
Matthew Kennedy ace0f4e78c Add fallback map table (#2248)
* table

* sd math

* config

* debug channel name

* ptr vs not ptr

* actually use return value

* memory

* less magic
2021-01-31 17:19:06 -05:00
rusefillc 0b5d42a6fd #2260 2021-01-31 13:30:14 -05:00
rusefillc 4bdc41d723 typo 2021-01-31 12:27:26 -05:00
Matthew Kennedy 654bf0d698 Map fallback logic, TS cleanup (#2247)
* add new field

* UI

* set default

* consume new parameter

* some cleanup while we're at it
2021-01-27 20:31:29 -05:00
Matthew Kennedy c309d1a555 normalize configuration grammar (#2240)
* modify grammar

* add missing typedefs

* these typedefs are easier to handle in the parser

* make the existing parser work with the changed format

* grumble grumble jar

* we can deal with this part later

* handle later

* deal with this later
2021-01-26 21:56:47 -05:00
rusefillc 0ae7eed5be knock-knock 2021-01-23 00:00:34 -05:00
rusefillc 7f893c6159 Hellen72 2021-01-22 02:02:16 -05:00
rusefillc 8faa1602f7 HELLEN_NB2 2021-01-22 01:47:01 -05:00
Matthew Kennedy 4e6c841729 boost fixes (#2230)
* fix boost pin reinit

* call boost from periodic slow

* ui

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-18 07:04:14 -05:00
Matthew Kennedy b047ec4f12 clean up some includes (#2227)
* cleanup

* make c happy
2021-01-16 09:45:45 -05: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 d534a00d5f make fuel math look more like ign math (#2214) 2021-01-14 19:18:30 -05:00
Matthew Kennedy c870215c46 part of 2217 which may fix it alone (#2220) 2021-01-11 08:01:54 -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
rusefillc 5e1a94ef1e cmd_test_main_relay 2021-01-10 23:46:50 -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
GitHub build-firmware Action 23b1198bb0 Auto-generated configs and docs 2021-01-09 19:15:01 +00:00
David Holdeman 7bf5dce671 Add TCU Solenoid debug fields (#2202)
* try adding debug fields

* oops

* include

* add labels

* add enum

* add more solenoid

* whoops

* ifdef
2021-01-09 14:12:45 -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
andreika-git 3dac7599c4 Hellen72 config (#2200)
* Hellen72 config

* Hellen72 files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-01-08 12:50:13 -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
Andrey G f962a7bd64 Gpio cleanup #2 (#1530)
* pin repository: PIN_USED size in now equal to brain_pin_e enum size

expect special values...

* smart gpios: register gpio chip to given base (no auto-allocation)

* drivers: gpio: core: add gpiochip_unregister()

* drivers: gpio: MC33810 intergation

* smart_gpio.cpp: cleanup ifdef mess, minor cleanups

* gpio: core: additional check for gpio ranges overlaps

* unit test: gpio chip: fixed and extended
2021-01-06 18:29:47 -05:00
Matthew Kennedy 8608df5450 flex fuel AFR interpolation (#2190)
* config

* implement flex

* secondary fuel default

* test

* test works

* rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 16:27:23 -05:00
Andrey G 71fe582ce5 Adc isAdcChannelValid helper (#2188)
* Guard define argument

* ADC: isAdcChannelValid

Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)

* Fix unit tests
2021-01-05 16:02:20 -05:00
rusefillc 6eb11dc60a Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912 2021-01-03 13:52:53 -05:00
Matthew Kennedy add0dcd390 switch more map to read from sensor model (#2162)
* hook up map

* check for init

* switch some consumers

* that's the rest of them

* test

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-02 19:13:10 -05:00
rusefillc 4c47983a4b questionable progress 2021-01-02 16:51:14 -05:00
GitHub build-firmware Action 42f35c0b59 Auto-generated configs and docs 2021-01-01 06:12:01 +00:00
rusefillc 21a925f613 hellen 2021-01-01 01:10:28 -05:00
GitHub build-firmware Action e9c35ac0de Auto-generated configs and docs 2020-12-31 17:41:53 +00:00
rusefillc 7c38714129 Revert "Idle timing PID uses phase logic (#2156)"
This reverts commit f1ee8b43
2020-12-31 12:22:54 -05:00
shadowm60 e0d1a57bfd Haltech as dash option (#2165)
* Haltech as dash option

* Update build-firmware.yaml

added generate enums for build-primary-bundle
2020-12-31 12:22:01 -05:00
Matthew Kennedy 83266c904b Put map in the sensor model (#2161)
* hook up map

* check for init

* switch some consumers

* don't do limp for now

* oops

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-30 08:43:49 -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
rusefillc b286ec8a34 fine-grained check modes 2020-12-27 17:41:28 -05:00
Matthew Kennedy 5e7dc71365 move swtiches out of idle (#2148) 2020-12-26 21:31:41 -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 f9de491b67 proteusBoardTest 2020-12-26 10:41:33 -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 4a95652f88 Purge fiesta config (#2117)
* config

* this had a feature flag?

* enums

* goodbye, fiesta
2020-12-22 17:22:05 -05:00
rusefillc 2940703a97 PROTEUS_QC_TEST_BOARD 2020-12-22 10:13:27 -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 91a549736f fix (#2109) 2020-12-20 19:31:14 -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 d44e5cd667 generate java enum from C enum #2102
one step back
2020-12-18 14:21:08 -05:00
rusefillc 0af3216835 generate java enum from C enum #2102 2020-12-18 13:33:01 -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
rusefillc 39a292a46a trigger and start button pins not displayed by "pins" command fix #2084 2020-12-16 22:53:26 -05:00
rusefillc f147aabcd7 trigger and start button pins not displayed by "pins" command #2084
progress but not complete fix yet
2020-12-16 22:00:42 -05:00
Matthew Kennedy 1a14746e97 extra data for rusEfi wideband controller (#2082)
* add config

* logic

* remove old

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-16 18:25:11 -05:00
rusefillc 2c3666d194 returning AT validation into QC 2020-12-15 15:43:36 -05:00
rusefillc 7d104bff8d pnp progress 2020-12-15 00:09:35 -05:00
shadowm60 480af8b38b Debug channel updates (#2078)
* Debug channel updates

Renamed DBG_44 to Dyno_View
added DBG_LOGIC_ANALYZER
DBG_46..48 are  buffers for new features
corrected ini error: [mainController.ini]:[Line:2593]:    entry = wastegatePosition, "Wastegate position sensor",       float,  "%.3f"

* enum_regeneration

fix build issue?
2020-12-14 08:29:43 -05:00
rusefillc fa06e99908 Merge remote-tracking branch 'origin/master' into master 2020-12-13 17:49:36 -05:00
rusefillc 41f35e99f1 trigger decode should pay to attention to what wheel signal is coming from #2073 2020-12-13 17:49:24 -05:00
GitHub build-firmware Action 3f2c81a475 Auto-generated configs and docs 2020-12-13 22:48:42 +00:00
rusefillc 4c2ea35269 TT_SUBARU_7_WITHOUT_6 2020-12-13 17:46:48 -05:00
GitHub build-firmware Action b24ab99274 Auto-generated configs and docs 2020-12-13 21:23:35 +00:00
rusefi 1a205b9973 maybe this would just work? 2020-12-13 16:22:02 -05:00
rusefi afe387c7be subi 2020-12-13 11:39:10 -05:00
rusefillc 8e320209f1 MRE issue with tle8888 - GP3 does not work? #2065 2020-12-13 11:29:19 -05:00
rusefillc 9b7acb9dbf clang warnings again #2055 2020-12-11 12:50:10 -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
rusefillc 3f17d84b44 fix warnings found by clang #2014 2020-12-08 13:59:40 -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 08dbbdb21a subi 2020-12-06 18:08:55 -05:00
rusefillc f868d05dec MRE_SUBARU_EJ18 2020-12-06 14:16:40 -05:00
rusefillc c0e2ca5e74 MRE_SUBARU_EJ18 2020-12-06 13:08:09 -05:00
rusefillc 085a5f38b8 making console happier 2020-12-05 21:56:39 -05:00
rusefillc a1fe39b89d unit tests in clang #2012 2020-12-04 23:59:21 -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 0ba4b37a2d all triggers should be documented way nicer #2001 2020-12-04 11:44:27 -05:00
rusefillc eb3dd94390 6.1 Hemi V8 decoder #2010 2020-12-04 00:30:22 -05:00
rusefillc 9a897007c4 FORD ST170 CAM TRIGGER PATTERN fix #2009 2020-12-03 23:54:08 -05:00
GitHub build-firmware Action 4669da6ebe Auto-generated configs and docs 2020-12-04 02:59:40 +00:00
rusefillc fec3c3c443 DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008 2020-12-03 21:58:03 -05:00
GitHub build-firmware Action a0e1faf627 Auto-generated configs and docs 2020-12-04 02:33:46 +00:00
rusefillc c9a5a41a2f DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008 2020-12-03 21:31:58 -05:00
rusefillc 0d2f8e67e7 avoid float -> int64 conversion #1977
both cases have to be relatively small durations of time cherry picking...
2020-12-03 13:32:01 -05:00
GitHub build-firmware Action 67660a38af Auto-generated configs and docs 2020-12-03 15:51:02 +00:00
rusefillc ba0503177c more dead code 2020-12-03 10:49:20 -05:00
GitHub build-firmware Action accd14f261 Auto-generated configs and docs 2020-12-03 06:38:53 +00:00
rusefillc bcd5e029fa dead code matches Mazda SOHC 2020-12-03 01:36:43 -05:00
GitHub build-firmware Action e7b115a43e Auto-generated configs and docs 2020-12-03 06:25:01 +00:00
rusefillc 238e639c53 dead trigger, this would now be vvt+60/2 2020-12-03 01:22:57 -05:00
rusefillc f5189cb6aa all triggers should be documented way nicer #2001 2020-12-03 01:02:17 -05:00
rusefillc 0a72735c74 all triggers should be documented way nicer #2001 2020-12-03 00:19:18 -05:00
rusefillc 59655af204 Fuel pump should turn on at the first sign of engine rotation #1961 2020-12-02 23:09:39 -05:00
rusefillc b503fa3366 all triggers should be documented way nicer #2001 2020-12-02 20:51:33 -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 c5295f520e timer (#1994) 2020-11-30 19:35:06 -05:00
GitHub build-firmware Action 0ee28a9f8b Auto-generated configs and docs 2020-11-29 03:51:15 +00:00
rusefillc d199302b83 miata 94 2020-11-28 22:49:28 -05:00
rusefi 93160c6abb LM_ALPHA_N_2 rename 2020-11-27 15:44:31 -05:00
rusefillc 42c56a47da dead engine config
one step back
2020-11-26 21:21:25 -05:00
rusefillc 0f39f37bba dead engine config 2020-11-26 21:07:34 -05:00
rusefillc 96ca95bd1e dead engine config 2020-11-26 20:26:12 -05:00
rusefillc 41a02a0153 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 17:48:09 -05:00
rusefi bdba67e05f better default value 2020-11-25 17:02:28 -05:00
Andrey G 005a5daa74 ADC: fixes: (#1979)
* ADC: fixes:

-use enums
-internalAdcIndexByHardwareIndex array should be adc_channel_e size
-add sanity checks
-save few bytes of RAM

* ADC: use logical OR instead of math add
2020-11-22 12:23:27 -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
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 5118a67f89 better error handling 2020-11-17 22:45:43 -05:00
rusefillc 6f56988469 https://rusefi.com/forum/viewtopic.php?p=38367#p38367
idle position/waste gate position sensor usability
2020-11-14 18:05:27 -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
GitHub build-firmware Action 58b039f433 Auto-generated configs and docs 2020-11-11 04:13:06 +00: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
rusefi cff029f289 miata TCU 2020-11-04 12:48:07 -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
Matthew Kennedy 789926a61d convert cranking defaults to mg (#1921)
* convert cranking defaults to mg

* fix tests
2020-11-03 14:12:26 -05:00
Andrey G e14fa4b189 Tle8888 small update (#1908)
* TLE8888: add support MR switching from SW

Main Relay has limitation - it is always active while KEY=1. When
KEY=0 MR can be switched on from SW.

* TLE8888: support reading of KEY and WAKE inputs

* Rusefi enums: add new TLE8888 pins
2020-11-01 22:19:55 -05:00
rusefi 1d6c6eb804 wall wetting default 2020-10-31 19:28:27 -04:00
Matthew Kennedy a29f73f467 log afr in addition to lambda (#1920)
* log afr

* log it

* weird double commas
2020-10-31 17:52:07 -04:00
Matthew Kennedy bcabb51222 unused tach field (#1918) 2020-10-29 15:26:01 -04:00
rusefillc 781cc3d326 [EPIC] [Feature Request] Transmission Control #1454 2020-10-28 01:23:05 -04:00
GitHub build-firmware Action 046f4247df Auto-generated configs and docs 2020-10-28 05:06:20 +00:00
rusefillc eb06ce55cd TCU 2020-10-28 01:01:30 -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 61865292ff probably fix ci (#1912) 2020-10-26 14:04:22 -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
GitHub build-firmware Action f504ba90b8 Auto-generated configs and docs 2020-10-23 19:48:01 +00:00
Matthew Kennedy c38eb6d38f add Injector pressure sensor (#1898)
* add sensor type

* add config

* initialize injector pressure

* add UI
2020-10-23 15:46:16 -04:00
Andrey G 88e830d635 Tle8888 big update 1 (#1892)
* smart gpio: fix tle8888 direct pin mapping for MRE

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888

* TLE8888: cleanup

* TLE8888: do not reset driver private data on WD/undervoltage reset

* TLE8888: diagnostic updates

* TLE8888 driver: BIG driver rework

* TLE8888: check SPI answers for abnormal states

Reply with other than requested register can be a sign of:
-Power-On-Reset, then OpStat0 will be replyed
-WatchDog reset, then FWDStat1 will be replyed
-Invalid communication frame, then Diag0 will be replyed

Keep tracking last accessed register and check with the next reply.

* TLE8888: debug clean-up

* TLE8888: implement spi array write

This reduce CS inactive state time between two consequent accesses
from 8.8 uS to 1.4 uS

* TLE8888: fix PP outputs in OD mode

* TLE8888: cleanup register definitions

* TLE8888: run separate driver thread for each chip instance

Calculating poll interval for few chips become more complex, avoid
this running thread for each device.

* TLE8888: fix cypress and kinetic compilation

Both platforms define its own MAX and cause redifination error if
common.h is included in driver.

* MRE: update mapping.yaml and fix direct pin mapping for TLE8888

* TLE8888: diagnnostic: disable switch off in case of overcurrent

For all output, use current limiting instead

* TLE8888: check for overvoltage on OUT8..OUT13

* TLE8888: add TODO note about how to recover from failure condition

Currently TLE8888 automaticly recovers only from overcurrent and
(may be) overtemperature conditions.
Short to bat cause output disable (bit in OECONFIG is reset) and
needs driver/host intervention.

* TLE8888: save few bytes of RAM

* TLE8888: Lada Kalina is test mule for IDLE stepper on TLE8888

Don't forget to enable PP mode for TLE8888 outputs 21..24:
uncomment line 1087 in tle8888.c

* TLE8888: reorder code, cleanup

* TLE8888: mode all debug/statisctic to per-chip struct

* TLE8888: rework poll interval calculation

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888 #2
2020-10-23 12:25:30 -04:00
Matthew Kennedy dbdeca93b0 implement fuel pressure sensors (#1897)
* add

* remove old

* remove more old

* makefile

* fix init

* patch up other stuff

* actually fix it this time

* raw output channels

* gauges, UI

* scaled channel

* fix field ordering
2020-10-23 07:31:47 -04:00
rusefi 25189a70a8 B6 2020-10-23 00:39:22 -04:00
GitHub build-firmware Action 9ebd97289c Auto-generated configs and docs 2020-10-22 02:51:46 +00:00
Matthew Kennedy 38b6e9ba2b gppwm debug (#1895)
* dbg gppwm

* fix channel

* TS guard
2020-10-21 22:49:38 -04:00
rusefi ca89cf9b95 GDI Epic #1448 2020-10-19 22:04:06 -04:00
Matthew Kennedy 8c11a6fb4b remove (#1887) 2020-10-18 20:49:42 -04:00
rusefillc 3314394dd9 refactoring: better method name 2020-10-17 18:45:08 -04:00
GitHub build-firmware Action 7b4c02eb6c Auto-generated configs and docs 2020-10-15 02:42:20 +00:00
Matthew Kennedy eac2b179c7 fix temp sensor & validate it (#1879)
* fix temp sensor & validate

* smaller here should work
2020-10-14 22:39:16 -04:00
rusefi 996806d710 QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase #1871 2020-10-11 22:57:31 -04:00
rusefi 1c84b0dd9f QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase fix #1871 2020-10-11 22:46:08 -04:00
rusefi 4743718663 QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase #1871 2020-10-11 19:05:56 -04:00
David Holdeman a6a0e8ba77 Simple transmission 2 (#1870)
* simple trans controller

* don't need check

* we can loop!

* use efi::size

* pin mode configuration

* set pin mode

* switch to RegisteredOutputPin

* size

* add to makefile

* fixes

* fixes

* wat

* output pin, and ts stuff

* use SimpleTransmissionController

* include

* grrr

* grrr

* move to separate file

* fix includes

* try

* semicolon stupid

* try pointers

* try

* add to makefile

* wat

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* undo

* more idiomatic maybe

* remove logger

* try init func

* try

* try

* try init fn

* try

* switch

* try

* try

* ifndef

* try

* try

* ifndef

* use def dug

* INJECT FIRST

* try

* try

* duh
2020-10-09 23:34:45 -04:00
Matthew Kennedy 51d407aaf0 ign mode overrides (#1869) 2020-10-09 17:16:49 -04:00
rusefillc d5d5bbba9f tachPulsePerRev needs a safer default, MRE config needs a value 2020-10-06 00:56:49 -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 060cfbd778 const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -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
rusefillc 149bc309f7 60/2 perf grab #1850 2020-10-04 01:04:15 -04:00
GitHub build-firmware Action c67f26e863 Auto-generated configs and docs 2020-10-03 14:42:14 +00:00
rusefillc c9bdd59220 new VVT trigger shape? #1847 2020-10-03 10:39:43 -04:00
Matthew Kennedy 5f6955e49f move scheduling to its own file (#1842)
* move scheduling to its own file

* header

* protip don't include a cpp file
2020-10-01 17:55:03 -04:00
Matthew Kennedy 3e64861c14 display base fuel mass in milligrams (#1838)
* switch to mg

* use the correct thing

* gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-30 20:19:51 -04:00
Matthew Kennedy 3374db1658 Remove dead & useless config (#1834)
* remove dead config

* remove enum
2020-09-29 06:34:39 -04:00
GitHub build-firmware Action 07532d6b4c Auto-generated configs and docs 2020-09-29 01:20:53 +00:00
rusefi 2836954b9c adding 1+16 trigger 2020-09-28 21:18:47 -04:00
rusefi bd82ae0d9a refactoring: magic constants 2020-09-28 21:11:04 -04:00
GitHub build-firmware Action f1527ea660 Auto-generated configs and docs 2020-09-28 20:34:48 +00: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
shadowm60 2d665e2c90 Launch control - experimental (#1816)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

* Switched UART DMA on

* Revert "Switched UART DMA on"

This reverts commit 4a23974c431e0e7fd760595d2161e74e6854897e.

* enable launch control

make use of already existent code + integration

* Delete compile_frankenso_all.sh

remove it since it is not part of the project

* Update main_trigger_callback.cpp

broke unit_Tests

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-09-22 16:25:27 -04:00
rusefi 3b9d339db0 unit test for start/stop hardware and pin repository #1811 2020-09-21 12:29:01 -04:00
rusefi 4fccd51722 ADC progress 2020-09-21 06:10:25 -04:00
rusefi 77a9d79124 Revert "reorder ADC channel index #1763"
This reverts commit a50450c5
2020-09-20 14:04:24 -04:00
rusefi a50450c5fc reorder ADC channel index #1763
we forgot about something
2020-09-20 13:59:54 -04:00
David Holdeman 02a12d76f3 fix type mismatch (#1808)
* fix type mismatch

* comment

* change field

* switch to efitimesec16_t

* add typedef

* add type to configdefinition

* build
2020-09-19 17:17:44 -04:00
rusefi a2ec524c29 better QC procedure 2020-09-19 16:07:09 -04:00
rusefi be7ea7e068 docs 2020-09-19 04:38:59 -04:00
David Holdeman 159e3142ce add shift matrix and pin config (#1798)
* add shift matrix and pin config

* try
2020-09-15 11:34:09 +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
rusefi 437d74e479 Hellen says merge #1772 Kinetis needs more help 2020-09-10 22:02:02 -04:00
rusefi 6726e11579 Hellen says merge #1772 progress 2020-09-10 21:26:21 -04:00
rusefi e289977e37 Hellen says merge #1772 main relay progress 2020-09-10 21:11:02 -04:00
Matthew Kennedy f077479be4 minor TS changes (#1778)
* minor

* fiix
2020-09-09 16:27:13 -04:00
David Holdeman ffb5e0b1e4 switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01: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
rusefi f70c4b7a54 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/algo/engine_configuration.cpp
2020-09-07 15:55:43 -04:00
rusefi 20dfacb521 Hellen says merge #1772 misc #2 2020-09-07 15:53:26 -04:00
rusefi 1eeb65214d Hellen says merge #1772 import idle
(cherry picked from commit 2bed967b32)
2020-09-07 15:11:50 -04:00
rusefi 2bed967b32 Hellen says merge #1772 import idle 2020-09-07 15:08:54 -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 f6d735cdd2 Hellen says merge #1772
Hellen says stepper

(cherry picked from commit 4bc18ee475)
2020-09-07 14:45:41 -04:00
rusefi 4bc18ee475 Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -04:00
GitHub build-firmware Action f6c24a2e71 Auto-generated configs and docs 2020-09-07 14:17:40 +00: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
rusefi f55fee38b4 microRusEFI used as Body Control Module BCM BCU 2020-09-06 19:43:54 -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 4802a47d23 reorder ADC channel index (#1763)
* change config

* correct logic

* clearing these no longer needed

* test expected this to be set
2020-09-06 18:25:26 -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
David Holdeman 5d84ddfa01 [TCU] Button Shifting (#1750)
* add buttonshift files

* buttonshift includes, targets, and init
2020-09-02 20:17:58 -04:00
David Holdeman 0f10703649 [TCU] GearController and TransmissionController base classes (#1749)
* add tcu ts outputs

* accidental change?

* add tcu base classes

* rearrange

* accidental change?

* add files

* missing backslash

* undo accidental change

* buttonshift includes, targets, and init

* Revert "buttonshift includes, targets, and init"

This reverts commit 1b0630511e1948f3d330d74be5bff6c087f118fb.

* use unused bit

* add return documentation

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2020-09-02 15:39:50 -04:00
rusefi 8b172324a2 OBD-II default rate is 500kbps 2020-09-01 22:24:25 -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
Matthew Kennedy 95f858265b detect which cylinder knocked (#1732)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* multi cylinder knock

* TS

* only sense when running
2020-08-31 21:05:33 -04:00
Matthew Kennedy 0f95d8fd71 fix #1740 the right way (#1741)
* fix

* put that back
2020-08-31 21:05:04 -04:00
rusefi 70dae6eb4c Default Biquad settings broke MRE QC configuration #1740 2020-08-31 13:07:49 -04:00
rusefi 76816602a4 Default Biquad settings broke MRE QC configuration #1740 2020-08-31 12:36:28 -04:00
rusefi 6401b94399 this does not go as planned :( 2020-08-31 07:45:52 -04:00
rusefi 7e304fdca9 HW_CHECK_MODE is not well? 2020-08-31 06:43:47 -04:00
rusefi 5da1af9ca7 VVT support for VAG trigger #883 2020-08-29 17:46:01 -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 eb0e2afbb7 presets 2020-08-29 16:49:56 -04:00
rusefi c30065c8f5 reducing autotest mess 2020-08-29 15:41:09 -04:00
rusefi 8d024f4579 BCM 2020-08-29 14:29:34 -04:00
rusefi 1d2a75b427 Merge remote-tracking branch 'origin/master' 2020-08-29 12:52:26 -04:00
rusefi 00ddb7b966 BCM 2020-08-29 10:06:14 -04:00
GitHub build-firmware Action e44968d62b Auto-generated configs and docs 2020-08-29 13:42:30 +00:00