Commit Graph

369 Commits

Author SHA1 Message Date
Matthew Kennedy ff4ce2fb1f
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 0899102b05 returning AT validation into QC 2020-12-15 15:43:36 -05:00
rusefillc f2bb2ce0c6 MRE issue with tle8888 - GP3 does not work? #2065 2020-12-13 11:29:19 -05:00
shadowm60 864bd7fa73
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 4c3eae5676 FORD ST170 CAM TRIGGER PATTERN fix #2009 2020-12-03 23:54:08 -05:00
Matthew Kennedy f3b7a1d9da
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
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
Matthew Kennedy 10c1ad7698
use fuel model (#1901)
* use fuel model

* spit'n'polish
2020-10-23 20:25:47 -04:00
Andrey G 8e11675afd
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
rusefi e0a5c3dc12 GDI Epic #1448 2020-10-19 22:04:06 -04:00
rusefi 12a720dde2 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 b77c4ab55a 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 94a6399e56 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
Matthew Kennedy c9fdde4472
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 5925a5f4bd
const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
Matthew Kennedy 3aa4f2bd97
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 e5b8e0e515 new VVT trigger shape? #1847 2020-10-03 10:39:43 -04:00
Matthew Kennedy c8b4fac456
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
rusefi 5515dc1abe better QC procedure 2020-09-19 16:07:09 -04:00
rusefi 9903b0a1c5 Hellen says merge #1772 Kinetis needs more help 2020-09-10 22:02:02 -04:00
rusefi 370c107793 Hellen says merge #1772 progress 2020-09-10 21:26:21 -04:00
rusefi ec366b68ee Hellen says merge #1772 main relay progress 2020-09-10 21:11:02 -04:00
rusefi a6aa2e9997 Hellen says merge #1772 import idle 2020-09-07 15:08:54 -04:00
rusefi a2f26ac99b Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -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
Matthew Kennedy 5fc1b6902c
fix #1740 the right way (#1741)
* fix

* put that back
2020-08-31 21:05:04 -04:00
rusefi 5058ffa9cc Default Biquad settings broke MRE QC configuration #1740 2020-08-31 13:07:49 -04:00
rusefi 47b980d4b9 Default Biquad settings broke MRE QC configuration #1740 2020-08-31 12:36:28 -04:00
rusefi 5f125f3db0 this does not go as planned :( 2020-08-31 07:45:52 -04:00
rusefi 86438eab98 HW_CHECK_MODE is not well? 2020-08-31 06:43:47 -04:00
rusefi 77027ec981 VVT support for VAG trigger #883 2020-08-27 00:43:23 -04:00
rusefi 2b77901e53 VVT support for VAG trigger #883 2020-08-27 00:06:10 -04:00
rusefi 10a6661fa5 VVT support for VAG trigger #883 2020-08-26 23:35:11 -04:00
rusefi 70cdbc51b7 VVT support for VAG trigger #883 2020-08-26 13:30:55 -04:00
rusefi ce01c1bfaa VVT support for VAG trigger #883 2020-08-25 13:14:46 -04:00
rusefi c7b73446e2 VVT support for VAG trigger #883 2020-08-25 12:45:25 -04:00
rusefi 540eef5e0d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi 95bd50da94 VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
Matthew Kennedy 184dee68e8
don't call tach from trigger, call from periodic fast (#1704)
* tacho

* fix tests
2020-08-21 15:36:43 -04:00
rusefi 1238dfb837 trigger and VSS hw integrated testing #1668 2020-08-08 11:25:17 -04:00
rusefi a4155bc554 analog temperature inputs validation for quality control 2020-07-27 22:49:59 -04:00
Matthew Kennedy a34201d1d1
fuel math simplifications (#1485)
* simplify

* fix

* tweak

* cleaning

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-06-17 17:15:04 -04:00
rusefi 8e3ea302d0 better solution 2020-06-05 00:43:05 -04:00
rusefi d1a30f362c tuneCrc16 - we use it to match logs to tunes 2020-06-04 20:43:52 -04:00
rusefi 0b5bb7c0cf useFSIO6ForRevLimiter 2020-06-01 09:09:55 -04:00
rusefi a4329169e9 better file name 2020-05-25 13:02:05 -04:00
dron0gus e3fd0a186a
Minor fixes (#1437)
* cmpilation warning cleanup

* exti trigger: mark pins used, handle errors
2020-05-15 18:03:18 -04:00
rusefi ac9faf6646 docs & clean-up 2020-05-10 00:59:32 -04:00
rusefi fcbba66e89 rusEFI online engine crc 2020-05-09 22:43:39 -04:00
Matthew Kennedy 745b0c04ac
pull out std air charge math (#1397) 2020-05-05 08:01:40 -04:00
Matthew Kennedy f128b33694
General purpose PWM: implementation & tests (#1366)
* config

* significant digits

* renumber enum, no need for a "none"

* ui

* impl base

* error handle MAP

* init & update

* don't need arg

* don't lie about sensor

* fix test build

* test stub

* initialize

* null check

* fix clamping

* test output

* types & enums

* don't need param

* test getOutput

* fix

* output pin instead of brain pin

* default config
2020-04-26 14:06:28 -04:00
rusefi 63403ab741 better error message 2020-04-12 23:24:46 -04:00
rusefi fb06813e12 DBG_TRIGGER_SYNC merged into DBG_TRIGGER_COUNTERS 2020-04-10 13:19:54 -04:00
Matthew Kennedy bc3f0c6b27
More TPS consumers: VE lookup (#1256)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

* engine load

* ve lookup

* unused

* oops we needed that

* oops needed that too

* mocking

* test mocks

* oops

* helps to use the right sensor

* and cylinder cleanup

* fuel math

* typo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-04 08:41:09 -04:00
Matthew Kennedy 8fd9842310
cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy 53679fab54
Finally rename injector_central to bench_test (#1229)
* bench test rename

* rename consumers

* good lord what are all of these externs doing

* fix tests
2020-03-26 08:03:55 -04:00
Matthew Kennedy 2c809e4475
Remove old monitoring timestamps (#1217)
* remove monitoring timestamps

* adv map

* fuel calc

* map avg

* printing

* spark logic

* hip 9011

* new traces

* s

* missed a few
2020-03-24 20:19:19 -04:00
rusefi 165160bb40 random header clean-up 2020-03-23 09:00:57 -04:00
Matthew Kennedy 397907a06f
Support disabling most/all features (#1162)
* this flag did nothing

* guard features properly
2020-02-26 18:16:35 -05:00
rusefi 241d491625 trigger refactoring 2020-01-26 12:02:54 -05:00
rusefi 51ab9f5b57 reducing code duplication 2020-01-26 06:28:33 -05:00
rusefi 080e7e12db trigger refactoring 2020-01-26 06:12:01 -05:00
rusefi 154b679491 refactoring: de-coupling trigger decoder and engine 2020-01-26 03:48:25 -05:00
rusefi db2ab72d12 refactoring trigger 2020-01-26 03:33:45 -05:00
rusefi 0f23faba28 trigger refactoring 2020-01-25 02:00:33 -05:00
rusefi 3056154fe6 refactoring trigger 2020-01-23 13:39:50 -05:00
rusefi cc1c4c9dcb refactoring - de-coupling trigger 2020-01-22 13:25:35 -05:00
Matthew Kennedy ba0c48e0ac use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
Matthew Kennedy 5c85d53e16 Pass action_s instead of callback/param (#1084)
* change action

* consumers

* fix test

* didn't mean to add those

* simplify

* fix simulator

* fix sim for real

* oy

* maybe this time the simulator will actually be fixed, for real

* don't rely on undefined behavior
2020-01-07 00:41:18 -05:00
rusefi 73a4a92891 functional testing should not be that darn slow #1076
hopefully progress?
2019-12-21 23:27:54 -05:00
rusefi fde9a449cf random refactoring: hopefully not changing byte size of any variables but clarifying/fixing type between ticks, US and MS 2019-12-21 21:11:09 -05:00
rusefi 6ca549ca34 refactoring & fixing build 2019-12-21 20:43:11 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi c5cfd21a70 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi d6471a84bc Refactor Trigger System #635
injecting callback via parameters instead of nasty "bool isInitializingTrigger" field
2019-12-06 01:57:11 -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 af60a46229 making progres on angle-based scheduling 2019-11-23 20:36:40 -05:00
rusefi 7b7b46a2a2 refactoring 2019-11-23 18:38:16 -05:00
Matthew Kennedy 93d24dfc0b Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 5f9fdfe9a6 Revert "Revert "Performance improvement: call GetBaseFuel less (#979)""
This reverts commit 7eb9947fd4.
2019-10-16 23:02:24 -04:00
rusefi 7eb9947fd4 Revert "Performance improvement: call GetBaseFuel less (#979)"
This reverts commit 95e51f13
2019-10-16 22:29:19 -04:00
Matthew Kennedy 95e51f1399 Performance improvement: call GetBaseFuel less (#979)
* Remove extra calls to getInjectionDuration

* increase callback frequency
2019-10-16 22:13:10 -04:00
Matthew Kennedy d6e065f99e Merge remote-tracking branch 'upstream/master' into perf-tracing 2019-10-14 23:45:39 -07:00
rusefi 5a4c7b38cd preparing for #974
code comments & refactoring
2019-10-14 16:04:28 -04:00
Matthew Kennedy 763b17fb50 experiment 2019-10-11 17:43:21 -07:00
Matthew Kennedy 29804cbc8a move tsOutputChannels to header (#970) 2019-10-08 21:02:51 -04:00
rusefi 533087f475 ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 09:56:06 -04:00
rusefi e77b703beb Reinitialize TLE8888 if it resets #904
nasty "solution"
2019-09-06 20:30:27 -04:00
rusefi 2804b31e7e cranking fuel live data #911 2019-08-26 23:41:04 -04:00
rusefi 70c74bec0d WTF is wrong with MRE_miata_na6 config? operationMode complexity #898
actually ignoring setting for well known triggers
2019-08-17 22:00:01 -04:00
rusefi f858b26a50 TLE8888 should be re-initialized every time we get +12 volts #901
extremely ugly solution but it it works at least with LED blinking test
2019-08-16 23:00:28 -04:00
rusefi e0acec2a63 WTF is wrong with MRE_miata_na6 config? operationMode complexity #898
fatal error is the best I can come up with quickly
2019-08-08 22:57:22 -04:00
rusefi 539cd8b1c7 current toolchain does not work great with current rusEfi code, two methods with same name are hard for full text search :( 2019-08-08 22:33:52 -04:00
rusefi 643cc24931 WFT is wrong with MRE_miata_na6 config? operationMode complexity #898
more refactoring
2019-08-08 00:32:31 -04:00
rusefi 51110b33ad WFT is wrong with MRE_miata_na6 config? operationMode complexity #898
refactoring to begin with, zero logic change
2019-08-08 00:19:09 -04:00
Matthew Kennedy 21d1b25c5e Remove warmup afr pid (#879)
* config changes

* actually remove from config

* rip out implementation
2019-07-18 18:26:18 -04:00
rusefi 85e5a7b1e7 one dead line 2019-07-13 09:18:09 -04:00