rusEFI ECU support

So you do not have any pre-defined set of data, it can be anything in any order, specified on the ini-file?

Correct.

We add/change stuff once a week on average and firmware exact version is reflected in the signature. TunerStudio has support for that flow - they download fresh .ini from our website if they see signature change.

We have code generation under the hood for all that to work efficiently on our end.

PS: rusEFI codebase has some basic .ini parsing code you can totally borrow if you use Java on Android

https://github.com/rusefi/rusefi/tree/master/java_console/inifile/src/main/java/com/opensr5/ini

Ok, I will take a look. Warning though, I’m currently overbooked with manufacturer clients.

I am very interested in RusEFI support. Is there any way I can help testing/add more focus on this?

If you have a ECU to test on, send me an email (contact@realdash.net) so I can provide you with the test version.

Email sent! Can test at any time!

The RusEFI support is now completely redone and supports importing ini files. I sent you an email with link to test version. Hopefully it will work, let me know. It would be good if you can test with devices that are configured to use different ini files.

Sorry that it took so long to get started with this. While parsing the Tunerstudio compatible ini file by itself is not a difficult task, I dislike the ini file for a reason that it does not have strict rules of which value is which. For example, the current RusEFI ini file states that RPM is in two bytes, offset 4:

RPMValue = scalar, U16, 4, "RPM", 1, 0

But on some other firmware somebody may decide to rename that, for example:

SuperRPM = scalar, U16, 4, "RPM", 1, 0

Now there is no way of knowing which value really is the RPM in data stream. RusEFI seems to use ‘RPMValue’, Speeduino and Megasquirt use ‘rpm’, I have also seen ‘currentRpm’ or ‘rpmdiv100’ etc used. Tunerstudio works with this because it just defines ‘SuperRPM’ gauge elsewhere in the ini file. RealDash cannot do that as gauges can be attached to any input by design.

So just a note, that if you change the ‘RPMValue’ to something else in other firmwares, RealDash has no way of knowing that value should be linked to RPM input in RealDash.

I have not got any feedback about this new rusEFI support, we will be forced to make an update very soon.

I have rusEFI Proteus I can test if you send me the link.

All rusEFI updates are in current public version. Give it a go.

Somehow I’ve missed all the progress. I am now aware of the 2.1.4 fix will test tomorrow

I’ve launched current RealDash release version of the software and it was asking me to provide the .ini file manually.

We at rusEFI change .ini file a few tunes a week, in order for users to survive that velocity we have other frontends automatically download .ini files from our website based on ECU signature response - i.e. our desire is for end users to never have to deal with .ini at all.

For instance https://github.com/rusefi/rusefi/blob/master/java_console/io/src/test/java/com/rusefi/SignatureHelperTest.java mentions “rusEFI 2021.09.22.all.3378169541” signature. https://github.com/rusefi/rusefi/blob/master/java_console/shared_io/src/main/java/com/rusefi/core/SignatureHelper.java would parse it into a https://github.com/rusefi/rusefi/blob/master/java_console/shared_io/src/main/java/com/rusefi/core/RusEfiSignature.java object allowing “https://rusefi.com/online/ini/rusefi/” + s.getYear() + SLASH +
s.getMonth() + SLASH +
s.getDay() + SLASH +
s.getBundle() + SLASH +
s.getHash() + “.ini” file to be downloaded without any human involvement.

Would it be possible to implement similar automatic .ini retrieval in RealDash?

First things first, does the ini import, and data stream handling work correctly?

I am struggling to use the app to be honest :frowning:

2.1.5
I clear data/cache to reset to blank state
I get to green car, I choose BT connection, I pick my device from the list, I pick local .ini file
Now I am see vehicle interior, I see connection entry. What do I click where next to actually connect or see stuff?

I do not want to set transmissions gear ratios, do not need to change vehicle name or tire sizes. Really confused, somehow I got to dash and in the corner it sometimes blinks “Connecting…” and disappears, not sure if there is a way for me to get more info/logs.

How do I get back to “Connections” without full data reset? I was hoping to get there via “Settings” but all I see there is “data source: Connections” but how do I configure those connections?

Go into Garage, click the door of the car, click the instrument cluster. This is where you can add connections or change settings of connections.

Then click the word “Add” to create new connection.

Wow, that has worked, thank you! “Garage” to “add Connection” :open_mouth:

I am failing to have it work via USB, how can I help with a test in Finland?

I’ve connected via USB and I get constant blinking of “Connecting… rusEFI Engine Management”

rusEFI has that “PC simulator” option which is an .exe or linux binary which listens on port 29001 with the same .ini protocol just over TCP/IP, any chance to try that in Finland?

https://rusefi.com/build_server/rusefi_bundle.zip for the pre-compiled .exe version or https://github.com/rusefi/rusefi/tree/master/simulator to compile for linux (not sure if mac is supported)

I would also love to ship a STM32F407G-DISC1 or NUCLEO-F429ZI dev board to Finland - that would a dev board running real firmware exposed via micro-usb

This is typically due not giving RealDash a permission to use USB, or you have given another app a default access to USB. Check Android settings for USB permissions.