I'm just going to pull this version off SpeedyLoader temporarily until I can test out a couple of things that some people have reported. I expect this will be back up in a day or so though, so please hold tight if you were looking to update. Issue resolved and new firmware added to SpeedyLoader as 201902b
As those who have been watching the Speeduino project develop over the last few years may have noticed, January tends to be the time that I make some big structural changes to the codebase, and this year was no different.
As there has been continued interest in using Speeduino across multiple different microprocessor architectures, I've gone through and made this a much, much more modular and simpler process. Whilst multi-architecture support had been there for some time, the board specific sections were mixed in amongst the code in a way that made if difficult to add new MCUs. This has now all been pulled out and all of the code specific to each board is now contained within a single .h and .ino file pair. this makes it considerably easier to add and maintain many different microprocessors all within the same codebase and was a huge piece of work over the last month or so. It means though that working on different architectures in the future will be much simpler.
In terms of actual changes to the firmware though, there were a lot of general fixes, both large and small that I've worked through over the last couple of months. And so as usual, here's the list of them:
- A large number of improvements to the composite and trigger loggers. There were some bugs here they meant that no data was sometimes returned, or that the data returned was invalid, particularly at low RPM and with low res triggers. These should now all be resolved.
- Always update the Fuel Load value, even when the RPM is 0. This had caused some confusion as previously the Fuel Load value was always 0 if the engine was off.
- Remove the injector opening time from the staging fuel split calculation
- Add the option of having the fan control work even when the engine is turned off. Thanks to cmjdev for contributing this
- Add an option to invert the idle stepper motor control direction (Saves reversing the wiring on some stock setups). Thanks to ric355 for this
- Fix a rare edge case where if sequential ignition was combined with multiple squirts per cycle (>2) then some squirts would not trigger correctly.
- Fix a bug where the idle load value sent to Tuner Studio would not update during cranking (Though the output was correct)
- Add a check to prevent the 'Include AFR' option from engaging prior to the O2 sensor warmup time
- Add the missing Idle Up value setting to the relevant dialog
- Fix a warning in TunerStudio when TPS was used as the fuel load source
Of course, for those wanting to look at and modify the firmware themselves, the code will always still be made available!
As usual, please report any bugs found with this release either in this thread, or over on Github