rusEfi firmware simulator is a way to play with the controller without any hardware! All you need is a Windows computer.
simulator is the source code of the actual ECU firmware (most of it) compiled into a native Windows executable. This simulator allows you to see how the firmware reacts to different commands and configuration adjustments via Tuner Studio. The main thing one would be looking at would be the 'Digital Sniffer'
The simulation executable binds local port 29001 for 'dev console' rusEfi native protocol, and port 29002 for Tuner Studio binary protocol.
Feel free to contribute a Posix port for unix, this should not be that hard :)
Download & uncompress http://rusefi.com/build_server/rusefi_bundle.zip
Start simulator via Dev Console
1) double-click on rusefi_console.jar (you would need Java installed to do this). You should see
2) Hit the 'Start Simulator' button.
Out development console would launch the simulator & display some gauges and signal shapes.
Connecting to simulator with Tuner studio
TunerStudio has a TCP connector. You would need a paid registered version to see the TCP connector. For that option, create a TS project, then go to Connection->Settings, Select 'USB and Wireless', enter port 29002 and IP address 127.0.0.1. That's it, it should work!
Another, more challenging but free way to connect TS is via serial emulation:
Prepare Serial to TCP redict
2) Install & configure
3) Hit 'Create COM' button and wait a bit.
Feel free to use any other http://en.wikipedia.org/wiki/COM_port_redirector
TODO: one day someone would create a screencast and this would help a lot!
If you follow these steps, you should be able to connect Tuner Studio to a virtual instance of rusEfi and tune it online!
In case something does not work with the TCP<>Serial driver, first thing is to make sure that rusefi_simulator.exe is in the list of Processes in Task Manager
Next step is executing
telnet localhost 29001
to make sure that dev console protocol is alive
telnet localhost 29002
to make sure that TS protocol is alive.
Expected behavior is that connection would be established. If it does not, you might need to look in firewall settings.