e3be563b27
* Makefile: define BOOTLOADER=1 for linker in case of OpenBLT too This will reserve first 32K of flash for bootloader. * OpenBLT: include into build * board: subaru eg33: add OpenBLT board code * board: subaru eg33: use OpenBLT * Board: Subaru EG33: OpenBLT: reuse HAL and CMSIS from OpenBLT submodule * Board: Subaru EG33: OpenBLT: reuse linker file from OpenBLT too * OpenBLT for MRE * OpenBLT: MRE: adjust LD memory map for smallest variat of MCU on MRE * OpenBLT: enable for MRE * OpenBLT: disable CRC check of user application This allows us to use DFU tool to flash main application too. * hex2dfu: fresh binary for linux * OpenBLT: extract common part of OpenBLT makefiles to openblt.mk * OpenBLT: enable CRC check of user application for MRE and EG33 CRC (actually just a summ) of few first vectors is stored at 0x1c offset. This is reserved vector for Cortex-M3, M4 and M7 * common_make: append OpenBLT CRC to dfu files This should allow to use DFU to do main application update when when OpenBLT is used as bootloader. hex2dfu will store same styled CRC as OpenBLT expects to see in user app. * OpenBLT reorganization Move common stuff to hw_layer/ports/ * OpenBLT: proteus * Proteus: enable OpenBLT for F4 and F7 Compilation tested only |
||
---|---|---|
.github | ||
.vscode | ||
android | ||
firmware | ||
hardware | ||
java_console | ||
java_tools | ||
misc | ||
simulator | ||
unit_tests | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
README.md | ||
lgtm.yml | ||
work_in_progress.md |
README.md
rusEFI
Current binaries are always available on our build server
Cloning the repository
Important note - we now use submodules:
git submodule update --init
What do we have here?
- Firmware Source code for open source engine control unit for stm32 chips
- Hardware KiCAD files for our older PCBs
- rusEFI console rusEFI own naive tuning software
- Simulator win32 or posix version of firmware allows to explore without any hardware
- Unit Tests Unit tests of firmware pieces
- Misc tools Misc development utilities
- misc/Jenkins Jenkins Continues Integration scripts
- Software Development process
- Work in progress status
External Links
- Forum http://rusefi.com/forum
- Documentation https://github.com/rusefi/rusefi/wiki
- Doxygen documentation is available at http://rusefi.com/docs/html
- General source code Q&A is at http://rusefi.com/forum/viewtopic.php?f=5&t=10
- Facebook https://www.facebook.com/rusEfiECU
- YouTube: https://www.youtube.com/user/rusefi
- Patreon https://www.patreon.com/rusefi
Building the Code
See https://rusefi.com/forum/viewtopic.php?f=5&t=9
Release Notes
Release date | Revision | Details |
---|---|---|
10/28/2020 | changelog has moved | |
07/26/2020 | r24635 | improvement #1637: DC motor idle air valve for late 90s German vehicles |
07/21/2020 | bugfix #1592 injectors could stay open on transition from cranking to running under certain conditions | |
06/17/2020 | r23656 | bugfix #1491 major performance/scheduling improvement |
05/21/2020 | r22961 | rusEFI console start-up time improvements |
04/18/2020 | r22231 | Renix 44-2-2 trigger support added |
04/02/2020 | Start button feature | |
03/28/2020 | Critical error text is now displayed in TunerStudio | |
03/26/2020 | Multi-spark feature | |
09/05/2019 | r19849 | Electronic Throttle Body including idle control seems to work |
07/28/2019 | r19612 | improvement #809: software jump to DFU |
04/25/2019 | r17317 | bugfix #775: electrical noise reboot during settings change causes with full tune loss |
04/07/2019 | r17098 | improvement #714: TLE8888 Enable Outputs SPI integration |
02/27/2019 | r16886 | bugfix #698: concurrency defect with single timer executor initialization |
02/23/2019 | r16857 | improvement #688: better support for 144 and 176 pin packages |
02/05/2019 | r16713 | improvement #631: ChibiOS 18 |
01/11/2019 | r16346 | bugfix #663: SPI fixes for CJ125 for stm32 errata STM32f405/7/15/17 |
12/09/2018 | r16057 | electronic throttle body control is now BETA version |
08/19/2018 | r15811 | bugfix #604: no interpolation outside of the table |
01/29/2018 | r15514 | improvement #215: CJ125 wideband controller |
01/23/2018 | r15442 | improvement #463: ChibiOS 17 / 4 |
01/07/2018 | r14952 | usability & minor bugfix #532 idle defaults are broken |
12/17/2017 | r14892 | bugfix #513: console: erase on older chips does not work |
11/26/2017 | r14789 | bugfix #500: set_rpn_expression command is broken |
11/23/2017 | r14779 | bugfix #497: engine does not start with SD card |
11/19/2017 | r14766 | improvement #496: console flasher to support older boards |
11/19/2017 | r14760 | improvement #495: incompatible change - larger settings area |
11/06/2017 | r14733 | improvement #487: single-point injection mode |
10/26/2017 | r14700 | improvement #385: narrow band to wide band conversion table |
08/31/2017 | improvement #442: ADC_VCC should be configurable | |
07/24/2017 | r14513 | bugfix #307: TS bench test blinks three times |
07/13/2017 | r14476 | bugfix #461: SAXParserException on console start-up due to damaged settings.xml file |
07/09/2017 | r14473 | improvement: IAC solenoid frequency changeable on the fly |
06/19/2017 | r14393 | bugfix: pinMode, milMode |
05/27/2017 | r14221 | improvement: ochGetCommand to support offset and count |
05/05/2017 | r13974 | bugfix #404: 36/1 FATAL error: angle range trgSync |
05/03/2017 | r13967 | improvement: ChibiOS 3.2 |
04/06/2017 | r13759 | major improvement #72: ChibiOS 3.1 |
03/26/2017 | r13330 | super annoying bug #336 fixed |
03/20/2017 | r13233 | improvements #375 & #376: hard FPU mode & migrating to fresh version of arm gcc |
03/19/2017 | r13223 | bugfix #374: persistent configuration starts to touch firmware - settings would need to be reloaded |
03/09/2017 | r13146 | bugfix #370: duty cycle vs error code 6050 |
03/06/2017 | r13123 | bugfix #363: 2/1 skipped wheel is a corner-case |
03/05/2017 | r13108 | bugfix #363: trigger front only processing |
02/22/2017 | r12980 | bugfix: false error message in case of single coil or simultaneous injection |
02/22/2017 | r12973 | unused property 'custom Use Rise Edge' removed |
02/22/2017 | r12972 | protocol signature changed to 'v0.02' (this would happen from time to time to ensure version match between console and TS project |
02/20/2017 | r12939 | https://github.com/rusefi/rusefi is now the official primary repository |
02/18/2017 | r11565 | improvement: level1 default brown out https://sourceforge.net/p/rusefi/tickets/354/ |
02/18/2017 | r11554 | bugfix: rusEfi console program/erase buttons fixed with ST-LINK 2.1 |
12/09/2016 | r10991 | bugfixes, bugfixes, bugfixes & release 1.0 |
02/15/2016 | r9600 | automatic warm-up fuel correction, performance improvements |
08/31/2015 | r8725 | acceleration fuel correction, console improvements |
07/06/2015 | r8554 | more CAN, better console, bugfixes, performance |
04/26/2015 | r7938 | vehicle speed sensor, stepper idle valve, lots of improvements |
11/13/2014 | r5327 | ChibiOS/RT 2.6.6, better cold start logic, bugfixes, bugfixes, bugfixes... |
06/12/2014 | r3477 | Precise event scheduling, protocol selection |
03/26/2014 | r2413 | C++, refactoring & improvements |
02/23/2013 | r1777 | trigger is now configurable via TunerStudio |
01/30/2014 | r1309 | true trigger angles, VBatt signal |
01/12/2014 | r1007 | refactoring, refactoring & refactoring |
12/19/2013 | r605 | ignition control & a little bit of CAN bus |
11/08/2013 | r100 | Tuner Studio fuel map tuning, fuel pump control |
10/14/2013 | r39 | USB serial bug, missing IAR files, self-contained Makefile |
10/13/2013 | r33 | IAR project file |
10/04/2013 | r26 | Patched ChibiOS/RT 2.6.1 sources are now included |
09/23/2013 | r20 | Tuner Studio integration, configuration persistence |
08/30/2013 | r14 | initial documentation & refactoring. tunerstudio integration |
08/03/2013 | r13 | wideband O2 input, better idling algorithm, serial-over-USB |
07/05/2013 | r10 | Second CKP, sequential injection. |
06/19/2013 | r9 | Initial version - batch injection & ignition with advance table lookup. |