Commit Graph

1441 Commits

Author SHA1 Message Date
Matthew Kennedy 6b0c533d2c consolidate EFI_UNIT_TEST and friends (#1940)
* restructure

* guard c++

* idle too

* status_loop.h

* consolidate definitions

* use 1/0 instead, check for existence

* missed a few

* dead define

* defs for bootloader
2020-11-11 20:34:39 -05:00
Andrey G 2f891cc23a Tle8888 stepper (#1936)
* TLE8888: enable PP mode for OUT21..24 in case of useTLE8888_stepper

* Lada Kalina is a test mule for stepper idle
2020-11-10 14:16:46 -05:00
rusefi 9f237d963b debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
refactoring
2020-11-07 00:46:59 -05:00
rusefi 55065781f8 debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
undoing brain fart
2020-11-07 00:43:42 -05:00
rusefillc 89a20a20b0 Proteus TCU gear shift configuration #1927 2020-11-06 23:48:35 -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
rusefi 4dc5c61f60 Output pin init/deinit needs a linked list #1803
trying to make things more consistent & smarter
2020-11-03 00:46:03 -05:00
rusefi 8dcb2fe55f this stuff is just too dead 2020-11-02 23:46:41 -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
Matthew Kennedy 4c3046a707 remove spiMtx (#1907) 2020-10-25 17:26:46 -04:00
Matthew Kennedy 5fc47d0153 oops (#1899) 2020-10-23 15:45:44 -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
Matthew Kennedy e4c891f328 no sd enable (#1894)
* no sd enable

* add assert

* Revert "no sd enable"

This reverts commit fd997381ee884c890fe7664e56ed2b0f0caef2ff.
2020-10-22 20:51:28 -04:00
Matthew Kennedy 8f6982dd54 disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
rusefi 69e48e1e44 code style 2020-10-19 22:47:09 -04:00
rusefi ca89cf9b95 GDI Epic #1448 2020-10-19 22:04:06 -04:00
Matthew Kennedy c73978310f Remove trigger listener list (#1886)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out

* remove listener array
2020-10-17 08:00:11 -04:00
Matthew Kennedy f6f3e514d2 trigger/scheduler perf improvements (#1885)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out
2020-10-16 11:04:27 -04: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
Matthew Kennedy 4868068e2f start using BufferedWriter (#1878)
* do the part up to actual usage

* borrow some memory for now
2020-10-14 20:06:05 -04:00
rusefi 9de3031378 GDI Epic #1448 2020-10-11 23:39:40 -04:00
Matthew Kennedy 540fca8cc9 use expected for event queue next event (#1859)
* use expected for event queue next event

* minor cleanup

* tests
2020-10-05 13:53:34 -04:00
Matthew Kennedy c1cb48ed12 switch (#1839)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-01 01:36:33 -04:00
Matthew Kennedy 3374db1658 Remove dead & useless config (#1834)
* remove dead config

* remove enum
2020-09-29 06:34:39 -04:00
David Holdeman e6f6c43767 switch to pass by reference (#1832) 2020-09-28 19:17:17 -04:00
andreika-git 2d4d34291c Hellen says fix cypress build (#1818)
* fix compilation

* fresh generated files

* more files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-23 14:06:22 -04:00
David Holdeman 88d08cf1a8 Fix debounce (#1814)
* 1,2,4,7,9

* 6

* fix type mismatch

* change field

* comment

* Revert "comment"

This reverts commit f7ce8ed48d015490ed82d692270198817569b5a3.

* Revert "Revert "comment""

This reverts commit 99f2d5cadcbf444bf58acf9e57a6fed61355d5be.

* Revert "change field"

This reverts commit 55ec050cd947696cdffccae6b29fe48d95ab5f17.

* rename var

* comments

* use func in init

* default values

* remove redundant check

* check

* use bool

* mark false when done

* pointer

* check GPIO_UNASSIGNED

* wat

* merge carnage

* oops, accidentally downgraded submodule
2020-09-21 18:25:24 -04:00
rusefi 4fccd51722 ADC progress 2020-09-21 06:10:25 -04:00
Matthew Kennedy 2c492cae48 guard against ADC buffer overrun (#1812) 2020-09-21 12:37:51 +03:00
rusefi 889335111a reorder ADC channel index #1763
we forgot about something
2020-09-20 14:20:08 -04:00
David Holdeman 9536590a25 Debounce refactor (#1809)
* 1,2,4,7,9

* 6

* fix type mismatch

* change field

* comment

* Revert "comment"

This reverts commit f7ce8ed48d015490ed82d692270198817569b5a3.

* Revert "Revert "comment""

This reverts commit 99f2d5cadcbf444bf58acf9e57a6fed61355d5be.

* Revert "change field"

This reverts commit 55ec050cd947696cdffccae6b29fe48d95ab5f17.

* rename var

* comments

* use func in init

* default values

* remove redundant check
2020-09-20 14:01:00 -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
Matthew Kennedy d23a48fc53 Dedicated sensors for wastegate + idle position (#1805)
* config

* add sensor

* listen to new adc channels

* fix

* add gauges to TS

* add gauge values

* TS UI
2020-09-18 10:04:07 +03:00
rusefi c98e78640a Hellen says merge #1772 hardware.cpp 2020-09-15 15:01:31 -04:00
rusefi 0e370f87aa Merge remote-tracking branch 'origin/master' into master 2020-09-15 14:49:01 -04:00
andreika-git af20e08ccf porting adc_inputs.cpp (blindly) (#1792)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-15 14:48:32 -04:00
Matthew Kennedy a62089e590 proteus SD card defaults (#1796)
* proteus SD defaults

* disable serial console pins
2020-09-14 10:54:25 +03:00
Matthew Kennedy 36234961c1 logging simplification: switch bare functions to member functions: try the second (#1794)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup

* fix sniffer
2020-09-13 11:49:25 +03:00
rusefi ead14bd1ca Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit 39280fb2
2020-09-12 04:36:24 -04:00
rusefi 8612f4de30 Merge remote-tracking branch 'origin/master' into master 2020-09-12 04:03:23 -04:00
rusefi 875651b471 Hellen says merge #1772 adc.h 2020-09-12 04:03:11 -04:00
Matthew Kennedy 39280fb2c6 logging simplification: switch bare functions to member functions (#1788)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup
2020-09-12 03:08:11 +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 a5644782d6 Merge remote-tracking branch 'origin/master' into master 2020-09-09 17:25:09 -04:00
rusefi 7fa7ac6c37 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/Makefile
#	firmware/hw_layer/smart_gpio.cpp
2020-09-09 17:19:41 -04:00
David Holdeman e7af7cd391 Debounce pin state function (#1780)
* add readpinstate

* wrong var name
2020-09-09 17:18:54 -04:00
rusefi 91f9079f82 Hellen says merge #1772 smart gpio 2020-09-09 17:16:51 -04:00
rusefi 86bac639b0 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/hw_layer/digital_input/trigger/trigger_input.h
#	firmware/hw_layer/hw_layer.mk
#	firmware/hw_layer/ports/stm32/stm32f0/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f1/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk
2020-09-09 16:55:27 -04:00
rusefi 882c8d8dbf Hellen says merge #1772 helping merge - Kinetis?! 2020-09-09 16:38:18 -04:00