Commit Graph

1646 Commits

Author SHA1 Message Date
Andrey G 39bc608ce5 TLE8888: disable diagnostic for OUTPUT8..13 (#1956)
Enabled pull-down affects analog inputs that shares same pins.
Disable it.
DOTO: enable diagnostic if ouput requested through tle8888_setPadMode
2020-11-17 18:33:37 -05:00
rusefillc ecbdfe379e docs 2020-11-17 08:25:50 -05:00
Matthew Kennedy 319384143e read SD card config exactly once (#1955)
* only read mmc device once

* format

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-17 07:48:43 -05:00
Matthew Kennedy e0d0727896 adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
Matthew Kennedy d9f625c8ba prevent MMC preemption by TS thread (#1949)
* prevent preemption by TS thread

* didn't need that
2020-11-15 20:44:36 -05:00
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
rusefi a3c9871d58 Hellen says merge #1772 helping merge 2020-09-09 14:35:01 -04:00
rusefi 918d987366 Hellen says merge #1772 helping merge 2020-09-09 14:20:54 -04:00
rusefi 03ce326123 Hellen says merge #1772 helping merge 2020-09-09 13:43:18 -04:00
rusefi d3d5c1474a Hellen says merge #1772 more about ports 2020-09-09 13:39:51 -04:00
rusefi d3567c23f6 Hellen says merge #1772 trigger h 2020-09-09 10:21:14 -04:00
rusefi 6b3eadb082 Hellen says merge #1772 backup ram.h 2020-09-09 10:20:21 -04:00
rusefi c930071203 Hellen says merge #1772 more about ports 2020-09-09 10:18:58 -04:00
rusefi 7f3eb65f4d Merge remote-tracking branch 'origin/master' into master 2020-09-09 08:58:54 -04:00
rusefi 81e83d0474 Hellen says merge #1772 more ports 2020-09-09 08:58:12 -04:00
rusefi 9ca4906c4c Hellen says merge #1772 more ports 2020-09-09 08:53:11 -04:00
rusefi bd5ee9477c Hellen says merge #1772 tle header 2020-09-09 08:52:14 -04:00
David Holdeman ffb5e0b1e4 switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01:00
Andrey G 5d421f7ffa Adc improvements (#1765)
* ADC: move DMA buffer outside of AdcDevice (save few bytes)

* ADC: inlcude fast channels to debug output

* ADC: save some CPU ticks (disabled until fully tested)

* ADC: simplify
2020-09-08 17:20:55 -04:00
David Holdeman 001e56e3a1 use EFI_UNIT_TEST, add check (#1774) 2020-09-08 14:27:23 -04:00
David Holdeman 65b60df172 Debounce pin management (#1760)
* add linked list

* macros, and use in buttonshift

* unit_tests macros

* add extern

* add parens

* move extern

* move extern

* move buttonDebounceListHead

* move buttonDebouncePointerHead

* merge gore

* undo

* reduce unused size

* don't store pointer if already initialized

* few changes

* remove oldPin

* fix merge conflict

* merge in changes commited to wrong branch

* fix definition

* out of class?

* brute force programming

* fix few problemos

* am confuse

* am confuse

* am confuse

* am confuse

* oldPin snuck in

* move to public?

* define again

* try constexpr

* def in cpp

* remove constexpr

* fix def

* fix?

* update active

* fix a few things
2020-09-08 11:29:38 -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 7e4e20cc85 Hellen says merge #1772 ADC flexibility 2020-09-07 15:50:37 -04:00
rusefi 16f53aecd1 Hellen says BOARD_DRV8860_COUNT 2020-09-07 15:38:34 -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 d80f0dcd1d Hellen says misc
(cherry picked from commit bae9324d34)
2020-09-07 14:43:12 -04:00
rusefi 4bc18ee475 Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -04:00
rusefi bae9324d34 Hellen says misc 2020-09-07 14:09:00 -04:00
rusefi e795da5498 Hellen says drivers
(cherry picked from commit d4d36f9153)
2020-09-07 12:02:40 -04:00
rusefi 080559f703 Hellen says ports
(cherry picked from commit ae08b287f0)
2020-09-07 12:02:34 -04:00
rusefi d4d36f9153 Hellen says drivers 2020-09-07 12:00:16 -04:00
rusefi ae08b287f0 Hellen says ports 2020-09-07 11:57:20 -04:00
rusefi 8ba9a47c59 microRusEFI used as Body Control Module BCM BCU
got stack too low warning with DBG_CAN
2020-09-06 21:45:17 -04:00
rusefi 70ddde6418 microRusEFI used as Body Control Module BCM BCU 2020-09-06 21:30:14 -04:00
rusefi bc2aa6601e microRusEFI used as Body Control Module BCM BCU 2020-09-06 20:21:01 -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 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
dron0gus af0c427a8b Adc cleanups (#1743)
* ADC: remove ADC_TwoSamplingDelay*

1. it is related to double or triple interlived mode only
2. it should be writen to CCR register, not CR1

* ADC: use designated initializers
2020-09-01 07:38:35 -04:00
Matthew Kennedy 0f95d8fd71 fix #1740 the right way (#1741)
* fix

* put that back
2020-08-31 21:05:04 -04:00
rusefi e052c2b1e4 dead code 2020-08-31 20:52:25 -04:00
Matthew Kennedy 6293945b0f generated for pt2001 (#1666)
* generated for pt2001

* don't unicode
2020-08-30 15:38:56 -04:00
NOx-z 992a517907 Mc33 ucode (#1734)
* mc33 flash check

* DI sanity checks for setting HV config

* mc33816 microcodee source code update for what we got running on the r0.4 board w/ pt2001

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-08-29 22:24:11 -04:00
rusefi 72060dd68f VVT support for VAG trigger #883 2020-08-29 18:13:00 -04:00
rusefi e6a5a49805 OBD CAN sensors #1733 2020-08-29 14:36:23 -04:00
Matthew Kennedy 1b07647e72 Software knock detection (#1730)
* 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

* config enable switch
2020-08-28 21:13:50 -04:00
rusefi bdbee0d38b VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 7299c79810 more fixing build? 2020-08-21 22:07:55 -04:00
Matthew Kennedy 8ab4c5c765 Analog input filtering (#1680)
* improve biquad

* cleanup

* add filtering to subscriptions

* config sensors

* comment

* doesn't need to be that fast

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-21 19:47:12 -04:00
rusefi 4cd5f146f4 bugfix - PPS second channel was not initialized 2020-08-19 00:46:57 -04:00
Andrei 178c55e62b vss_exti untested 2020-08-13 18:27:31 +03:00
rusefi a7edab2db6 disable trigger_hw_input should work for PAL and VVT 2020-08-09 00:20:01 -04:00
rusefi 528d03a90b trigger and VSS hw integrated testing #1668 2020-08-08 18:28:43 -04:00
rusefi 2051551617 TS SD integration #1653 2020-08-07 17:20:16 -04:00
rusefi 6eecba28b1 TS SD integration #1653 2020-08-07 16:37:36 -04:00
rusefi 6e114a9a23 TS SD integration #1653 2020-08-07 16:27:21 -04:00
rusefi 09ffc1a8e6 TS SD integration #1653 2020-08-07 15:53:11 -04:00
rusefi 7ce6eb2e1b TS SD integration #1653 2020-08-07 15:01:25 -04:00
rusefi 8d0f47b940 TS SD integration #1653 2020-08-07 00:59:00 -04:00
rusefi ba6c490cb6 TS SD integration #1653 2020-08-06 23:34:47 -04:00
rusefi 0ebe7ba059 TS SD integration #1653 2020-08-06 22:05:26 -04:00
rusefi 8f2f8bc132 TS SD integration #1653 2020-08-06 01:15:41 -04:00
rusefi 4d63814714 TS SD integration #1653 2020-08-02 23:09:38 -04:00
rusefi e4a4377780 TS SD integration #1653 2020-08-02 22:31:11 -04:00
rusefi 9a33e922af The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
rusefi 915f8c50d9 TS SD integration #1653 2020-08-02 17:58:57 -04:00
rusefi 0a8f1f293a typo 2020-08-01 18:59:09 -04:00
Matthew Kennedy c1a0b4424d init 2020-07-29 02:50:23 -07:00
Matthew Kennedy f2de8e425f dead 2020-07-29 02:49:37 -07:00
Matthew Kennedy 6b7a3b0861 explicit 2020-07-29 02:49:31 -07:00
Matthew Kennedy 5dbfdc01dc shadowed 2020-07-29 02:49:23 -07:00
rusefi fa9eddd0e7 SD logging 2020-07-09 20:08:18 -04:00
rusefi d9a1fd9f99 docs 2020-07-04 21:38:52 -04:00
dron0gus 8ffa7e518f stm32/kinetis_pins.cpp: remove PORTS array - duplicates ports array (#1527) 2020-06-21 15:59:18 -04:00
rusefi d3ba22063c refactoring 2020-06-21 15:40:59 -04:00
kon 9af150bd41 BMW E90 Kombi (#1494)
* second can bus, first steps

* added most important messages; no more errors

* cleaned up can messages

* second can bus, first steps

* added most important messages; no more errors

* cleaned up can messages

* post rebase/merge fixes

* more rebase/merge fixes

* even more rebase/merge fixes

* more fixes, removed auto-gen files

* removed more auto-gen files...
2020-06-14 16:59:43 -04:00
Matthew Kennedy d13bd0b77c Hardware pwm (#1283)
* hard pwm

* fix, comments

* PC6-9 and PD12-15

* PB6-9

* dynamic frequency

* f7 mcuconf

* format

* relocate to common, support variable frequency

* error handling

* oops

* fix test build

* noop kinetis

* better guards

* guard for bl

* guards don't work if they have typos

* more mapping

* oops

* don't use for slow pwm

* enable pwm

* guard properly

* save a little memory

* use less mem

* correct timers

* all your ram are belong to us

* update limit & comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-28 16:02:41 -04:00
rusefi 804f4b9db5 better file name 2020-05-25 13:02:05 -04:00
rusefi 36f13323ea more readable error message thank you Matt! 2020-05-23 17:20:46 -04:00
rusefi 9509d93e2a partial rollback 2020-05-23 17:13:46 -04:00
Matthew Kennedy a2313a853c switch some firmware warnings to errors (#1465)
* warnings as errors

* throw instead of exit

* test massaging

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-23 10:46:28 -04:00
rusefi 6453e891e6 "TLE8888 SR Unexpected response" does not work as intended fix #1466 2020-05-22 22:56:19 -04:00
rusefi bf8ceda67d "TLE8888 SR Unexpected response" does not work as intended #1466 2020-05-22 08:23:49 -04:00
rusefi 5dc4a6ca71 helping build 2020-05-22 01:14:42 -04:00
rusefi 14b0b5dc4c more info into error message 2020-05-22 01:05:07 -04:00
rusefi 9dee72cf3e progress 2020-05-21 22:33:48 -04:00
Matthew Kennedy 0a278375fd Binary logging to SD (#1461)
* binary log

* remove old text logging

* change file extension

* just use a bare buffer

* more mem :(

* double ugh

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-21 15:52:58 -04:00
Matthew Kennedy 441fe43dab warnings (#1462)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-21 01:08:07 -04:00
Matthew Kennedy 61b8bfb7e3 free up timers for hardware PWM (#1459)
* free up timers

* put that back
2020-05-20 19:14:42 -04:00
rusefi a2648c4d52 WBO 2020-05-20 19:01:55 -04:00
NOx-z 8e03ef09b7 Mc33 timings (#1453)
* mc33 flash check

* DI sanity checks for setting HV config

* mc33 timings

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-05-20 02:35:18 -04:00
Matthew Kennedy d6186c1cf3 pass in write length (#1447) 2020-05-17 17:27:26 -04:00
rusefi a2ce3805a8 docs? 2020-05-17 17:08:04 -04:00
Matthew Kennedy 8cbddc70f6 improve file format (#1446) 2020-05-17 17:02:22 -04:00
NOx-z 89ff56e844 Mc33 vccp uv (#1445)
* mc33 flash check

* DI sanity checks for setting HV config

* mc33 VccP (7v) under voltage detection - before and after DRIVEN, useful for regulator broken - or DC-DC logic converter broken

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-05-17 16:28:05 -04:00
rusefi 7e33ad575d Revert "Minor fixes (#1442)"
This reverts commit 2e9cff85
2020-05-16 19:28:49 -04:00
dron0gus 2e9cff8596 Minor fixes (#1442)
* exti trigger: mark pins used, handle errors

* MC33810 add to smart gpios
2020-05-16 19:15:49 -04:00
Matthew Kennedy ea127f9cda don't register ID pin (#1438) 2020-05-16 00:33:47 -04:00
rusefi 9b551c60c2 REVERT need to get master green 2020-05-15 20:15:34 -04:00
dron0gus aa9def4a99 Minor fixes (#1437)
* cmpilation warning cleanup

* exti trigger: mark pins used, handle errors
2020-05-15 18:03:18 -04:00
dron0gus 225f529b37 tle6240: fix crash in driver wake routine (#1435) 2020-05-15 15:54:41 -04:00
dron0gus 425d1a2554 smart gpios: remove dead code (#1432) 2020-05-14 16:15:55 -04:00
rusefi f081c8eef4 new LED logic: constant WARNING if VBATT is below 7v 2020-05-13 01:52:27 -04:00
rusefi 5c91d96ce6 new LED logic: constant WARNING if VBATT is below 7v 2020-05-13 01:17:48 -04:00
rusefi adafa0a0d8 I think it's OK to crash very visibly if no proper SPI response 2020-05-13 01:07:11 -04:00
dron0gus 442d7ddfc5 either newline at end of mk file either no backslash on last line (#1425)
This fixes following build issue under linux:
make: *** No rule to make target 'build/obj/.cpp cj125.cpp', needed by 'build/obj/ build/obj/cj125.o'.  Stop.
make: *** Waiting for unfinished jobs....

Introduces in ae44c0fce7
2020-05-12 09:55:43 -04:00
NOx-z f0d556c74b Mc33 undervolt (#1423)
* mc33 flash check

* DI sanity checks for setting HV config

* mc33 under voltage check

* mc33 under voltage check

* mc33 clear driver status on startup

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-05-11 21:11:16 -04:00
kon ae44c0fce7 Aux serial (#1422)
* aux serial updates from last PR

* trying to guess

* wow that's old! also not working maybe?

* hiding diag code which was messing with GP2/GP3 i.e. TLE8888_PIN_22 TLE8888_PIN_23

* date

* Mc33 undervolt (#1421)

* mc33 flash check

* DI sanity checks for setting HV config

* mc33 under voltage check

* mc33 under voltage check

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>

* fixed {}

Co-authored-by: rusefi <rusefillc@gmail.com>
Co-authored-by: NOx-z <50815960+NOx-z@users.noreply.github.com>
Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
Co-authored-by: kon <dev@triggerdevel>
2020-05-11 12:17:42 -04:00
NOx-z ff724bdc74 Mc33 undervolt (#1421)
* mc33 flash check

* DI sanity checks for setting HV config

* mc33 under voltage check

* mc33 under voltage check

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-05-11 01:52:20 -04:00
rusefi 5240384624 hiding diag code which was messing with GP2/GP3 i.e. TLE8888_PIN_22 TLE8888_PIN_23 2020-05-11 00:53:50 -04:00
rusefi db8f76bba5 trying to guess 2020-05-09 20:45:20 -04:00
rusefi 7aa195e86e tle8888 restoration 2020-05-09 16:59:54 -04:00
rusefi 137a41282b mre 050 compromise 2020-05-09 09:40:00 -04:00
rusefi bf2d29bff3 Revert "Tle8888 for mre 050 (#1408)"
This reverts commit bd0a84b6
2020-05-08 23:58:34 -04:00
dron0gus bd0a84b62d Tle8888 for mre 050 (#1408)
* tle8888: fix tle8888_chip_init flow

* tle8888: set correct pin modes for mcu gpios in tle8888_chip_init

Direct drive, reset, inj_en and ign_en gpio should be outputs
2020-05-08 19:05:30 -04:00
dron0gus 3fd4d9ffc3 tle8888: on MRE 0.5.0 we can drive ING_EN and INJ_EN from STM (#1407)
Do it!
2020-05-08 17:47:41 -04:00
dron0gus baef1e4a73 Tle8888 stage 1 (#1404)
* TLE8888: implement diagnostic

* TLE8888: add support for PP mode on OUT21..24

* tle8888: use helpers to extract register value from 16bit reply
2020-05-07 09:49:57 -04:00
dron0gus 7007627b70 [SAFE] Debug cleanups (#1403)
* electronic throttle: inprove debug

* idle thread: show debug info for configured idle driver

* gpio-chips: make private functions static
2020-05-06 20:06:50 -04:00
rusefi 95d1771bc5 steps towards tle8888 2020-05-06 19:20:12 -04:00
Matthew Kennedy 5c84d95360 proteus -> exti (#1378)
* proteus -> exti

* do frankenso pal the same way

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-06 18:52:15 -04:00
rusefi cfd8889236 class constructors are a great way to have simple initialization sequence 2020-05-03 10:58:52 -04:00
rusefi b34693da97 docs 2020-05-03 10:41:48 -04:00
rusefi 04363877b4 refactoring: using constructor life-cycle to simplify initialization sequence 2020-05-02 23:15:48 -04:00
rusefi f9e63c5c45 CJ125 PI commands 2020-05-01 20:22:49 -04:00
rusefi f66a1c21c9 cj125 progress 2020-05-01 19:42:09 -04:00
rusefi b262b5da66 cj125 less verbose when running 2020-05-01 19:27:26 -04:00
rusefi c33d611dd4 bugfix 2020-05-01 19:19:29 -04:00
rusefi 9353ef7d51 better state messages 2020-05-01 18:52:06 -04:00
rusefi 7689cfc2dd Attempting cj125 2020-05-01 17:52:25 -04:00
rusefi bdacba7d4a docs 2020-04-30 22:30:37 -04:00
rusefi b04a3ecbed https://github.com/rusefi/rusefi_documentation/issues/37 2020-04-29 18:46:51 -04:00
rusefi dc6ffd54d0 fix master #1375 2020-04-28 08:10:36 -04:00
Matthew Kennedy 65fc0b6712 fix master (#1375)
* fix

* put back how it was

* missed a spot
2020-04-28 08:08:41 -04:00
Matthew Kennedy 7e067eb0b5 Move ETB control to a thread (#1374)
* switch to thread

* actually use default frequency define

* crank ADC too

* make space in RAM

* remove TS field

* this should work for test

* fix dt

* re-resize ram
2020-04-28 07:22:31 -04:00
rusefi 0ec3ce595e dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy 6d0efc432e allow overriding configuration (#1341)
* config overrides

* proteus too

* comment

* remove wno-error

* comment
2020-04-26 00:07:59 -04:00
dron0gus d5a76b5dda Update chibios (#1364)
* Update ChibiOS

* Fix coexistance of ChibiOS and our flash drivers

* Add 'int' = internal prefix for all on-chip flash functions

This avoid conflict with ChibiOS functions available after
enabling HAL_USE_EFL

* Exclude ChibiOS flash driver from bootloader

* Makefile magic?

* Kinetis: fix build after ChibiOS update and switching to SMART_BUILD

* Bootloader now use SMART_BUILD too
2020-04-25 16:32:32 -04:00
Matthew Kennedy 67ea0368c9 Remove scheduler debug pins (#1359)
* trigger gen refactoring

* missed one

* remove microsecond timer debug pins

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-24 23:13:05 -04:00
Matthew Kennedy 3f4f0f9e7a use the linker! (#1363) 2020-04-24 21:21:04 -04:00
Matthew Kennedy a005daa8cb switch ADC to gpt (#1343)
* switch to gpt

* halconf

* fix kinetis

* fix kinetis

* fix guards

* comment cleanup
2020-04-23 22:50:18 -04:00
rusefi de362bd808 tle8888 modes corrected 2020-04-23 19:49:22 -04:00
rusefi b607400984 TLE8888 mode flexibility 2020-04-23 16:57:37 -04:00
shadowm60 447b64e2cb Can vss updates (#1345)
* Vss over Can implementation proposal

Working for BMW e46

* fixed Firmware CI?

* kinetis fix.

* minor fixes

* Added W202 + fixed broken configs

- w202 Vel decoded
- added dbc checks
2020-04-22 13:40:08 -04:00
shadowm60 54f7ab268c Vss over Can implementation proposal (#1340)
* Vss over Can implementation proposal

Working for BMW e46

* fixed Firmware CI?

* kinetis fix.

* minor fixes
2020-04-21 20:48:37 -04:00
rusEfi 2b4ca0496b Better handling in case of ETB idle without ETB #1332 2020-04-19 21:51:27 -04:00
Matthew Kennedy 68403a195a deduplicate logic (#1307)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-17 16:26:51 -04:00
rusefi 5ac8ee2f92 minor fix 2020-04-16 16:04:38 -04:00
NOx-z f63682d692 DI HV sanity checks (#1306)
* mc33 flash check

* DI sanity checks for setting HV config

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-04-16 16:04:09 -04:00
rusefi 3e1006a626 MC progress 2020-04-16 14:08:28 -04:00
NOx-z d835313341 MC33816 dram update (#1305)
* mc33 flash check

* update dram and set boost voltage function

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-04-16 07:32:08 -04:00
rusefi c80cc84451 multi-channel Tuner Studio tooth logger #1284 2020-04-15 19:10:54 -04:00
rusefi d788348d7c mc33 fix 2020-04-14 19:36:25 -04:00
rusefi ae8936b93b MC restart 2020-04-14 19:23:53 -04:00
rusefi 817ea2c008 multi-channel Tuner Studio tooth logger #1284 2020-04-14 15:17:15 -04:00
rusefi 3bb44df7b5 mc33 better error handling 2020-04-14 15:07:24 -04:00
rusefi 15577f7699 mc33 better error handling 2020-04-14 15:05:33 -04:00
NOx-z 13111f6aa2 mc33 flash check (#1296)
Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-04-14 00:57:19 -04:00
rusefi bf541d5361 mc33 progress 2020-04-13 20:01:06 -04:00
rusefi d299998b65 mc progress 2020-04-13 19:49:02 -04:00
rusefi 8da96bcbe1 copy/paste is evil 2020-04-13 19:14:30 -04:00
rusefi b02b5f2202 Merge branch 'master' of https://github.com/rusefi/rusefi 2020-04-13 19:01:34 -04:00
rusefi f6986e604f MC flag0 2020-04-13 19:01:22 -04:00
Matthew Kennedy b599b75bed allow different dlc (#1294)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-13 17:05:52 -04:00
rusefi 33eb9fd2ec new attempt at better simulator 2020-04-13 13:12:55 -04:00
rusefi 79d7afca3c fixing build 2020-04-13 10:23:08 -04:00
rusefi 27a38c7cf8 progress 2020-04-13 09:14:48 -04:00
Christopher W. Anderson 5b45cd84c6 mc33816 driven to high, and a few additional checks
ven#
2020-04-12 18:09:57 -04:00
rusefi 944b37aa0f one place for default test config 2020-04-12 17:47:30 -04:00
Matthew Kennedy 24b0c85a9e fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
rusefi adb1402f31 DI progress 2020-04-11 21:48:04 -04:00
rusEfi 371754118c cj125 diag 2020-04-09 00:17:29 -04:00
rusEfi 80d5ef0c3f cj125 diag 2020-04-09 00:12:27 -04:00
rusefi c98cdc9c0a cj125 progress 2020-04-08 23:14:21 -04:00
rusefi 5e00b3ac17 extracting method 2020-04-08 22:36:18 -04:00
rusefi 914855d262 refactoring 2020-04-08 21:23:49 -04:00
Andrey Gusakov 94395de16a pin_repository: fix for boards with gapes in brain_pin_e
Some additional math should be done to convert brain_pin_e to index
and back in case board do not have all chips exist in enum.

ifdef hell is for Kinetis board that uses its own brain_pin_e enum
2020-04-06 14:30:14 -04:00
Andrey Gusakov e74cd6ae96 pin_repository: fix compilation for devices without TLE8888 2020-04-06 14:29:02 -04:00
rusefi 3888ffc007 smart gpio clean-up 2020-04-06 14:28:08 -04:00
rusefi c1ab5ca585 smart gpio clean-up 2020-04-06 14:13:29 -04:00
rusefi 7fe8a494ef a bit of header clean-up 2020-04-06 13:05:30 -04:00
rusefi 070f6b52b8 code style 2020-04-06 12:34:21 -04:00
rusEfi d564b4e475 clean-up by Dron0Gus 2020-04-06 11:55:44 -04:00
Matthew Kennedy 43d38a6691 TPS Initialization Testing (#1264)
* test support

* stub for tests

* plumbing so we can test this

* add test

* comments
2020-04-05 09:10:08 -04:00
Matthew Kennedy 7a0ee7d6dc improve pin error messages (#1252)
* improve error msg

* emulator pin names too

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-03 15:00:59 -04:00
Matthew Kennedy 54082ac8e1 switch (#1250) 2020-04-02 16:26:06 -04:00
rusefi b40d4d588d code style 2020-04-01 21:32:21 -04:00
Matthew Kennedy 8235d8d765 Fully switch acc pedal to new sensors (#1212)
* proxy sensor

* header

* idle

* can

* settings

* remove old mocking

* remove old impl

* etb

* oops, gotta actually register it

* fix test

* structured bindings ftw!

* driver intent for stepper

* tear out old

* oops too much
2020-04-01 20:21:03 -04:00
rusefi cc35e8a9b0 code style 2020-04-01 19:00:56 -04:00
Matthew Kennedy 90ec387cdb Sensor-via-CAN (#1241)
* CAN sensor impl

* subscription hookup

* printing

* init

* inject stamp

* don't init const field

* clarify

* guard for non-CAN builds

* fix merge

* guard with EFI_CANBUS_SLAVE

* headers, guards

* include

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-31 23:21:05 -04:00
rusEfi 3f55b0db59 CAN progress 2020-03-31 20:57:52 -04:00
rusefi fe604f71b8 CAN progress 2020-03-31 16:49:19 -04:00
Matthew Kennedy 67f01ff9c7 Friendlier pin names (#1233)
* enable TS error readout

* friendlier text for common errors

* improve comment

* friendlier ADC errors

* ign/inj names

* more pin names
2020-03-29 19:07:07 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy d37b5f0494 Show fatal error text in TS (the right way) (#1232)
* enable TS error readout

* friendlier text for common errors

* improve comment
2020-03-29 07:27:36 -04:00
rusefi c6ac5ed888 progress 2020-03-28 20:56:58 -04:00
Matthew Kennedy b7033bbde9 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 8642a0a6c7 TS cleanup pass (#1225)
* remove biquad config

* fuel pump clarity

* one code usage

* minimal generate for ci

* and don't build it either

* remove commented out code
2020-03-25 23:00:17 -04:00
Matthew Kennedy 2e12329199 Default to applyPinState (#1219)
* make applyPinState default

* consumers

* format
2020-03-25 18:14:09 -04:00
Matthew Kennedy 45f5afe871 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