Commit Graph

250 Commits

Author SHA1 Message Date
Matthew Kennedy a95bc3ad03
implement CAN driver for simulator (#4312)
* stub simulator CAN driver

* comments

* CAN sensor

* maybe implement?

* s

* fix

* tx and rx actually work!?!?!

* check_can_isr

* modify chibios

* Sim has no CAN on Windows (for now?)

* safer init/deinit, enable assertions

* smarter handling of missing CAN device

* better guards

* guards for windows
2022-07-03 08:25:24 -04:00
Matthew Kennedy c6f46128d6
prototype overcurrent protected driver (#4029)
* stub passthrough protected driver

* plumbing

* include the thing

* signature

* dead

* tdg pdm build task

* s

* pdm pins

* tdg

* init properly

* remove gaps

* board doesn't fatal on start
2022-05-17 23:49:18 -04:00
rusefillc 683a723d2f
CAN category (#4148)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-09 16:49:23 -04:00
Matthew Kennedy e4a0979dc2
Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy bc6a87cadc
allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
Andrey G 10cab3390a
L9779: update (#3899)
* L9779: update

* L9779: cleanup macro
2022-02-06 17:47:53 -05:00
rusefi a1ccdb1bd9 unused code? 2022-02-06 17:44:58 -05:00
Andrey G c53fd0eaf9
L9779: update driver (#3898)
* L9779: update driver

* L9779: missed chip_init

* L9779: signature
2022-02-06 11:39:37 -05:00
Andrey G a50f848857
L9779: initial driver (#3897)
* smart_gpio.cpp: glue to L9779

* L9779: fill with some code

* L9779: missed getDiag

* L9779: no l9779 on subaru-eg33 board
2022-02-06 09:47:18 -05:00
Matthew Kennedy 5865f65e1e
remove getDebugChannels (#3850) 2022-01-27 19:21:05 -05:00
rusefillc d0d8e95bd3 L9779WD driver #3768 2022-01-10 19:15:36 -05:00
rusefillc 373d619c16 L9779WD driver #3768 2022-01-10 16:53:38 -05:00
Andrey G 752802b0cc
CAN: do null check first (#3755)
Otherwise it will emit strange error if both can are disabled
2022-01-08 10:25:21 -05:00
Andrey G 020727d65b
TLE8888: do not allow direct gpio drive for Push Pull outputs (#3748)
Some register settings also needs to be changed. Change of direct
drive input is not enought.
2022-01-07 14:11:21 -05:00
rusefillc 914deedb0f TLE8888 diag says OK on disconnected pins and bench test #3737 2022-01-03 20:33:51 -05:00
rusefillc 47444519d6 typo 2022-01-03 03:09:14 -05:00
Matthew Kennedy 6b6fd5e6e8
fix dual CAN init, update UI (#3719)
* CAN init sequence

* config & UI cleanup

* ui

* simplify
2021-12-24 23:33:54 -05:00
rusefillc 2205a57024 Second CAN #3687 2021-12-22 22:02:34 -05:00
rusefillc 15daec77e6 Second CAN #3687 2021-12-22 20:15:22 -05:00
rusefillc 4ad1f887fd Second CAN #3687 2021-12-21 01:10:37 -05:00
rusefillc 7b0179aaa3 Second CAN #3687 2021-12-21 00:48:13 -05:00
rusefillc 9170fd17a1 Second CAN #3687
what could possibly go wrong?
2021-12-19 11:28:42 -05:00
Matthew Kennedy 408d4c6ebf
multi CAN plumbing (#3688)
* framing for multi CAN

* typoooooooo
2021-12-10 17:08:10 -05:00
rusefillc 5830975040 rusEFI console ISO-TP via PCAN #3667
fixing build #3
2021-12-08 16:24:54 -05:00
Andreika 72cefd42de
CAN ISO-TP progress (+unit-tests fix) (#3677)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 15:11:19 -05:00
rusefillc 3a33e59b86 rusEFI console ISO-TP via PCAN #3667 2021-12-08 12:01:28 -05:00
rusefillc b778aa7173 Pause CAN broadcast on engine stop #3665 2021-12-07 10:35:52 -05:00
rusefillc 1dd3370b56 https://rusefi.com/forum/viewtopic.php?f=18&t=2236 2021-12-06 21:31:49 -05:00
Andrei c6fa50d196 CAN update 2021-12-03 21:44:15 -05:00
rusefillc 53d50b5076 doc 2021-12-03 09:57:15 -05:00
rusefillc 26997ab9e3 why so many channels are hidden in debug ? #3614 2021-11-29 01:02:40 -05:00
Matthew Kennedy a071e2a168
verbose CAN bits picker (#3628)
* verbose bits picker

* s
2021-11-28 14:59:26 -05:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
rusefi 05820ec92d speed into caninfo 2021-11-13 10:41:23 -05:00
Andrey 78fdd5b9a9 UART pins validation and dynamic alternative function recognition #3536 2021-11-11 21:29:18 -05:00
rusefillc b8ccdfb7d8 todo: smarter online change of CAN settings, kill isCanEnabled with fire 2021-11-06 22:23:06 -04:00
Andrey G 780e91f38a
Bunch of small fixes related to EG33 board (#3188)
* Typo fix

* flash_main: always allow to write settings to ext NOR while running

* mc33810: do not enable outputs right after undervoltage

Wait for next active signal

* QSPI flash: set correct dummy cycles for fast read command

* board subaru: fix connector pinout. again.

* board subaru: fix SDMMC pin configuration

* board subaru: fix DMA conflict SPI4_RX vs SDMMC2
2021-08-24 07:39:03 +03:00
Andrey G 3961c6ad84
qspi flash updates (#3169)
* ChibiOS QSPI updates

* board: subaru: speed up NOR flash

* QSPI: add fast read commands
2021-08-17 11:06:37 +03:00
Andrey G c23e02c582
Settings ext storage (#3155)
* flash_main.cpp: reorder code for easy integration of ext storage

* Add EFI_STORAGE_INT_FLASH option

Default set to TRUE

* Add ChibiOS's Managed Flash Storage to build

* Add support for QSPI flash (SST26F064A tested)

* board: subaru: enable WSPI and NOR flash drivers

* Add option to save settings on ext flash MFS partition

* board: subaru: store settings on QSPI NOR flash
2021-08-14 09:36:08 -04:00
rusefillc b141f83a88 No pins should be restarted for no reason during config change #3151 2021-08-14 04:58:10 -04:00
rusefillc bd410d0c1b No pins should be restarted for no reason during config change #3151 2021-08-14 04:35:43 -04:00
Matthew Kennedy d24f1462e2
even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy 25414ebdad
yet more pch (#3068)
* big pch energy

* put back ramdisk stub

* tests are happy

* h743 nucleo

* kinetis

* I love deleting code!

* make stepper happy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Matthew Kennedy b52d50bbf2
Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy 2ce7777865
don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
Matthew Kennedy a62d6743bc
lua hooks for CAN tx (#2967)
* CanTxMessage usable from unit test

* testLuaReturnsNil

* CAN hook and tests

* it helps if parameter names exist

* nameless params

* s

* redefinition of default argument

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-16 14:06:26 -04:00
Andrey b2f09de277 refactoring - making method available 2021-07-13 19:28:03 -04:00
Andrey G 802afaed34
Fixes eg33 (#2838)
* CAN HW: use designated initizalization

* board subaru eg33: set CAN transceiver EN to active state constantly

While FW does not handle CAN transceiver's EN signal
2021-06-20 08:18:16 -04:00