SimuCUBE Open Source Firmware Development Update Thread

Start of week update:

Based on testing actual motor configuration stuff, which I made quickly into a wizard last week, I needed to take a step back and redo the motor configuration wizard. Over the weekend, implemented a totally new version of it. It is now much more complex, but it works thousand times better.

Got loads of DRC files to test things with (Thanks Beano and guys at iRacing forums). Next, I will implement uploading that drc file to Ioni (only a few lines of code, and testing, testing, testing).

We decided to give the new Ioni firmware, which has the new filter Tero has been developing, with the beta version. That means that the configuration software has to have user interface also for uploading Ioni firmware, which needs to be implemented.

Then I will add filters to the UI. When we always have a known version of the Ioni firmware we can be sure to always have right filters visible in the UI, which makes things easier. After this feature is complete, we can start the beta.

4 Likes

Hey Mika,

How much latency/delay will the Force Filter 2500hz introduce or will this be virtually unnoticeable due to the onboard processing vs irFFB middle man.

Iā€™ve been busy looking through my profile checking to see if Iā€™m a Willy Wonka Golden ticket winner ā€˜First 50 Signupā€™ to test the Beta of the FW as mentioned when the forum startedā€¦ lol ā€˜Oh Pleaseā€™

Keep up the great work Team Granity

It is very unnoticeable. If there is a trend in the curve (increasing force) with the spike at the end, then the spike might arrive somewhat late - I would guess that its going to be around 1-2ms late at most, but we havenā€™t actually measured this. Normal forces would not have any delay at all.

Maybe Tero can supply screenshots of the filter when used with real data.

Yesterday I fixed some peculiar configuration tool stops detecting simucube -bugs that triggered maybe 1/1000 of the time. Today, as warmup, I implemented reload settings from flash -logic. Seems to work well.

Going to start debugging the drc file sending to SimuCUBEand from there to Ioni next. Code is ready, but not sure if it worksā€¦

Today, tested sending drc data to Ioni. Seems that there might be problem in the SimpleMotionV2 library, as no new settings were actually received or set by Ioni. Need to debug that tomorrow.

Also, added some custom commands to do some custom processing, so that IRFFB users wouldnā€™t need to tinker with vJoy at all.
Edit: These might not be needed at all, as I had understood irFFB functioning a bit badly. Lets see.

I use irffb and to be honest that new filter would render the main point of irffb useless. The Feature that save setting per car is nice and I use the 720 Hz mode. I find the other tow setting inconsistent so I donā€™t use them.

I love hearing about the progress and cant wait to get my hands on it to play.

Successfully fixed DRC file uploading to Ioni.

Now starting to facilitate uploading Ioni Firmware as well.

1 Like

Automatic silent updating of the new Ioni firmware is complete. Now fixing some recently introduced bugs on the UI. Then moving on to putting filters into the uiā€¦

1 Like

Wow Mika, you do really move fast.

Impressed!

Interesting in that I must be oblivious as I didnā€™t even realize this forum existed until Mika mentioned it over on iRacingā€¦

Welcome to the forum.

Thank you I will try to be of help where I can be

Thank you, Mika for allowing me to participate. And good to see you here, Brion. Brion has been tremendously helpful in developing a testing protocol for real world drivers when they come by our shop in Indianapolis. Greatly looking forward to getting input from real world drivers of many disciplines from dirt sprint cars to Indianapolis type cars. These are exciting times indeed.

End of week update:
We have started to write a user guide for the new firmware for beta testers.
I designed which Ioni parameters, are going to be set via the User Interface, and how they are transferred to SimuCUBE.

I will be back with updates on next wednesday or thursday.

1 Like

Ha, almost there then!

Meanwhile, I am sitting in hotel in Tokyo, quite frustrated I cannot test latest changesā€¦blah.

Maybe I go visit Akihabara Electrical Town again and buy more unneeded stuff for my CNC Mill Control Panelā€¦just because I have cravings for technical stuff :frowning:

See ya later, and thanx for the update, Mika!!

With Beta Testerā€™s you mean, the first 50 registered people ? :sunglasses:

I was a bit too late.

I have a mainstream servo, (mige) but the big one, with a 5k encoder :slight_smile:
Maybe i have a chance to test the new FW too ?

:relieved:

If no, is there a estimated date for the open Beta ?

Regards.

No time estimate on open/freely shared beta. It depends on how the closed beta phase will go. It looks like Iā€™m going to be very busy with other stuff, so not promising anything for the start of the closed beta. Phillip is a special alpha tester.

the best way to get the best performance is to build a servo driver in 407,that you can share data very easy in real time.i have build one pcb that put servo driver and mmos as picture blow,

, i am an servo engineer,if you have interest,we can build one kind of communication bus to share data,or we can share one chip that can work for mmos and servo in same time.like xmc4000,it can insist increamtal encoder and biss or 485 encoder.best wishes

Back at the office fixing bugs, as reported by an alpha tester. Report was that ā€œthere are no force effects anywhere.ā€

1st bug: Constantforce effect strength is being set to 0. Fixed via a workaround, ditching separate force scaling value for that alltogether, as it would only have academic useā€¦

2nd bug: free all effects -command makes the whole ffb engine inoperative, disabling all force effects. In process of fixing. I had implemented this last week, as there were some effects left playing after rFactor, and I wanted to have a way to delete them via implementing this command properly, instead of just having a placeholder. Obviously, it didnā€™t work :slight_smile: Now fixing this.

Actually, ā€œfree all effectsā€ was working as it should, but it was also being called from a peculiar place in the code - probably the right place to call something that disables all effects, but not actually removing the effects.