Commit Graph

76 Commits

Author SHA1 Message Date
rusefillc 969887b87e EFI_DFU_JUMP 2024-04-03 08:29:45 -04:00
rusefillc 2a114b4f95 PUBLIC_API_WEAK 2024-03-24 22:06:58 -04:00
andreika-git e695fa6778 BL doesn't know efiPrintf 2023-12-29 17:15:57 -05:00
rusefillc 6e945f60b6 stm32 own build-in watchdog #1339
only:mre_f4
2023-12-14 10:54:21 -05:00
andreika-git 74b2ff6468 code smell: watchdog magic constants https://github.com/rusefi/rusefi/issues/5758 2023-11-29 09:59:15 -05:00
andreika-git 0e90a5c9c8 use Timer for watchdog reset 2023-11-28 15:49:12 -05:00
andreika-git 955ff6cea6 Simulator watchdog stub 2023-11-28 15:49:12 -05:00
andreika-git 585ca0c829 Initial support for watchdog 2023-11-28 15:49:12 -05:00
andreika-git 04779c374f move causeHardFault() to arm_common.cpp 2023-11-14 15:28:07 -06:00
andreika-git aa7265a5bf causeHardFault() function for different ports 2023-11-14 15:28:07 -06:00
Andrey Gusakov 4634a741c2 at32: at32_common: reuse some parts from STM32
This is temporally, some parts are quite different and need rework
2023-11-12 13:08:25 -06:00
Andrey Gusakov 5a11a2a2b4 stm32_common: divide into parts for easy reuse 2023-11-12 13:08:25 -06:00
rusefi e8c45a2e7d refactoring: reducing code duplication. Also, do we even care for critical error codes?! 2023-08-20 22:23:44 -04:00
rusefillc c2c5d5b01f cleaner HAL usage 2023-07-06 16:07:55 -04:00
Andrey b5f3094602 a bit more of AT32 2023-07-05 00:21:16 -04:00
Andrey 51d0f6e347 it's going to be painful 2023-04-29 00:44:00 -04:00
Matthew Kennedy 61e5b4b1ad change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
Matthew Kennedy dc6f53bda5
extract newton's method implementation (#5157)
* move expected, update libfirmware

* hellen ID solver uses shared Newton's method

* comment shouldn't have been moved
2023-03-07 08:45:17 -05:00
Andrey f5ba716c5b explicit errors are best 2023-02-26 20:25:24 -05:00
rusefillc 558f88ce23 external muxes for internal ADC #3350 2023-01-07 21:56:12 -05:00
rusefillc 6c9f59fd56 big delete ICU #4270
random doc
2022-11-20 19:15:07 -05:00
rusefillc 87c3e957de docs 2022-11-20 16:20:01 -05:00
Andrey G aecd997d4b
OpenBLT shared params (#4417)
* OpenBLT: linker file: use last 16 bytes of ram for shared area

This area is used for communication between FW and OpenBLT.

* OpenBLT: startup: invalidate only DFU breadcumb from startup code

Same location (but different seed) is used for shared param's
signature in OpenBLT.

* OpenBLT: enable shared params

* OpenBLT: enable hooks

If 0x01 is stored in shared param idx=0, then stay in OpenBLT forever.

* Jump to OpenBLT: store proper shared param when OpenBLT is requested

TODO: calculate and store CRC too!

* OpenBLT: move shared_params to start of RAM

* Bootloader: Allocate 16 bytes at start of RAM for bootloader shared area

* OpenBLT: shared_params: reuse same .c and .h file for main application

* OpenBLT: shared_params: enable CRC check

* OpenBLT: no need to manualy set breadcumb before reset

* Revert "OpenBLT: startup: invalidate only DFU breadcumb from startup code"

This reverts commit 6b064714b953560227ae53e38355332cf9f46f7f.

* OpenBLT: guard for builds without OpenBLT

* OpenBLT: reboot to OpenBLT on CAN request with ID=0x667 and DLC=2

* config: options to enable OpenBLT on CAN interfaces

* OpenBLT: comments
2022-08-07 19:33:19 -04:00
Andrey G 59eee6641c
Add "Reset to OpenBLT" button (#4364)
Similar to "Reset to DFU", but uses different seed
2022-07-22 08:21:11 +03:00
Matthew Kennedy 5d844b1ebe
Error handling cleanup (#4332)
* dead code in stm32

* rusefi.cpp can have some noreturn

* handle lua panic

* unused error codes

* simplifications of error_handling.cpp

* comment

* put that back

* guard
2022-07-07 23:49:02 -04:00
Matthew Kennedy 885693d5a5
correct channels (#4190) 2022-05-19 19:09:41 -04:00
Matthew Kennedy 367f58675e
harley (#4188) 2022-05-19 16:44:56 -04:00
rusefillc 82cb7a07da spelling 2022-05-02 16:08:04 -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
rusefillc 5afed85479 We have working runtime RAM detection - we shall use it for Lua #3970 2022-03-27 19:39:40 -04:00
Matthew Kennedy 2f8acb13be
fix f4 standby (#3894)
* fix the bug

* wake on PD0 = CAN RX

* cleanup
2022-02-05 07:25:09 -05:00
rusefillc 6a388ecd6e https://github.com/rusefi/alphax-2chan/issues/22 2022-01-22 17:28:11 -05:00
rusefillc 91e8d5ac64 https://github.com/rusefi/alphax-2chan/issues/22 2022-01-22 16:50:58 -05:00
rusefillc 54b70fbc3c PA0 wake up - sharing is caring? 2022-01-17 01:25:31 -05:00
Matthew Kennedy b4d916c913
per-board pre-low-power handlers (#3752)
* per-board pre-low-power handlers

* per-chip standby options

* default implementation
2022-01-10 08:37:05 -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 f350338642 Second CAN #3687 2021-12-22 20:43:08 -05:00
rusefillc cb5357890b Second CAN #3687 2021-12-22 20:39:07 -05:00
rusefillc 15daec77e6 Second CAN #3687 2021-12-22 20:15:22 -05:00
Matthew Kennedy 408d4c6ebf
multi CAN plumbing (#3688)
* framing for multi CAN

* typoooooooo
2021-12-10 17:08:10 -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 558a6d01fc
etb pwm limit (#3408)
* etb pwm limit

* missed an arg

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-25 15:35:23 -04:00
Andrey b41f9d3777 vr threshold test configuration 2021-09-26 03:27:53 -04:00
Matthew Kennedy 6eab1fe506
s (#3101) 2021-08-02 19:17:17 -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 c3699f8353
H7 turn off USB before reset (#2999)
* turn off USB before reset

* comment

* add link
2021-07-20 19:39:26 -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
rusefillc 363ef89a20 typo 2021-07-11 10:16:35 -04:00
Matthew Kennedy 40c4238f13
enable CAN on H7 (#2393)
* enable

* guard correctly

* h7 bit timing

* allow longer frames

* allow data smaller than maximum

* mcu temperature

* typo

* tx message

* testing

* check for CAN or FDCAN

* don't need that any more

* h7 bitrate config

* undo testing

* h7-ify msg tx

* comment

* break out SID/EID macros

* guard differently

* update ChibiOS

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-09 18:54:01 -05:00
Matthew Kennedy 392a7539be
enable H7 spi (#2391)
* enable features

* move MMC SPI config to port

* correct word length

* related cleanup

* doesn't need nocache

* include

* enable that
2021-02-24 08:14:21 -05:00