fome-fw/firmware
GitHub gen-configs Action c72afae1d1 Auto-generated configs and docs 2023-03-16 02:34:32 +00:00
..
ChibiOS@d46398838e chibios 2023-02-28 00:23:07 -08:00
ChibiOS-Contrib@63b50e410c
bootloader use fixed number instead of nproc 2023-03-13 14:03:33 -07:00
config Auto-generated configs and docs 2023-03-16 02:34:32 +00:00
console Auto-generated configs and docs 2023-03-15 18:57:35 +00:00
controllers Auto-generated configs and docs 2023-03-16 02:34:32 +00:00
development dead stuff 2023-03-02 02:21:53 -08:00
docs enable LSE (via: LSE max wait patches) (#4944) 2023-02-12 16:01:03 -05:00
ext cmsis-svd replacement files 2023-03-02 01:26:33 -08:00
ext_algo
hw_layer Auto-generated configs and docs 2023-03-15 19:34:12 +00:00
init Fix afr dropdown, switch AFR to sensor model (#62) 2023-03-09 11:25:30 -08:00
integration stub throttle model generated 2023-03-14 20:12:35 -07:00
libfirmware@163cee4279 extract newton's method 2023-03-07 00:47:02 -08:00
pch
tunerstudio Auto-generated configs and docs 2023-03-16 02:34:32 +00:00
util extract expected.h 2023-03-07 00:33:31 -08:00
.cproject
.gitattributes
.gitignore simulator is happy! 2023-02-22 16:22:08 -08:00
CHANGELOG.md console creates new log file every 100 ms :( fix #5112 2023-02-20 17:31:05 -05:00
Doxyfile cleanup 2023-02-20 20:28:23 -08:00
DoxygenLayout.xml
Makefile dead stuff 2023-03-02 02:21:53 -08:00
check.c
common.mk moving sensors files a bit 2023-02-20 21:21:03 -05:00
cov_config.bat
cov_run.bat
coverity.yml
egt2can.cpp
exception.txt
gen_config.bat
gen_config.sh that one had a custom name? 2023-02-21 11:11:07 -08:00
gen_config_board.bat
gen_config_board.sh don't print the date in generated files, rely on git for that 2023-03-15 11:46:49 -07:00
gen_config_common.sh use shared txt instead of parsing full rusefi_config (#59) 2023-03-02 11:52:36 -08:00
gen_config_default.sh fome-ify 2023-02-21 02:29:22 -08:00
gen_default_everything.sh
gen_enum_to_string.bat
gen_enum_to_string.sh enum to string 2023-02-20 20:36:50 -08:00
gen_live_documentation.bat
gen_live_documentation.sh
gen_ptrace_enums.bat
gen_signature.sh cleanup 2023-02-20 20:28:16 -08:00
gen_trigger_images.bat
generate_docs.bat
generate_memory_usage_report.bat
generate_memory_usage_report.sh
get_performance_trace.bat
gitversion.mk simulator is happy! 2023-02-22 16:22:08 -08:00
global.h various crust 2023-03-03 02:20:51 -08:00
kill_for_coverity.c
license.txt
main.cpp
main_hardfault.c
main_hardfault_asm.S
provide_gcc.sh
readme.md
run_hw_test.bat
rusefi.cpp dead stuff 2023-03-02 02:21:53 -08:00
rusefi.h
rusefi.mk include after main rules so that deps exist 2023-02-22 15:58:15 -08:00
rusefi_pch.mk
rusefi_rules.mk
setup_linux_environment.sh

readme.md

Doxygen

Q&A on source code

See also ../unit_tests

This directory contains the source code for the RusEFI firmware.

The ideal is that typical end users should be able to use pre-built firmware. They should not need to modify or even rebuild from the source code for basic use, but building from the source code provides the opportunity for optimization, supporting unexpected engine configurations, and specialized enhancements.

TL;DR

make PROJECT_BOARD=microrusefi PROJECT_CPU=ARCH_STM32F4

Environment

Rebuilding from source code requires this firmware, a modern C/C++ compiler for embedded ARM systems, and a platform that supports 'make' based builds.

See setup_linux_environment.sh

While many compilers have the potential to work, we suggest using the official ARM version of GCC available at launchpad.net.

Linux and MacOS systems should have the software development tools, primarily 'make', pre-installed or readily installed. MS-Windows requires selecting and installing a Unix-compatible system environment.

Note that the developers are volunteers, with varied motivations. These motivations often include using leading-edge language and build system concepts, requiring recent versions of tools. Should you encounter build problems, review the latest version of this document.