There was a long time between the last 1.2 and current 1.3 firmware release.
The reason is a huge internal change porting everything to support freertos and using TinyUSB as a USB backend instead of the customized ST middleware examples which had to be modified a lot to fix bugs in the original code and making it composite device compatible.
With TinyUSB its a matter of a few lines of code to define a new composite device now.
At the same time we also got basic support for multiple FFB axes (2 at the moment) by sending force to multiple motor drivers based on the direction sent by the game. This is still quite experimental.
Doxygen site: https://ultrawipf.github.io/ffboard_doxygen/index.html
The serial protocol was changed to echo back the original command to be more resilient to out of sequence or lost replies. Which should normally never happen but it makes programming a user interface a bit easier and safer as well.
That of course also required changes in the configurator gui as well.


Changes GUI:
- The axes and common ffb gamepad settings were split into separate tabs.
- The integrated DFU uploader now also supports hex files directly out of the stm32cubeide.
- Option to change the Q value of the constant force filter
- Encoder configuration and selection changed
- Independent damper option
- Unavailable but existing options (already selected motor drivers, sources with pin conflicts) show up greyed out
- Spinboxes on most values as an alternative to sliders
- Added dump and load options for settings
Changes Firmware (+more):
- FreeRTOS support
- TMC4671 split into separate subclasses for multiple instances
- TMC now using current control mode during init phase
- TMC calibrating ADCs with PWM active (Better offset correction)
- Encoder system reworked to pass encoder to motor driver
- Multiaxis support in FFBWheel
- USB System using TinyUSB
- USB running in rtos task
- New serial protocol
- CAN bridge supports GVRET/SavvyCAN
- Improved TMC debug bridge to support newer TMCL-IDE
- All FFB effects implemented
- Independent damper support
- User selectable CF filter Q factor
- Improved PWM output
- Added dump and load options for eeprom emulation
- Basic error handling system
- Improved led blink effects for status messages
- Fixed many bugs impacting stability
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.