Commit Graph

1646 Commits

Author SHA1 Message Date
Andrey G f48621e4c2
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 4d89095890 docs 2020-11-17 08:25:50 -05:00
Matthew Kennedy f9ae075ac6
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 6e4517be8c
adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
Matthew Kennedy 5a443501fb
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 bb8650179c
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 62f441376c
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 7c8521f078 debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
refactoring
2020-11-07 00:46:59 -05:00
rusefi ee01be3fd2 debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
undoing brain fart
2020-11-07 00:43:42 -05:00
rusefillc 7bfa18295a Proteus TCU gear shift configuration #1927 2020-11-06 23:48:35 -05:00
Matthew Kennedy 3241a43a2d
extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -05:00
rusefi 7de1fc8e2a 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 0f5f0a549b this stuff is just too dead 2020-11-02 23:46:41 -05:00
Andrey G 63c25ab8a7
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 946fe5091c
remove spiMtx (#1907) 2020-10-25 17:26:46 -04:00
Matthew Kennedy 08d8262f77
oops (#1899) 2020-10-23 15:45:44 -04:00
Andrey G 8e11675afd
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 4e249889a6
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 e4c5ca4af0
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 e0bb7ad581
disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
rusefi 51e840eaa6 code style 2020-10-19 22:47:09 -04:00
rusefi e0a5c3dc12 GDI Epic #1448 2020-10-19 22:04:06 -04:00
Matthew Kennedy a68cbae0dc
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 7eeb60a8a0
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 568ec91fc0
fix temp sensor & validate it (#1879)
* fix temp sensor & validate

* smaller here should work
2020-10-14 22:39:16 -04:00
Matthew Kennedy 2855e04234
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 dfa3e69186 GDI Epic #1448 2020-10-11 23:39:40 -04:00
Matthew Kennedy c885db32f0
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 fb85082e01
switch (#1839)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-01 01:36:33 -04:00
Matthew Kennedy 16bfd39bac
Remove dead & useless config (#1834)
* remove dead config

* remove enum
2020-09-29 06:34:39 -04:00
David Holdeman 4d0b953129
switch to pass by reference (#1832) 2020-09-28 19:17:17 -04:00
andreika-git 6e5a3fbbe9
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 181113ff17
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 c957541cf4 ADC progress 2020-09-21 06:10:25 -04:00
Matthew Kennedy 2ee9e837bb
guard against ADC buffer overrun (#1812) 2020-09-21 12:37:51 +03:00
rusefi 33eef982d1 reorder ADC channel index #1763
we forgot about something
2020-09-20 14:20:08 -04:00
David Holdeman 68012c18b7
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 8ebdf6fcdc
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 3d6a6398ac
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 38e38c82b5 Hellen says merge #1772 hardware.cpp 2020-09-15 15:01:31 -04:00
rusefi 78b65ea8aa Merge remote-tracking branch 'origin/master' into master 2020-09-15 14:49:01 -04:00
andreika-git 45c43bb6fd 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 2a1e2c53e3
proteus SD card defaults (#1796)
* proteus SD defaults

* disable serial console pins
2020-09-14 10:54:25 +03:00
Matthew Kennedy 97cb9f45bd
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 256a4a2637 Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit d941bdc5
2020-09-12 04:36:24 -04:00
rusefi 893de62fe6 Merge remote-tracking branch 'origin/master' into master 2020-09-12 04:03:23 -04:00
rusefi 958538e5aa Hellen says merge #1772 adc.h 2020-09-12 04:03:11 -04:00
Matthew Kennedy d941bdc502
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 337106cd24
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 dbb10e7c7d Merge remote-tracking branch 'origin/master' into master 2020-09-09 17:25:09 -04:00
rusefi 3a11ea7e31 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 2bf3792c53
Debounce pin state function (#1780)
* add readpinstate

* wrong var name
2020-09-09 17:18:54 -04:00
rusefi a0aeeb4919 Hellen says merge #1772 smart gpio 2020-09-09 17:16:51 -04:00
rusefi e94631ad3d 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 e1be439682 Hellen says merge #1772 helping merge - Kinetis?! 2020-09-09 16:38:18 -04:00
rusefi 6e64d243da Hellen says merge #1772 helping merge 2020-09-09 14:35:01 -04:00
rusefi 07bc8100c7 Hellen says merge #1772 helping merge 2020-09-09 14:20:54 -04:00
rusefi 59ecf525f5 Hellen says merge #1772 helping merge 2020-09-09 13:43:18 -04:00
rusefi 500d73ef02 Hellen says merge #1772 more about ports 2020-09-09 13:39:51 -04:00
rusefi 995795eeb6 Hellen says merge #1772 trigger h 2020-09-09 10:21:14 -04:00
rusefi 6fdb54d0dc Hellen says merge #1772 backup ram.h 2020-09-09 10:20:21 -04:00
rusefi ed38250fd5 Hellen says merge #1772 more about ports 2020-09-09 10:18:58 -04:00
rusefi 38c4794ef0 Merge remote-tracking branch 'origin/master' into master 2020-09-09 08:58:54 -04:00
rusefi 47b3ad0b9c Hellen says merge #1772 more ports 2020-09-09 08:58:12 -04:00
rusefi 729bf748eb Hellen says merge #1772 more ports 2020-09-09 08:53:11 -04:00
rusefi 0d26894154 Hellen says merge #1772 tle header 2020-09-09 08:52:14 -04:00
David Holdeman f5d9263ad1
switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01:00
Andrey G 2312b0ae57
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 4ce758db88
use EFI_UNIT_TEST, add check (#1774) 2020-09-08 14:27:23 -04:00
David Holdeman cab4cd0df2
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 9bea1190a4 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 c4cbdf0d77 Hellen says merge #1772 ADC flexibility 2020-09-07 15:50:37 -04:00
rusefi 279482a298 Hellen says BOARD_DRV8860_COUNT 2020-09-07 15:38:34 -04:00
rusefi f33b3eda8a 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 6a3d212370 Hellen says merge #1772
Hellen says stepper

(cherry picked from commit a2f26ac99b)
2020-09-07 14:45:41 -04:00
rusefi a88e142df0 Hellen says misc
(cherry picked from commit 2390c3ae2b)
2020-09-07 14:43:12 -04:00
rusefi a2f26ac99b Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -04:00
rusefi 2390c3ae2b Hellen says misc 2020-09-07 14:09:00 -04:00
rusefi 38f480741f Hellen says drivers
(cherry picked from commit 02573713f3)
2020-09-07 12:02:40 -04:00
rusefi 0aa76da9f2 Hellen says ports
(cherry picked from commit 4acea75cc8)
2020-09-07 12:02:34 -04:00
rusefi 02573713f3 Hellen says drivers 2020-09-07 12:00:16 -04:00
rusefi 4acea75cc8 Hellen says ports 2020-09-07 11:57:20 -04:00
rusefi 7d0c8b4870 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 1f6b820a96 microRusEFI used as Body Control Module BCM BCU 2020-09-06 21:30:14 -04:00
rusefi 39d09bc976 microRusEFI used as Body Control Module BCM BCU 2020-09-06 20:21:01 -04:00
Matthew Kennedy 0e14e51179
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 95798a5246
fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
rusefi ca21d5b4c2 refactoring 2020-09-03 19:29:15 -04:00
David Holdeman 499a430347
[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 182747e907
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 5fc1b6902c
fix #1740 the right way (#1741)
* fix

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

* don't unicode
2020-08-30 15:38:56 -04:00
NOx-z e1e9e2caf0
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 2971230711 VVT support for VAG trigger #883 2020-08-29 18:13:00 -04:00
rusefi 94daeb7922 OBD CAN sensors #1733 2020-08-29 14:36:23 -04:00
Matthew Kennedy 1a55085bb6
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 7867e83e43 VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 938f40cbef more fixing build? 2020-08-21 22:07:55 -04:00
Matthew Kennedy 733008b9d0
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 add49b0a5c bugfix - PPS second channel was not initialized 2020-08-19 00:46:57 -04:00
Andrei 068f21c616 vss_exti untested 2020-08-13 18:27:31 +03:00
rusefi f04149b489 disable trigger_hw_input should work for PAL and VVT 2020-08-09 00:20:01 -04:00
rusefi ba62727c25 trigger and VSS hw integrated testing #1668 2020-08-08 18:28:43 -04:00
rusefi 512d7c2c49 TS SD integration #1653 2020-08-07 17:20:16 -04:00
rusefi 3b8525b521 TS SD integration #1653 2020-08-07 16:37:36 -04:00
rusefi a8ba5311f2 TS SD integration #1653 2020-08-07 16:27:21 -04:00
rusefi 6efcd3a474 TS SD integration #1653 2020-08-07 15:53:11 -04:00
rusefi cc35325eb7 TS SD integration #1653 2020-08-07 15:01:25 -04:00
rusefi 8764693179 TS SD integration #1653 2020-08-07 00:59:00 -04:00
rusefi 8192247175 TS SD integration #1653 2020-08-06 23:34:47 -04:00
rusefi 526e02af53 TS SD integration #1653 2020-08-06 22:05:26 -04:00
rusefi ea7fed6a16 TS SD integration #1653 2020-08-06 01:15:41 -04:00
rusefi b208f592cd TS SD integration #1653 2020-08-02 23:09:38 -04:00
rusefi 10b8da525d TS SD integration #1653 2020-08-02 22:31:11 -04:00
rusefi 8f4aecf7ca The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
rusefi aa2ee8a776 TS SD integration #1653 2020-08-02 17:58:57 -04:00
rusefi 55bf936cee typo 2020-08-01 18:59:09 -04:00
Matthew Kennedy cd696acbe2 init 2020-07-29 02:50:23 -07:00
Matthew Kennedy 8508be5ebd dead 2020-07-29 02:49:37 -07:00
Matthew Kennedy 727f6e78ba explicit 2020-07-29 02:49:31 -07:00
Matthew Kennedy 1f221043ed shadowed 2020-07-29 02:49:23 -07:00
rusefi 064c96836d SD logging 2020-07-09 20:08:18 -04:00
rusefi 0409087606 docs 2020-07-04 21:38:52 -04:00
dron0gus 6992a541f3
stm32/kinetis_pins.cpp: remove PORTS array - duplicates ports array (#1527) 2020-06-21 15:59:18 -04:00
rusefi 048e910957 refactoring 2020-06-21 15:40:59 -04:00
kon 03f4efa0b2
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 3a7c6f242b
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 a4329169e9 better file name 2020-05-25 13:02:05 -04:00
rusefi fc28692258 more readable error message thank you Matt! 2020-05-23 17:20:46 -04:00
rusefi f806ca091d partial rollback 2020-05-23 17:13:46 -04:00
Matthew Kennedy b11c5cd8c8
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 44b5e38d3a "TLE8888 SR Unexpected response" does not work as intended fix #1466 2020-05-22 22:56:19 -04:00
rusefi a0a1a9f9bb "TLE8888 SR Unexpected response" does not work as intended #1466 2020-05-22 08:23:49 -04:00
rusefi 1387ea7582 helping build 2020-05-22 01:14:42 -04:00
rusefi c95a4c552b more info into error message 2020-05-22 01:05:07 -04:00
rusefi 09ff35918b progress 2020-05-21 22:33:48 -04:00
Matthew Kennedy af53939d84
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 4f334c91d5
warnings (#1462)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-21 01:08:07 -04:00
Matthew Kennedy 125701f514
free up timers for hardware PWM (#1459)
* free up timers

* put that back
2020-05-20 19:14:42 -04:00
rusefi 725d2b816d WBO 2020-05-20 19:01:55 -04:00
NOx-z b71403de7a
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 ee15560f3d
pass in write length (#1447) 2020-05-17 17:27:26 -04:00
rusefi 5937ef8123 docs? 2020-05-17 17:08:04 -04:00
Matthew Kennedy 902b11fb5e
improve file format (#1446) 2020-05-17 17:02:22 -04:00
NOx-z d43bc81c24
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 af8de4c84f Revert "Minor fixes (#1442)"
This reverts commit 0c095ddd
2020-05-16 19:28:49 -04:00
dron0gus 0c095ddd15
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 0c142921d6
don't register ID pin (#1438) 2020-05-16 00:33:47 -04:00
rusefi 656acd1788 REVERT need to get master green 2020-05-15 20:15:34 -04:00
dron0gus e3fd0a186a
Minor fixes (#1437)
* cmpilation warning cleanup

* exti trigger: mark pins used, handle errors
2020-05-15 18:03:18 -04:00
dron0gus 7500e44c8c
tle6240: fix crash in driver wake routine (#1435) 2020-05-15 15:54:41 -04:00
dron0gus 48aa40b344
smart gpios: remove dead code (#1432) 2020-05-14 16:15:55 -04:00
rusefi 4e5a69891d new LED logic: constant WARNING if VBATT is below 7v 2020-05-13 01:52:27 -04:00
rusefi 257ed04fac new LED logic: constant WARNING if VBATT is below 7v 2020-05-13 01:17:48 -04:00
rusefi 52ad619b15 I think it's OK to crash very visibly if no proper SPI response 2020-05-13 01:07:11 -04:00
dron0gus e10259de99
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 8d35c35035
2020-05-12 09:55:43 -04:00
NOx-z 2e3c142993
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 8d35c35035
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 7513b8ea5a
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 75781f1262 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 633afc10c8 trying to guess 2020-05-09 20:45:20 -04:00
rusefi 19a1ad05b1 tle8888 restoration 2020-05-09 16:59:54 -04:00
rusefi b88b1e4aa5 mre 050 compromise 2020-05-09 09:40:00 -04:00
rusefi 8c3485a8dc Revert "Tle8888 for mre 050 (#1408)"
This reverts commit ba1a606d
2020-05-08 23:58:34 -04:00
dron0gus ba1a606d9a
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 d0d5cdd4dd
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 98bca0cb23
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 5987fb8b88
[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 07e6e2c4ad steps towards tle8888 2020-05-06 19:20:12 -04:00
Matthew Kennedy 858821ed66
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 11a02b6395 class constructors are a great way to have simple initialization sequence 2020-05-03 10:58:52 -04:00
rusefi 244d1ea7e8 docs 2020-05-03 10:41:48 -04:00
rusefi 96ceae7d17 refactoring: using constructor life-cycle to simplify initialization sequence 2020-05-02 23:15:48 -04:00
rusefi d371af5b89 CJ125 PI commands 2020-05-01 20:22:49 -04:00
rusefi 669322311f cj125 progress 2020-05-01 19:42:09 -04:00
rusefi de519474ef cj125 less verbose when running 2020-05-01 19:27:26 -04:00
rusefi d6db0d1013 bugfix 2020-05-01 19:19:29 -04:00
rusefi c39662b5c6 better state messages 2020-05-01 18:52:06 -04:00
rusefi fe25c8162a Attempting cj125 2020-05-01 17:52:25 -04:00
rusefi 865531193d docs 2020-04-30 22:30:37 -04:00
rusefi 7686ee271c https://github.com/rusefi/rusefi_documentation/issues/37 2020-04-29 18:46:51 -04:00
rusefi 0c5e41a36d fix master #1375 2020-04-28 08:10:36 -04:00
Matthew Kennedy cb668e5234
fix master (#1375)
* fix

* put back how it was

* missed a spot
2020-04-28 08:08:41 -04:00
Matthew Kennedy fe4b531aeb
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 1b84406e77 dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy 83cca6ec7a
allow overriding configuration (#1341)
* config overrides

* proteus too

* comment

* remove wno-error

* comment
2020-04-26 00:07:59 -04:00
dron0gus 474d5e64cf
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 a8db44d48a
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 f704bf22cb
use the linker! (#1363) 2020-04-24 21:21:04 -04:00
Matthew Kennedy b6ee79327d
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 ac9ca1343a tle8888 modes corrected 2020-04-23 19:49:22 -04:00
rusefi c52c7e2f1f TLE8888 mode flexibility 2020-04-23 16:57:37 -04:00
shadowm60 638cb64b54
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 fe3030bb23
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 1ced7eafbc Better handling in case of ETB idle without ETB #1332 2020-04-19 21:51:27 -04:00
Matthew Kennedy 2fdce936f0
deduplicate logic (#1307)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-17 16:26:51 -04:00
rusefi 82c3a7b2d4 minor fix 2020-04-16 16:04:38 -04:00
NOx-z fde7acd16f
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 3a70700935 MC progress 2020-04-16 14:08:28 -04:00
NOx-z 0657e3aeac
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 5c4eb10c52 multi-channel Tuner Studio tooth logger #1284 2020-04-15 19:10:54 -04:00
rusefi 8190971fc8 mc33 fix 2020-04-14 19:36:25 -04:00
rusefi 18c5fba979 MC restart 2020-04-14 19:23:53 -04:00
rusefi e32aa5266b multi-channel Tuner Studio tooth logger #1284 2020-04-14 15:17:15 -04:00
rusefi 0cce98793a mc33 better error handling 2020-04-14 15:07:24 -04:00
rusefi 90ecfb51fe mc33 better error handling 2020-04-14 15:05:33 -04:00
NOx-z 2d663b844b
mc33 flash check (#1296)
Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
2020-04-14 00:57:19 -04:00
rusefi 412fea4648 mc33 progress 2020-04-13 20:01:06 -04:00
rusefi 33deca6c42 mc progress 2020-04-13 19:49:02 -04:00
rusefi 0be8ff3357 copy/paste is evil 2020-04-13 19:14:30 -04:00
rusefi 21c7efbf53 Merge branch 'master' of https://github.com/rusefi/rusefi 2020-04-13 19:01:34 -04:00
rusefi 4cde884f1d MC flag0 2020-04-13 19:01:22 -04:00
Matthew Kennedy 89736f85f7
allow different dlc (#1294)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-13 17:05:52 -04:00
rusefi ced931c9b2 new attempt at better simulator 2020-04-13 13:12:55 -04:00
rusefi 25b281c9e7 fixing build 2020-04-13 10:23:08 -04:00
rusefi a08a6cebff progress 2020-04-13 09:14:48 -04:00
Christopher W. Anderson 1d9355a05b mc33816 driven to high, and a few additional checks
ven#
2020-04-12 18:09:57 -04:00
rusefi b56310195d one place for default test config 2020-04-12 17:47:30 -04:00
Matthew Kennedy ff867b9301
fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
rusefi 376ca47f12 DI progress 2020-04-11 21:48:04 -04:00
rusEfi 9d2249390f cj125 diag 2020-04-09 00:17:29 -04:00
rusEfi 19184033dd cj125 diag 2020-04-09 00:12:27 -04:00
rusefi 89474adb63 cj125 progress 2020-04-08 23:14:21 -04:00
rusefi 4056cf1022 extracting method 2020-04-08 22:36:18 -04:00
rusefi 5931fdb915 refactoring 2020-04-08 21:23:49 -04:00
Andrey Gusakov dae398d6cd 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 30ccaa4c24 pin_repository: fix compilation for devices without TLE8888 2020-04-06 14:29:02 -04:00
rusefi 66570a0f28 smart gpio clean-up 2020-04-06 14:28:08 -04:00
rusefi d3745c0f9e smart gpio clean-up 2020-04-06 14:13:29 -04:00
rusefi 2f69beee31 a bit of header clean-up 2020-04-06 13:05:30 -04:00
rusefi 2efa22f926 code style 2020-04-06 12:34:21 -04:00
rusEfi ba9424f538 clean-up by Dron0Gus 2020-04-06 11:55:44 -04:00
Matthew Kennedy 3186741ddc
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 0ca63356c0
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 a193ae3e42 switch (#1250) 2020-04-02 16:26:06 -04:00
rusefi a47dce4025 code style 2020-04-01 21:32:21 -04:00
Matthew Kennedy 50cd6549a2
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 907b80efa9 code style 2020-04-01 19:00:56 -04:00
Matthew Kennedy 15c40ffb5b
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 96828ae017 CAN progress 2020-03-31 20:57:52 -04:00
rusefi 81211219f2 CAN progress 2020-03-31 16:49:19 -04:00
Matthew Kennedy d541e04a7d
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 8fd9842310
cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy 61ee03ee06
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 d1b5a51400 progress 2020-03-28 20:56:58 -04:00
Matthew Kennedy 53679fab54
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 608cf45d26
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 2349d74f0b
Default to applyPinState (#1219)
* make applyPinState default

* consumers

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