Skip to content

February 2024 Release

Latest
Compare
Choose a tag to compare
@noisymime noisymime released this 24 Feb 10:53
· 29 commits to master since this release

First release for the year and the focus for this one has been around stability and maturity. There were some regressions that popped up in the 202310 release around communications (Both CAN and secondary serial) and these lead to some much needed updating of those areas of the code. The hope is that this will become the next LTS supported version, however this will depend on whether any major issues are found with it.

Even with reliability being the focus, there are of course a whole bunch of new features as well covering the hardware testing, new decoders, new hardware support etc.

With nearly every release I mention that it comes with a few performance and memory related improvements, but this month is notable for the size of these. As the code base matures, finding further optimisations becomes more and more difficult and it's been years since there was any low hanging fruit in this area, but despite that this release sees up to a 30% increase in mainloop speed on Mega2560 devices, which is absolutely huge. The exact improvement depends on configuration and state, but this has been the result of some very targeted work around the caching and maths functions that provides benefits across all platforms, but in particular to the AVR based systems. Huge thanks must go to @adbancroft for his relentless work in this area!

Full details of features included in this release are below:

Release Highlights and New Features 🥇

  • The secondary serial interface has been rewritten to support different protocols for different applications. This should mean it is much easier to add support for 3rd party serial interfaces in the future and fixes a number of the 3rd party apps that broke in 202310
    • As part of this, all previously supported interfaces/apps should be working again
  • Hardware outputs can now be pulsed with a configurable duration at 30Hz. Eg You can set a 3ms ignition output pulse to test with coils etc. This has replaced the fixed 50%DC @ 1Hz option
  • The rusEFI CAN O2 controller is now supported
  • There is now a taper time when entering DFCO
  • MAP limits have been added to O2 correction to prevent it engaging at idle or high boost
  • Automated builds for stm32f407 for inclusion in upcoming SpeedyLoader release
  • WMI PWM timer was moved to a different timer to allow VVT and WMI to be used simultaneously
  • Added BlitzBox pin mapping

Decoder changes ⚙️

  • Add support for the Toyota 3/2 secondary and tertiary cam inputs (Eg 1UZ engines)
  • Add Suzuki K6A decoder
  • Daihatsu +1 decoder now supports sequential

Bug fixes 🐛

  • Fix an issue where CAN data inputs were not working in the 202310 release
  • When Auto staging mode was used, the injector open time was not added when only the primary injectors were in use
  • Correct idle PWM frequency calculation on Teensy 4.1 boards
  • Fix issue where injector pulses would be erratic if 3 or 5 squirts per cycle was selected (Only affects 3 or 5 cylinder engines)
  • Fix log files not being compatible with msDroid
  • Prevent there being no injector pulses if the user configures an invalid squirt angle for their setup (Eg a squirt angle that requires sequential timing but without a cam signal)
  • Ignore the user setting for tooth count if the 36-2-2-2 decoder is used
  • Do not add corrections calculations to secondary spark values if the Add or Multiply options are selected