2023-01-06 17:10:33 -08:00
# HOWTO Contribute to Firmware
2023-01-13 06:29:39 -08:00
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.
2020-02-22 19:36:21 -08:00
2023-01-02 11:22:23 -08:00
Most of the needs are within the C/C++ firmware and automated testing.
2020-02-22 19:36:21 -08:00
2022-01-24 18:48:01 -08:00
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 )
2020-02-22 19:36:21 -08:00
2022-01-24 18:48:01 -08:00
For current coverage report see [https://rusefi.com/docs/unit_tests_coverage/ ](https://rusefi.com/docs/unit_tests_coverage/ )
2020-02-22 19:36:21 -08:00
2020-08-26 07:27:11 -07:00
Doxygen source code documentation is found [here. ](https://rusefi.com/docs/html/ )
2023-01-13 06:29:39 -08:00
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 )
2020-08-26 07:27:11 -07:00
2022-01-24 18:48:01 -08:00
Testing coverage open tickets: [https://github.com/rusefi/rusefi/labels/automated_testing ](https://github.com/rusefi/rusefi/labels/automated_testing )
2020-02-22 19:36:21 -08:00
2022-01-24 18:48:01 -08:00
All open tickets: [https://github.com/rusefi/rusefi/issues ](https://github.com/rusefi/rusefi/issues )
2020-02-22 19:36:21 -08:00
2020-08-26 07:27:11 -07:00
[Click here for a Q&A on source code. ](http://rusefi.com/forum/viewtopic.php?f=5&t=10 )
2020-09-11 17:29:26 -07:00
[Some random tips ](Dev-Tips )