Commit Graph

2267 Commits

Author SHA1 Message Date
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
rusefi 240df29e12 BCM 2020-08-29 09:41:02 -04:00
GitHub build-firmware Action 9488253b89 Auto-generated configs and docs 2020-08-27 04:44:53 +00: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
GitHub build-firmware Action de2b6794bc Auto-generated configs and docs 2020-08-25 22:59:48 +00:00
rusefi 27c75b4d57 Merge remote-tracking branch 'origin/master' 2020-08-25 16:26:22 -04:00
rusefi 22f6063d9f VVT support for VAG trigger #883 2020-08-25 16:19:23 -04:00
GitHub build-firmware Action 8d24169d68 Auto-generated configs and docs 2020-08-25 20:01:04 +00:00
rusefi 5718d93c44 another attempt at dead code 2020-08-25 15:58:56 -04:00
rusefi d817bdd428 Revert "removing a bit of dead code?"
This reverts commit a90a9247
2020-08-25 15:50:50 -04:00
rusefi a90a924766 removing a bit of dead code? 2020-08-25 15:19:37 -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
GitHub build-firmware Action 17cc6d8916 Auto-generated configs and docs 2020-08-25 05:40:39 +00:00
rusefi 536fb52365 oh, here it is 2020-08-25 01:38:56 -04:00