SimuCUBE Open Source Firmware Development Update Thread

good news, saves you some debugging for that one :slight_smile:

Just to get my mind working while not on a PC with a steerign wheel… does alt-tabbing out of games generally stop forces too?

Not that I recall…

OK, so, based on debugging,
Start iRacing.

  1. iRacing seems to clear all effects (something which I implemented last week). This is indeed required to work, so that effects from, for example a crashed game application, will stop playing.
  2. sets gains and controls
  3. clears all effects again
  4. creates new effect (constantforce), and firmware gives it ID 1
  5. clears all effects again
  6. sets effect parameters for constantforce effect, but it is dismissed as the effect was just cleared
  7. sets a damper effect, firmware gives it ID 1
  8. starts to give normal constantforce effect data, for effect ID 1 which is supposed to be the non-existing constantforce effect…

At step 5, the just created constantforce is being cleared, damper effect gets the same ID, and then things obviously won’t work.

I looked up the USB Physical Interface Device description, and the clearing of all effect memory is now actually implemented correctly… so I’m not sure what iRacing is trying to achieve here, other than pain for developers :smiley:

When iracing crashes for me it keeps the force and the only way to clear it is restart iracing or cycle power to mmos. Other sims don’t seem to do the same from memory.

Fix has been found, and we got FFB again! :weight_lifting_man:

Tomorrow, I will continue where I really was. That is, adding the missing filters to FW and UI. That will take a day or two. Then we can start the beta! :tada:

3 Likes

Yeah !!! great news. Hoping we could put hands on this big update soon !

I will leave these screenshots here for now.

History in the making. Look at the encoder selection and the associated resolution in the GUI. :wink:

1 Like

Awesome stuff guys. Really looking forward to testing this beta.

I couldn’t drive with the 53G/ BiSS today, as the servo uses NEMA mounting it seems. I have a bracket that I will probably modify tomorrow. Will give it a good go then.

I have, however, been murdering the Moocedes around SPA today, got a good few hours in on the alpha Mika sent yesterday. Was running with the other servo I got off Davy Watts last time, the AKM53K with the 40k encoder. No issues whatsoever, tracking stayed true and accurate, even though I tried to induce weird behaviour. Even at max current and torque, it performed flawlessly.

New IONI fw has a few neat new and enhanced features, and it compliments the OS FW of the Simucube very, very well.

Considering it is alpha, I have to be honest and say, even this early, I find it outperforms MMoS in terms of latency, as well as improved feel and response. Of course, the AKM53k is a superb servo also, and I luv that I can hit it hard with friction, inertia and damping, changing the complete ffb behaviour, but still retaining huge amounts of fidelity.

This all without Tero’s new special ffb filter - woooo…good times coming.

More feedback later, I will do a few more hours testing tonight, but I suspect the base fw is very solid at this point. GUI also working seamlessly with the Simucube fw now, seems Mika has squashed all the bugs I had earlier.

Laters, have a great one!

PS: I think next weekend, I will wire up the MiGe with an extra SinCos encoder I have. Will be a pretty radical combo that too, what was it, 1M CPR if memory serves :slight_smile:

Beano

2 Likes

Exciting times ahead. My sincos encoder arrived yesterday i might look at fitting that to one of my servos in the next few days in preparation.

Good fun ahead, Troy :wink:

Been testing the latest alpha 0.3 Mika sent earlier tonight. Well, if that is how good things get in alpha version, what will the final release look like?

Having been around DD wheels for many years now, yes, even the new SS2 Bodnar, I always believed having a solid hardware foundation is essential for creating a top-of-the-line wheel.

Once IONI was created, we needed a decent industrial quality interface board to support it, which we got in the shape of SimuCUBE.

From the beginning, we discussed with our team at GD to also release the power of this powerful hardware platform, by moving away from the very capable, but limited, closed-source MMoS software/firmware layer, by releasing an open-source component to realise this vision.

I can honestly say, strap yourselves in, Gents. [color=blue] I was blown away the moment I activated the new high-speed special effects filter. [/color] The AKM53K with 10k ppr incremental encoder, performed the same from a tactile feeling perspective, as my SS2. You want rubber tyres? Racing profile, street or other? You’ve got it. You can completely tune your wheel to behave the way it suits YOU best.

The fw performs very well, and that filter, well, will now change the course of DD wheel history.

Nothing more to say, note the date down on your calendars. This is not an evolution, but a revolution.

Sorry, gotta run, have to mop up hallway… Drooling all over the bloody place;)

Cheers,
Beano

6 Likes

Just a few tests to make and features to fix/change.

  1. Torque notch filter can’t be setup up via the GUI correctly. Need Tero’s answer about this, as all the settings are in 32bit integer in different bit locations and different ranges for the bits as well, and SimplemotionV2 library example on setting this doesn’t follow my understanding of it.

  2. Analog input dialog obviously doesn’t work correctly/at all if SimuCUBE is in any other mode than Operational mode. I already fixed this; the dialog will close (if open) and the button to open it will be disabled in all other modes.

  3. Beano got nice :weight_lifting_man: full force left/right effect after flashing, right after Ioni had phased. Obviously we don’t want to be responsible for huge amount of snapped USB cables. The difference between you, the first beta testers including Beano, and me, is that I’m using a debugger to flash SimuCUBE and you will be using ST’s DfuSeDemo (at least for now). Those can reset/format memory in different way. I suspect Beano had, by chance, an effect with full force in some memory location AND by chance the byte that checks if SimuCUBE should initialize the motor upon startup was exactly correct byte (0x01). I might need to think/safequard this better. I already found out that the effects are not initialized to 0 at startup, and corrected it so that they are.

2 Likes

Morjens Mika,
Yes, I suspect you are correct- just one note, when wheel started spinning, it was quite low torque and easy to stop.

I am not sure if dfuse clears device memory properly before flash…but anyway, I guess the way you flash with debugger does?

Good comments and thinking about analog configuration, will make smooth sailing going forward! But yes, very good and fast progress, thank you!

Hyvää viikonloppua!.

Hi does it look like the new Firmware will support the Kollmorgen SFD at any stage.

Hi Troy,
Not without an additional hardware interface, not going to be easy to do, so probably not…

Cheers,
Beano

Yep, not easy. Kollmorgen protocol is not open, and would have to reverse engineer or license it, and I think they won’t license that as it is mainly meant for their own servo drives.

Also, publicly available information says that it has RS485 in it. The MCU on IONI doesn’t have usart on relevant inputs, so not easy there either.

But never say never.

Cheers for the reply. Looks like i’ll look at a few other options.

Adding, that it is limitation of IONI currently. SimuCUBE has more free program memory and quite a bit of left over processing power, and encoder inputs are wired to SimuCUBE too. But its the complete lack of documentation (the Smart part of Smart Feedback Device) that is the problem. Implementing this just for SimuCUBE use would also not benefit us generally, so not high on todo list, even if we had the protocol specification available.

Thanks for that I picked up a AKM44G with a BiSS encoder for $200 not happy with the coil impedance but the encoder might go good in another servo. The only catch is one of the motor connector is broken but I’m sure ill be able to work something out there once I have it in my hands and try it anyway. I can understand the SFD not high on you priority list. Im just a bit of a tinkerer and enjoy playing with different things and servos with SFD can be had cheaply,
At the moment in the shed I am building a Motion simulator with Linmot Linear motors I got very cheap. While i wait on my router parts to arrive ( In between the 4 simucubes I have in thereto build for people) .