SimuCUBE Open Source Firmware Development Update Thread

Still, not sure to handle how to handle user changing steering angle suddenly from 900 to 10, for example. If endstops are enabled, this could result in rather wild spinning wheel. So, need to check for wide range of user hardware damaging possibilities for this, or just to disable changing steering angle if e-stop is not pressed.

Suggestions?

Iā€™d suggest a function to automatically disable endstops as soon as there is any change to the wheel angle
Like a reset

Normally it wouldnā€™t make any sense to change the wheel angle and not change the end stops accordingly

The problem with this is that users requested auto-applying settings, so if endstop just gets disabled (its very doable), the moment user checks the enable endstops again, auto-apply would again enable them. I could implement some default ā€œgentleā€ settings to endstop to be applied whenever user enables them via the checkbox, but this would result in user losing the previous settings.

But even when auto applying settings ( which only makes sense if you change sim and car), wouldnā€™t it be possible to first reset the endstops, then change the angle and then reapply endstops?
Automaticity has to be through a setting file, so it should be possible to just read it out on the fly an apply settings step-by-step ?

Yeah, but must somehow prevent applying settings that would cause wheel to fly towards center in unexpected ways.

I might even take auto-applying settings out for now, because of safety.

What about auto Apply only works with in 10 degrees of center.

What is the advantage of auto-apply of changed settings if you can just save the settings by just clicking one button?

For me, auto-applying settings is not a necessity.

It is useful but it is also useful to see if there is a reasonable fix as ā€¦ For me I have dampening 5.5% with nothing else and TBW Unlimited and no oscillations up to 5 havenā€™t tried anything else though higher yet. I posted the comment because there are some inherent factors that cause oscillations so not all can be corrected out as easily as with a filter. One of the reasons why it shows up with the reconstruction filter and not the normal filter off is that filter off is sending the FFB signal into the SimuCUBE system at 60hz where the reconstruction filter takes that signal filters it to be more accurate to intended and then updates it to the system at a far greater number (Iā€™m not sure of the exact but 2000Hz or so) with this any small movement off position can start the feedback oscillation loop.

This was on my mind too. Easy to implement as wellā€¦ But need to carefully set all the parameters so that 10 degrees is enough, by some margin.

There used to be, in alpha testing, a separate apply -button.

One must remember that pressing save after every setting change will wear out the flash memory quite fast. STM32 series microcontroller flash memory is certified for minimum of 10 000 write cycles, so it should be more than enough, but frequent writes should still be avoided.

1 Like

Mika and I had a bunch of discussions about the Auto applyā€¦ By having the auto apply it will set the SimuCUBE to the settings that you change within a short time after changing them, this lets you quickly play with settings and alter them going into and out of the sim. When you make a change these settings are Only stored in the current memory and are not permanently applied to the Flash on the SimuCUBE so as not to wear out the FLASH on the device. This is why the flashing Click save to make settings permanent come up to remind you to save the settings if you like them as if you donā€™t they will NOT remain after you power down.

The apply was deleted and Auto-Apply put into place as the effect would be the same in that if you applied the settings but forgot to save to the SimuCUBE when powered down you would lose the settings anyway. Given that most people when they want to make a change want to immediately see its effect, having the auto apply makes sense in that you could forget to hit the apply before re-entering the game/sim making the change not take effect when you thought it should. It basically does the work of temporarily apply the settings for you so you donā€™t have to remember to hit the apply button every time.

If you donā€™t like any of the settings changes you have done you can revert to the last saved state via the Load form SimuCUBEā€¦

If you have suggestions to make this easier please share.

So to answer Jplays questionā€¦ see aboveā€¦ as those are the reasons why Auto-Apply was put in placeā€¦ Basically if you make no changes nothing will ever be auto-applied.

1 Like

Ah thanks for the reply.

I was not aware of the limit of the flash memory.

Is there no possibility to save the settings in to the computers drive when you close the application or power down SimuCUBE and then when you turn on the device again, it would apply the settings from the drive and have the flash memory to work as a backup memory?

I wonder how it works for example with Fanatec Clubsport pedals when you do changes to the controller controlling the inputs of pedals? Does it save the values to the pedals memory or in to drive where it loads them up when pedals get connected?

Complex things like this would be possible if we wrote a dedicated device driver. Currently, and for the foreseeable future, we are trying to manage with the possibilities of the default Microsoft USB HID driver.

Personally I am not sure on that but I think it would require a system driver, which the SimuCube doesnā€™t have where I believe the Fanatec does have a driver level system in placeā€¦ To load from a file it would require loading the configuration tool at startupā€¦ Where right now the SimuCube just uses what is in flash and doesnā€™t require anything to be run prior to operation. Might be something that could be done in the future but I am not sure if it is in the plan.

This solution is currently being implemented. It will be good.

I Like your work Mika this is definitely a great bit of software.

2 Likes

It might be based on their driver doing the setting, using maybe windows registryā€¦

ā€¦or the hardware has an EEPROM chip. Compared to flash, EEPROM is typically around ten times more durable.

Just asking so that I understand it myself and might not be important, but how did MMOs handle the settings? I think in MMOs it had separate setting to save in to EPROM and then to user specific profiles.

MMOS had ā€œsave to eepromā€ but it really was saving to Flash, as there was no EEPROM on the board. ST Microelectronics packages have also ā€œeeprom emulationā€ libraries, so their usage is similar.

MMOS had different profiles, and one of them was called ā€œdefaultā€ which was loaded at start.

Aki just showed me something nice you will implement later when you have time, Mika :slight_smile:

Ha, even the gui will be prettifiedā€¦niceā€¦

1 Like