rusefi_documentation/HOWTO-contribute-to-firmwar...

28 lines
1.4 KiB
Markdown

# HOWTO Contribute to Firmware
The majority of rusEFI code is written in very plain C++ ("C with classes"),
with rusEFI console and some code generating tools written in java.
Most of the needs are within the C/C++ firmware and automated testing.
A good first contribution could be adding some automated testing into [https://github.com/rusefi/rusefi/tree/master/unit_tests/tests](https://github.com/rusefi/rusefi/tree/master/unit_tests/tests)
For current coverage report see [https://rusefi.com/docs/unit_tests_coverage/](https://rusefi.com/docs/unit_tests_coverage/)
Doxygen source code documentation is found [here.](https://rusefi.com/docs/html/)
Primary tool-chain is GCC+Eclipse but IAR is also supported.
Linux is the preferred build environment, Windows Subsystem for Linux (WSL) works fine.
To setup development environment use [setup_linux_environment.sh](https://github.com/rusefi/rusefi/blob/master/firmware/setup_linux_environment.sh)
Testing coverage open tickets: [https://github.com/rusefi/rusefi/labels/automated_testing](https://github.com/rusefi/rusefi/labels/automated_testing)
All open tickets: [https://github.com/rusefi/rusefi/issues](https://github.com/rusefi/rusefi/issues)
See [Try It](Try-It) for how to work on rusEFI code with zero or minimal hardware.
[Click here for a Q&A on source code.](http://rusefi.com/forum/viewtopic.php?f=5&t=10)
[Some random tips](Dev-Tips)