Commit Graph

201 Commits

Author SHA1 Message Date
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
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
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
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 6d0efc432e allow overriding configuration (#1341)
* config overrides

* proteus too

* comment

* remove wno-error

* comment
2020-04-26 00:07:59 -04:00
rusefi b607400984 TLE8888 mode flexibility 2020-04-23 16:57:37 -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
Matthew Kennedy b599b75bed allow different dlc (#1294)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-13 17:05:52 -04:00
rusefi c1ab5ca585 smart gpio clean-up 2020-04-06 14:13:29 -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 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 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 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy 4096483aec custom verbose can format (#1200)
* config

* ts

* default cfg

* hand generate

* tx struct helper

* add data sending

* wire up

* value_or helper

* add file

* more sensors

* header

* compactify

* add status frame

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 17:58:46 -04:00
Matthew Kennedy 9f5eece62d split out can tx logic (#1197)
* move to can folder

* split out can rx

* only print in debug mode

* guard on feature flag

* split out tx

* headers

* headers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 14:01:07 -04:00
Matthew Kennedy f2994d6889 split out can rx logic (#1196)
* move to can folder

* split out can rx

* only print in debug mode

* guard on feature flag

* headers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 08:43:37 -04:00
Matthew Kennedy 1b4d98a7f0 Add new CanTxMessage class, consume in OBD2 (#1186)
* relocate

* include path

* simulator makefile

* fix mre while we're at it

* it would help if I fixed it right

* add can_msg

* convert obd2

* guard properly

* better include order

* docs & headers

* inject CAN device

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-18 22:07:41 -04:00
Matthew Kennedy 9a81b7d2c5 Move can_hw.cpp in to drivers folder (#1184)
* relocate

* include path

* simulator makefile

* fix mre while we're at it

* it would help if I fixed it right
2020-03-13 09:50:43 -04:00
rusEfi 040e040b4a verboseTLE8888 2020-02-27 02:11:20 -05:00
rusefi 4cf0bfb03b TLE8888 watchdog #917 2020-02-12 19:32:40 -05:00
rusefi c5e69cedc4 #917 progress 2020-02-12 17:37:45 -05:00
rusefi 58e711d683 and fixing build now! 2020-02-12 17:23:22 -05:00
rusefi c78ea7da6c tle8888 refactoring already - extracting method 2020-02-12 17:19:58 -05:00
dron0gus 65bc3b1744 tle8888: disable diagnostic for outputs (#1144)
DS is not clear, may be tle8888 clears OE bit in case of error on
output.
2020-02-12 08:53:35 -05:00
rusEfi ea4714e0c2 tle8888 dump at init 2020-02-12 08:34:26 -05:00
rusEfi 37896cb927 have nothing else to do :( 2020-02-12 08:24:24 -05:00
rusEfi 61da49b3c5 tle8888 output fix 2020-02-12 08:15:55 -05:00
rusEfi 41e10c177c FATAL error running MRE blinking test #1137
typo
2020-02-11 17:52:01 -05:00
rusEfi 9d5e4684b6 Merge branch 'master' of https://github.com/rusefi/rusefi 2020-02-11 17:49:49 -05:00
rusEfi 21853eb500 FATAL error running MRE blinking test #1137
still not the fix?
2020-02-11 17:49:39 -05:00
dron0gus 919034ca3e Tle8888 wd (#1143)
* tle8888: watchdog: debug over TS: remove tailing register address

* tle8888: ann console command to dump all regs
2020-02-11 17:49:14 -05:00
dron0gus ee56957205 tle8888: watchdog: debug using TS (#1142) 2020-02-11 16:56:52 -05:00
dron0gus 9fe8fe86a0 tle8888: watchdog: use FWDRespSyncCmd for last response (#1140) 2020-02-11 15:49:17 -05:00
dron0gus 59bb70f638 tle8888: watchdog: do not overwrite defaults, response table fix (#1139) 2020-02-11 15:36:53 -05:00
rusEfi 0c2d00b455 TLE8888 watchdog #917
still no luck. responses 0x85c and 0xa5c
2020-02-11 00:54:15 -05:00
rusEfi 41f274b73c WdDiag 2020-02-10 21:28:55 -05:00
rusEfi edc7ad69ae TLE8888 watchdog #917
time to start working?!
2020-02-10 18:32:32 -05:00
rusEfi 948cc7743e TLE8888 watchdog #917
maybe better start-up sequence
2020-02-10 17:08:37 -05:00
rusEfi fdb9e97fd3 TLE8888 watchdog #917 2020-02-10 14:37:52 -05:00
rusEfi ce54ae9497 TLE8888 watchdog #917
window watchdog progress
2020-02-10 13:24:09 -05:00
rusefi 223fe8ab70 TLE8888 watchdog #917
first steps
2020-02-10 11:11:00 -05:00
rusefi bc118ecede code style 2020-02-10 09:29:11 -05:00
rusEfi cfd7397e46 FATAL error running MRE blinking test fix #1137 2020-02-09 21:16:31 -05:00
rusEfi 3c874398ff tle8888 start-up clean-up 2020-02-09 20:41:25 -05:00
rusefi 586eb9e6e3 code style: trying to get used to this syntax 2020-01-22 00:45:09 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
dron0gus 406703b1b5 Gpio diagnostic (#1100)
* enums: add brain_pin_diag_e enum for pin diagnostic

* gpio core: add pin diagnostic call

* gpio: mc33810: add diagnostic support

* gpio: mc33972: add diagnostic support

* gpio: tle6240: add diagnostic

* pin_repository: output diagnostic data for gpio chips

* enums: kinetis: add brain_pin_diag_e enum for pin diagnostic
2020-01-12 10:20:10 -05:00
dron0gus 1b19aa1c57 hw: gpio: use unsigned int as pin number inside gpiochip drives (#1097)
Not brain_pin_e. Drivers like to see pin number within current
chip.
2020-01-11 10:29:41 -05:00
rusefi 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
dron0gus ddc071f611 Gpio fixes (#1086)
* drivers: gpio: add MC33810 driver (skeleton)

* pin_repository: debug: do not show absent chips
2020-01-07 07:55:50 -05:00
Matthew Kennedy df57b24e3f Shrink output channels, now with passing CI (#1077)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch

* rev signature

* correct map offset

* handle unsigned properly

* RPM is unsigned

* vss isn't scaled

* extract magic

* required generated for build

* de-scale rpm

* field type cases
2019-12-22 08:12:45 -05:00
rusefi 9ffda831a7 Revert "DRAFT Shrink output channels, again (#1074)"
This reverts commit ad7a383d
2019-12-21 15:02:49 -05:00
Matthew Kennedy ad7a383d74 DRAFT Shrink output channels, again (#1074)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch
2019-12-21 08:55:19 -05:00
rusefi 7dc6057ac7 Revert "Shrink output channels, use scaling (#1069)"
This reverts commit 1e0f1a26
2019-12-19 22:35:06 -05:00
Matthew Kennedy 1e0f1a2628 Shrink output channels, use scaling (#1069)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order
2019-12-19 20:37:42 -05:00
rusefi 19bdb9a35f docs & code formatting 2019-11-19 18:17:03 -05:00
andreika-git e20bdf4386 TLE6240 outputs fix (#994) 2019-11-01 15:49:55 -04:00
andreika-git ef23be6893 Kinetis & TLE8888 compatibility & fixes... (#991)
* TLE8888: More compatibility & postTunerStudioState

* activeConfiguration & EFI_ACTIVE_CONFIGURATION_IN_FLASH fix

* Kinetis: jump_to_bootloader() impl.

* Kinetis: UART baudrate safety check

* Kinetis: OMG!..
2019-10-31 16:06:34 -04:00
Matthew Kennedy 821ca6156f move tsOutputChannels to header (#970) 2019-10-08 21:02:51 -04:00
rusefi 12d9bc50b3 tle8888 reinit command 2019-09-05 10:30:27 -04:00
rusefi 280271ab1e TLE8888: NB2 solution + reset counter 2019-09-05 10:01:59 -04:00
dron0gus be13dc1185 TLE8888: track reset event by cleared OE bit in status register (#918)
As tle8888 suposed to be reset master and reset MCU there is no
flag showing POR reset. So try to poll OE bit.
2019-09-05 08:55:17 -04:00
rusefi d1f96682c2 Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 20:02:32 -04:00
rusefi 4737a2a57f Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 09:24:01 -04:00
rusefi df18a37788 Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 00:27:19 -04:00
rusefi cb488d28ce TLE8888 should be re-initialized every time we get +12 volts fix #901
fuel pump test passed, also longer start-up timeout is needed for reliable start
2019-08-16 23:21:03 -04:00
rusefi b3ccc4009c TLE8888 should be re-initialized every time we get +12 volts #901
moving SPI initialization to thread - still works on real hardware
2019-08-16 22:56:06 -04:00
rusefi 7de0eba798 TLE8888 should be re-initialized every time we get +12 volts #901
refactoring: extracting method
2019-08-16 22:41:19 -04:00
rusefi 890915524b refactoring 2019-08-16 22:01:32 -04:00
rusefi 8bdf4f30ae refactoring: ChibiOS now offers native 'lockAnyContext' pattern 2019-08-11 15:23:15 -04:00
rusefi d6f7e778ac code style/type safety/docs/typos 2019-08-10 11:13:41 -04:00
rusefi 59463a515e MRE hangs up on bench fix #899 2019-08-10 00:53:16 -04:00
rusefi 5d2afd2331 refactoring: better file name 2019-07-06 20:15:49 -04:00
rusefi 1b4c5bc552 we need TLE8888 driver #714 2019-06-08 21:58:23 -04:00
rusefi 3b87cd9add tle8888 driver bug #803
undoing since this breaks start-up
2019-06-08 20:28:13 -04:00
rusefi 4944916064 we need TLE8888 driver #714
trying a sleep before first command
2019-06-08 18:31:56 -04:00
rusefi 123aae2613 we need TLE8888 driver #714
saving exact TLE8888 reponses
2019-06-08 16:13:24 -04:00
rusefi 7a99fab788 https://github.com/rusefi/rusefi/issues/803 2019-06-08 00:44:18 -04:00
rusefi f322d6f753 better status code 2019-06-07 19:14:55 -04:00
rusefi 8456bd3c23 reviving tle8888 configuration 2019-06-05 22:32:30 -04:00
rusefi 7c5522b682 code style 2019-06-05 21:44:58 -04:00
rusefi c77ec2a4c9 docs 2019-05-30 17:43:40 -04:00
dron0gus 1b19a36b9e Smart gpios fixes 3 (#795)
* pin_repository: provide readable pin names in error cases

* io_pins: remove getBrain_pin_eExt

We have getBrain_pin_eExt in io_pins.cpp and hwPortname in
pin_repository.cpp.
First uses auto-generated enums, second one uses runtime data to
provide name of hw pin.
Removing first saves us about 2K of flash couse big auto-generated
switch with pin names no more used by anyone and gets optimized out.

* gpios: mc33972: CS pin is now requested at smart_gpios.pcc

* getSpiDevice: support SPI4

* smart_gpios.cpp: startSmartCsPins set CSs to inactive state

OutputPin:initPin initializes pin with false value. This is active
state for SPI Chip Selects. Set to 1 to deselect all chips.
2019-05-09 18:09:24 -04:00
andreika-git 20b6a17695 EFI_CONSOLE_UART_DEVICE, flash->hw_ports, Fix TLE6240 and misc.fixes (#793)
* rename EFI_CONSOLE_UART_DEVICE -> EFI_CONSOLE_SERIAL_DEVICE

* Impl. EFI_CONSOLE_UART_DEVICE

* Move flash source files to ports/stm32/ & hw_ports.mk

* Fix TLE6240

* Fix EFI_NO_CONFIG_WORKING_COPY

* EFI_PRINT_MESSAGES_TO_TERMINAL
2019-05-05 11:06:27 -04:00
dron0gus 986a4d1748 tle8888: fix pin names array (#771) 2019-04-21 08:50:07 -04:00