rusefi/firmware
Andrey Gusakov d264f002cd RTC fixup for STM32F7
Switch RTC to LSE clock if it is detected on start.

It is not allowed to change source clock of RTC module on STM32.
Source clock can be selected only once after reset of BKP module.
If at first start LSE is failed FW will fallback to inaccurate
LSI (internal RC). If Vbat is present RTC/BKP is not reset between
restarts and RTC is never switched to more accurate LSE event if it
is present.
Implement fixup that will check for the LSE and switch RTC to LSE
through BKP (RTC) module reset and new clock source selection.
2025-01-08 11:24:35 -05:00
..
ChibiOS@7cd95844ce RTC and SD logs #4556 2025-01-07 16:38:49 -05:00
ChibiOS-Contrib@63b50e410c
bin +x 2024-09-30 12:13:25 -04:00
bootloader A feature to enable an optional pin during the bootloader start #7069 2025-01-05 21:43:34 -05:00
config release self-identification to become release.txt #7229 2025-01-07 19:32:23 -05:00
console Auto-generated configs and docs 2025-01-08 16:10:14 +00:00
controllers settings.cpp: show current time before applying time provided with set date 2025-01-08 11:24:35 -05:00
development removal of older rusEFI console spectrogram, new one is coming soon! 2024-10-21 11:25:58 -04:00
docs
ext
ext_algo
hw_layer RTC fixup for STM32F7 2025-01-08 11:24:35 -05:00
init Implement `FuelLevelSensor` class #7180 2024-12-24 18:35:53 -04:00
integration fuel level does not handle lack of ignition voltage #7254 2025-01-05 09:57:33 -05:00
libfirmware@7eccf0fd40 SENT: move to libfirmware 2024-12-14 09:16:16 -05:00
live_data_generated Auto-generated configs and docs 2025-01-08 16:10:14 +00:00
pch explicit-folder-for-livedata-generated-headers #6886 2024-09-04 18:05:06 -04:00
scripts/linux scripts: sample GDB Linux scripts 2024-09-23 08:52:06 -05:00
tunerstudio Auto-generated configs and docs 2025-01-08 16:10:14 +00:00
util dead PidWithParameters 2024-12-23 15:43:35 -05:00
.cproject
.gitattributes
.gitignore local compilation should not dirty clone for not reason #6879 2024-09-01 19:46:06 -04:00
.project
CHANGELOG.md SD card bit data points #7227 2025-01-07 22:08:21 -05:00
Doxyfile
DoxygenLayout.xml
Makefile only:dead 2024-11-23 00:02:55 -05:00
build-notes.txt
bundle.mk release self-identification to become release.txt #7229 2025-01-07 19:32:23 -05:00
check_illegal_conversion.sh
clean_build.bat
common.mk The headers from `$(BOARD_DIR)/generated/live_data_generated` folder are more preferable than the headers from `$(PROJECT_DIR)/live_data_generated` folder 2024-12-24 16:08:35 +02:00
common_libfirmware.mk SENT: move to libfirmware 2024-12-14 09:16:16 -05:00
compile_and_program.bat
configuration_check.cpp
cov_config.bat
cov_run.bat
coverity.yml
docs_enums.mk LTS console should inform that newer LTS branch exists #7198 2025-01-07 14:19:20 -05:00
dump.bat
dump_release.bat
exception.txt
flash.bat
flash_bin.bat
flash_can.sh
flash_dfu.bat
flash_dfu.sh
flash_dfu_bin.bat
flash_dfu_erase.sh
flash_dfu_openblt_only.sh
flash_erase407.bat
flash_erase407.sh
flash_erase767.bat
flash_erase_dfu.bat
flash_openocd407.bat
flash_openocd407.sh
flash_openocd767.bat
flash_openocd_h7.bat
flash_reboot_dfu.bat
flash_release.bat
flash_uart.sh
flash_usb.sh
gcc_version_check.c
gen_config.bat
gen_config.sh only:extra spaces 2024-09-06 20:05:49 -04:00
gen_config_board.sh
gen_config_common.sh only:renaming to live_data_fragments.ini reduce confusion 2025-01-07 20:25:57 -05:00
gen_config_default.sh
gen_default_everything.sh
gen_enum_to_string.sh splitting enum header 2024-10-07 16:12:24 -04:00
gen_live_documentation.sh gauge name flexibility - changing order of operations 2025-01-03 00:26:57 -05:00
gen_perf_trace_enum.sh
gen_ptrace_enums.bat
gen_signature.sh only: https://github.com/rusefi/fw-custom-example/issues/15 2024-09-12 08:30:17 -04:00
gen_trigger_images.bat
generate_docs.bat
generate_memory_usage_report.bat
generate_memory_usage_report.sh
get_performance_trace.bat
global.h MicrosecondTimerWatchdogController was doing the wrong math 2024-12-29 08:02:27 -05:00
kill_for_coverity.c
main.cpp
provide_gcc.sh
readme.md
reboot_dfu.sh
reboot_ecu.bat
run_hw_test.bat
rusefi.cpp
rusefi.h
rusefi.mk
rusefi_config.mk only:renaming to live_data_fragments.ini reduce confusion 2025-01-07 20:25:57 -05:00
rusefi_pch.mk
rusefi_rules.mk
send_command.bat
setup_linux_environment.sh extracting ubuntu-install-tools.sh 2024-10-14 14:03:16 -04:00
target_sentinel.mk

readme.md

End users should be able to use pre-built firmware. They should not need to build or modify the source code. See https://github.com/rusefi/rusefi/wiki/Download

See also https://github.com/rusefi/rusefi/wiki/Dev-Quick-Start

Doxygen <<< landing page has best implementation introduction.

Q&A on source code

This directory contains the source code for the rusEFI embedded firmware.

TL;DR

make

Environment

Embedded firmware is build on top of https://www.chibios.org/ with plain Makefile gcc version 12 (See https://github.com/rusefi/rusefi/blob/master/.github/workflows/hardware-ci.yaml to confirm current GCC version)

Windows development is fully supported with Cygwin, WSL or Linux is recommended due to poor NTFS performance.

See also ../simulator

See also ../unit_tests