Commit Graph

2318 Commits

Author SHA1 Message Date
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