Commit Graph

321 Commits

Author SHA1 Message Date
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 2c3666d194 returning AT validation into QC 2020-12-15 15:43:36 -05:00
rusefillc 8e320209f1 MRE issue with tle8888 - GP3 does not work? #2065 2020-12-13 11:29:19 -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 9a897007c4 FORD ST170 CAM TRIGGER PATTERN fix #2009 2020-12-03 23:54:08 -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
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
Matthew Kennedy 5296de1493 use fuel model (#1901)
* use fuel model

* spit'n'polish
2020-10-23 20:25:47 -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
rusefi ca89cf9b95 GDI Epic #1448 2020-10-19 22:04:06 -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
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 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
rusefi a2ec524c29 better QC procedure 2020-09-19 16:07:09 -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
rusefi 2bed967b32 Hellen says merge #1772 import idle 2020-09-07 15:08:54 -04:00
rusefi 4bc18ee475 Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -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
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 77bb2310a7 VVT support for VAG trigger #883 2020-08-27 00:43:23 -04:00
rusefi ed3eaf319c VVT support for VAG trigger #883 2020-08-27 00:06:10 -04:00
rusefi e46681f552 VVT support for VAG trigger #883 2020-08-26 23:35:11 -04:00
rusefi 866374bf29 VVT support for VAG trigger #883 2020-08-26 13:30:55 -04:00
rusefi b64c9bd9d3 VVT support for VAG trigger #883 2020-08-25 13:14:46 -04:00
rusefi 627d20c436 VVT support for VAG trigger #883 2020-08-25 12:45:25 -04:00
rusefi 7d53f5859d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi 0f9e8bf83e VVT support for VAG trigger #883 2020-08-24 01:21:42 -04:00
Matthew Kennedy 8d1f0dbe90 don't call tach from trigger, call from periodic fast (#1704)
* tacho

* fix tests
2020-08-21 15:36:43 -04:00
rusefi 4bbb5b8762 trigger and VSS hw integrated testing #1668 2020-08-08 11:25:17 -04:00
rusefi fb250c0309 analog temperature inputs validation for quality control 2020-07-27 22:49:59 -04:00
Matthew Kennedy 531f1c63c7 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 b27583a2eb better solution 2020-06-05 00:43:05 -04:00
rusefi cbfdd37243 tuneCrc16 - we use it to match logs to tunes 2020-06-04 20:43:52 -04:00
rusefi 0847dc4683 useFSIO6ForRevLimiter 2020-06-01 09:09:55 -04:00
rusefi 804f4b9db5 better file name 2020-05-25 13:02:05 -04:00