SimuCUBE Open Source Firmware Development Update Thread

I would suggest not installing the new firmware by default to new builds yet, as it is still in beta, and cannot be said that it universally works or that it is stable.

The new firmware, if installed, will update the IONI firmware always to the one bundled with the firmware. This is checked via
a “oldest compatible” variable, which prevents this forced flashing happening, if user has installed a newer firmware than the one bundled.

In the future, I would suggest to either

  1. just install the bootloader, and let the user download the latest version of the firmware & configuration tool
    or
  2. install the firmware too, and reboot the SimuCUBE at least once so the IONI firmware update does happen. You can also at that point verify that it has gone successfully. If &when you can’t do the motor configuration wizard as the client has most likely shipped just the control box, you can then leave it at that and instruct the client to configure the system by selecting the “I know my IONI works already” , thus without giving a new drc file.

I think I’ve fixed 99% of the reported issues with the 0.8.0. Testing continues here at the office, though. I decided to add a surprise feature, which will enable to see … :wink:

5 Likes

image

7 Likes

Aw there goes the surprise !! But guessed as much :slight_smile:

I’ve found that games take the MMC value as the 100% value(I know AC does), so I always set MCC=MMC

Edit: Also, it would be nice to set everything to 100%, which should give the maximum resolution.
But I need to set AC to less than 100% (I go with 50%), otherwise the force feedback, with the old ioni firmware would cut out when there is high force, like going through eau rouge. With the new ioni firmware, you just get a static force

We checked how IONI does things. As long as MCC and MMC are set up so that motor phases correctly, the on-the-fly changing of MMC is enough for the drive to work.

The new feature seems to work fine, although will have to verify my calculation with a sensible motor resistance value.

Still have to fix the 1% of the issues - initial attempt to fix the settings auto-applyin when user selects another profile yielded a bad solution. :thinking:

1 Like

The Difference in MCC and MMC is only there for Ioni Phasing, Im actually surprised that you are not having Phasing issues at them being = though this can be the case if your IONI has no filtering in it’s .DRC settings.

With the MMC value now being scaled this will make it easier to have a game like AC to have 100% feedback (not turned down) but a reduction in power at the Simucube Drive level (in a profile) so that Maximum Fidelity is available.

OK Sounds good so as long as the initialization parameters allow Phasing MCC no longer matters… Good to know but that is also sort of the manner in the way the system works in regard to us.

Uhm? What are you on about here?

Basically the use of MMC to reduce Power in the Newest Soon to be released Firmware rather than the current version reduces power WITHOUT altering the signal from the game so it will retain Maximum Fidelity while allowing you to reduce power.

How will that give you higher fidelity than just lowering the FFB gain in AC?

This is exactly what I recommended on my builds with mmos.
Leave mmos at 100% and adjust mmc to adjust force.

Brion please explain how the scaling is going to work. It should be a better solution?

lowering MMC just limits the maximum of the FFB signal. lowering in game FFB signal actually compresses the entire signal so that the maximum is down to the level you want. Lows get lower, etc.

Edit: At least, this is the way I understand it.

This is wrong.

Lowering MMC, as it is going to be, will decrease the motor torque in a linear way, so game can still output forces with full fidelity, and the scaling is done at the drive.

Lowering the input signal to drive (as it is now), will decreases the motor torqque in a linear way, so game can still output full fidelity, but there is an intermediate step at SimuCUBE microcontroller that scales the signal before it is sent to drive.

Lowering the FFB level from game will compress the signal so that game won’t use the full scale/fidelity of the forces, and just outputs lower force values.

2 Likes

ah that. Well that was – at least for AC – proven wrong quite some time ago.
The resolution in the FFB signal is good enough that you should not see any kind of “compression” effects.

Assuming all of these 3 possibilities show linear behaviour (and I don’t see a reason why it would be otherwise, at least for AC), I would not expect any difference in “fidelity” between these three approaches.

The main difference is that for the 1st and 2nd, you limit the torque of your servo, which can be a desired effect (e.g. for safety reasons).

“ah that. Well that was – at least for AC – proven wrong quite some time ago.
The resolution in the FFB signal is good enough that you should not see any kind of “compression” effects.”

Was that ever confirmed by Stefano or Aris ?

Thanks for the info!

OK a couple things here… #1 a reduction in Amplitude of the signal reduces the amount of data points that can be read through the system… This is true of any scaled signal in a fixed bandwidth… So scaling in the game or at the controller will exhibit the same reduction in the amount of data that is available to be read… This educes Fidelity… This is how all Games that scale output from a 100% point work and as well the way that the input scaling currently works on the SimuCUBE… iRacing is I think the only game that sends a 100% signal ALL the time as it’s power scaling method is telemetry based so it doesn’t have quite the same issues regarding this.

The New MMC Scaling method adjust the actual power sent to the Servo Rather than the signal… This means that the signal coming in to the Simucube from the Game can be at 100% ALL the time at full signal bandwidth allowing for two things… #1 Maximum fidelity within the bandwidth of the signal being read, #2 when the signal is at 100% then the IONI Drive filtering is applied evenly and linearly to the entire signal ass intended allowing the signal at ANY MMC level to achieve the same filtering effect. So basically anyones settings should have the same effects at any other power level and that should make actual FEEL linear as well, not just power. (i.e. if you put 5% dampening on a 100% signal sales by MMC it would still be applying 5% to 100%… however Amplitude Scaling causes a 5% at 100% if you scale it to 50% it would be scaling 5% to a 50% signal and cause a less linear feel (unless of course you had NO filtering)…

Another thing is that scaling the signal coming into the SimuCUBE will as well have a possible change on the way the Reconstruction Filter works …

So basically this set-up lets ANY game output a Full Fidelity Uncompressed Feedback Signal to the SimuCUBE and it will be reproduced at Full-Fidelity and Uncompressed at the wheel even at different power levels… It is the Cleanest and least coloring method of reproduction of the signal.

1 Like

It will work like the recommendation you have been giving… It though is basically taking the MMOS type scaling slider out of the equation. and making it easier to scale force via MMC (without having to go into Granity)…