[info] rusEfi simulator

It's all about the code!
Post Reply
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

rusEfi simulator

Post by AndreyB »

rusEfi firmware simulator is a way to play with the controller without any hardware! All you need is a Windows computer.

Thank you @rus084 for the screen cast!



http://rusefi.com/wiki/index.php?title=Manual:Software:Simulator
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
jfive
Posts: 20
Joined: Thu Sep 18, 2014 7:24 pm

Re: rusEfi simulator

Post by jfive »

Have you tried the jim stim with one of the units yet?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

jfive wrote:Have you tried the jim stim with one of the units yet?
Nope - I simply do not have one :)

this topic is about a simulator, not a stimulator. The simulator is a piece of windows software which you use without any hardware whatsoever.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
vincenthw
Posts: 1
Joined: Thu Oct 16, 2014 12:46 pm

Re: rusEfi simulator

Post by vincenthw »

hello russian,

i have problem with setting up virtual COM/TCP port. i followed the steps given in your video but LAN status is shown error.

i don't know what i did wrong. can you please check the attached figure and help me out?

thanks and regards,

vincent
Attachments
Screenshot 2014-10-16 20.48.52.png
Screenshot 2014-10-16 20.48.52.png (57.7 KiB) Viewed 76669 times
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

vincenthw wrote:i have problem with setting up virtual COM/TCP port.
I wonder if the problem is with the TCP port, the process not running or firewall. I've added some troubleshooting hints into the wiki page
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
subnet
Posts: 13
Joined: Sun Oct 05, 2014 3:26 am

Re: rusEfi simulator

Post by subnet »

vincenthw wrote:hello russian,

i have problem with setting up virtual COM/TCP port. i followed the steps given in your video but LAN status is shown error.

i don't know what i did wrong. can you please check the attached figure and help me out?

thanks and regards,

vincent
when i was trying to get this working i had some problems as well. it also seems that sometimes it just cuts out after doing something (requiring that you go through the process again) even when telnet is responding, and only a reboot seems to get things back to a usable stage.

so as per instructions i do as follows:

reboot computer (if you've already run it before and are getting this error)
start the simulator (note the com port that you're binding to)
create the com in serial port redirector (com port that you selected in simulator, ip address is localhost, port 29002)
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

how i can compile it for linux?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Current makefile uses win32 HAL. You would need to compile it with posix chibios HAL which would require the makefile to detect if you run win32 or Unix
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

ok , i will try compile for linux (or maybe just use wine?)
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

demo from Chibios for Posix-GCC is compiling (need to install gcc-multilib library)
why i have this errors?
i cledated "include ${CHIBIOS}/os/hal/platforms/Posix/platform.mk" in makefile , else compiler demand windows.h library (but i dont make for windows because i add this include)

Code: Select all

komp@komp-desktop:/media/komp/ACCA670ACA66CFDE/Users/админ/code/win32_functional
_tests$ make
Compiling chcore.c
In file included from ../firmware/chibios/os/kernel/include/ch.h:113:0,
                 from ../firmware/chibios/os/ports/GCC/SIMIA32/chcore.c:35:
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.h:239:3: error: ‘fastcall’ attribute ignored [-Werror=attributes]
   __attribute__((fastcall)) void port_switch(Thread *ntp, Thread *otp);
   ^
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.h:240:3: error: ‘fastcall’ attribute ignored [-Werror=attributes]
   __attribute__((fastcall)) void port_halt(void);
   ^
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.h:242:60: error: ‘cdecl’ attribute ignored [-Werror=attributes]
                                                            void *p);
                                                            ^
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.c:75:1: error: ‘fastcall’ attribute ignored [-Werror=attributes]
 void port_halt(void) {
 ^
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.c:86:1: error: ‘cdecl’ attribute ignored [-Werror=attributes]
 void _port_thread_start(msg_t (*pf)(void *), void *p) {
 ^
cc1: all warnings being treated as errors
make: *** [build/obj/chcore.o] Ошибка 1

User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Is that a 100% original ChibiOS demo failing for you? this case you have a chance to ask on ChibiOS forum.

You say Posix which sounds unix but folder name is SIMIA32 which sounds windows, unless I am wrong. Is this all right?

As an option try editing some Makefile and say -Wno-error=attributes just to ignore this error
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

i can compile ChibiOS_2.6.7/demos/Posix-GCC and it works , demo uses SIMIA32 too .

if i use -Wno-error=attributes , attributes errors are fixed , but i get new errors
../firmware/chibios/os/ports/GCC/SIMIA32/chcore.c:48: Error: operand type mismatch for `push'
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

So ChibiOS demo compiles fine but rusEfi simulator does not compile on Unix?

You would need to take the unix demo Makefile and change it to compile rusEfi simulator. Then you would need to apply all the changes one by one until you find which part of the Makefile is not right. I doubt anyone would tell you something more specific than "your Makefile is wrong"
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

YEAH!!!

Code: Select all

root@dmitriy-Aspire-V5-571G:/rusefi/win32_functional_tests# ./build/rusefi_simulator
ChibiOS/RT simulator (Linux)

Full Duplex Channel SD1 listening on port 29001
Full Duplex Channel SD2 listening on port 29002
Shell service started on SD1, SD2
  - Listening for connections on SD1
  - Listening for connections on SD2
Running version:
TODO
Warning: NaN injection pulse


i use root because i compilling in chroot

what fixed:
my system is 64bit , chibios only for 32bit . need "-m32" option for compiler



why we dont use "make -j5" option when compilling ?
on my laptop its 126% faster .
34s when just "make" and 15s when "make -j5"
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Thank you @ the same Makefile now works on unix! todo: rename "win32_functional_tests" to "simulator"
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: rusEfi simulator

Post by rus084 »

i ported rusefi simulator for arm-linux architecture and run it via chroot in android

chibios port is here https://github.com/rus084/chibios-arm-simulator
Attachments
3AE6NCb.png
3AE6NCb.png (306.94 KiB) Viewed 75134 times
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

russian wrote:todo: rename "win32_functional_tests" to "simulator"
And this is done now.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
wstefan20
Posts: 111
Joined: Thu Dec 10, 2020 4:00 pm
Github Username: wstefan20

Re: rusEfi simulator

Post by wstefan20 »

Probably just me being dumb so apologies in advance. When I download the simulator and launch as in the video I get Not Connected. I have tried the com port emulator, as well as all other recommendations. I even created a custom rule for the ports in windows firewall and even turned off the firewall once to no avail. I can download the Proteus rusefi_bundle and launch the simulator and it shows connected and I can launch everything but there's obviously a firmware mis-match in TunerStudio so it goes offline.

Again, hopefully something easy. Thanks! :D
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

I remember that my name is Andrey. That's a significant percentage of all things I remember. I do not remember all the details of that video, but 6 years after the video was made I am sure that it's outdated in many MANY ways.

It is my recommendation to purchase a TunerStudio license in order to get TCP/IP connector and avoid virtual serial port. Serial mismatch is NOT supposed to a problem.

At some point virtual serial itself was a problem, there was some drama with package size. It could be that at the moment virtual serial route is broken again if we are again not within the limitations of the known to be problematic at least sometimes virtual serial bridge.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
wstefan20
Posts: 111
Joined: Thu Dec 10, 2020 4:00 pm
Github Username: wstefan20

Re: rusEfi simulator

Post by wstefan20 »

AndreyB wrote:
Sat Jan 02, 2021 4:33 am
I remember that my name is Andrey. That's a significant percentage of all things I remember. I do not remember all the details of that video, but 6 years after the video was made I am sure that it's outdated in many MANY ways.

It is my recommendation to purchase a TunerStudio license in order to get TCP/IP connector and avoid virtual serial port. Serial mismatch is NOT supposed to a problem.

At some point virtual serial itself was a problem, there was some drama with package size. It could be that at the moment virtual serial route is broken again if we are again not within the limitations of the known to be problematic at least sometimes virtual serial bridge.
That's a shame, but I completely understand. Unfortunately I don't really want to spend that kind of cash just to get the simulator working if I don't have to. I don't think it's the serial port issue though because why would the regular console show connected for say Proteus and not for the generic one? It's also showing not connected even before the step to pair tunerstudio as well which makes me think something else might be up, but if you think it's related I'll just leave it alone I guess :lol:
Simon@FutureProof
contributor
contributor
Posts: 413
Joined: Tue Jul 24, 2018 8:55 pm
Github Username: Orchardperformance
Slack: Orchardperformance

Re: rusEfi simulator

Post by Simon@FutureProof »

I would say at this stage the best way to play with rusefi is to get a discovery board or one of the compatible nucleo boards and load the RE firmware onto that.

Full TS license is more expensive than a board and then disco/nucleo can be used for development annd testing later.
Now keeping MRE in stock in the UK - https://www.FutureProofPerformance.com
malcom2073
Posts: 22
Joined: Thu Aug 13, 2015 4:50 pm

Re: rusEfi simulator

Post by malcom2073 »

For future reference: To get the simulator running with the "HW Virtual Serial Port" tool, you need to disable "NVT Enabled" mode, and also check the "Purge Buffers when port is opened" checkbox, otherwise TS will error out on connection.

That being said, yeah a discovery board is best for sure.
devchandil
Posts: 3
Joined: Tue Jun 27, 2023 6:14 am

Re: rusEfi simulator

Post by devchandil »

Hi Team,

I am using 20230726_2_release tag. Following is my simulation logs:
#########################################################
ChibiOS/RT simulator (Linux)

Shell service started on SD1, SD2
- Listening for connections on SD1
- Listening for connections on SD2
Running rusEFI simulator version:
20230727
efiPrintfInternal:msg`*** rusEFI LLC (c) 2012-2023. All rights reserved.`
efiPrintfInternal:msg`*** rusEFI v20230727@simulator`
efiPrintfInternal:msg`*** Chibios Kernel: 6.1.4`
efiPrintfInternal:msg`*** Compiled: Jul 29 2023 - 11:48:01`
efiPrintfInternal:msg`*** COMPILER=11.3.0`
efiPrintfInternal:msg`hellenBoardId=0`
efiPrintfInternal:msg`PORT_IDLE_THREAD_STACK_SIZE=256`
efiPrintfInternal:msg`CH_DBG_ENABLE_ASSERTS=1`
efiPrintfInternal:msg`CH_DBG_SYSTEM_STATE_CHECK=1`
efiPrintfInternal:msg`CH_DBG_ENABLE_STACK_CHECK=0`
efiPrintfInternal:msg`EFI_LOGIC_ANALYZER=0`
efiPrintfInternal:msg`EFI_TUNER_STUDIO=1`
efiPrintfInternal:msg`EFI_SIGNAL_EXECUTOR_SLEEP=1`
efiPrintfInternal:msg`EFI_SHAFT_POSITION_INPUT=1`
efiPrintfInternal:msg`EFI_INTERNAL_ADC=0`
efiPrintfInternal:msg`readFromFlash 1`
Simulator: reading config from flash1.bin
efiPrintfInternal:msg`Reading second configuration copy`
efiPrintfInternal:msg`readFromFlash 2`
Simulator: reading config from flash2.bin
commonInitEngineController
initSensorChart
initSettings
efiPrintfInternal:msg`setTpsAccelLen: Length should be positive [0]`
efiPrintfInternal:msg`engine sniffer: No`
efiPrintfInternal:msg`engine sniffer size=400`
efiPrintfInternal:msg`initHardware() OK!`
efiPrintfInternal:msg`Emulating MINIMAL_PINS`
efiPrintfInternal:msg`Emulating position sensor(s). RPM=1200`
efiPrintfInternal:msg`Stimulator: updating trigger shape: 1/0 5`
ERROR creating file: [generated/simulator_tune_image.bin]
Please check folder exists and is writeable.efiPrintfInternal:msg`Emulating position sensor(s). RPM=1200`
Full Duplex Channel SD1 listening on port 29001
Full Duplex Channel SD2 listening on port 29002
efiPrintfInternal:msg`setTpsAccelLen: Length should be positive [0]`
efiPrintfInternal:msg`LUA loading script length: 572...`
efiPrintfInternal:msg`LUA script loaded successfully!`
efiPrintfInternal:msg`WARNING: No MAP values`
efiPrintfInternal:msg`WARNING: out-of-order coil off Coil 1`
efiPrintfInternal:msg`Skipped zero-duration priming pulse.`
efiPrintfInternal:msg`WARNING: No MAP values`
efiPrintfInternal:msg`WARNING: No MAP values`
efiPrintfInternal:msg`WARNING: No MAP values`
#########################################################

As seen in the last line, I am repeatedly getting the error efiPrintfInternal:msg`WARNING: No MAP values`. Kindly suggest me how to remove this error. I want to test all the capability of Engine Control Unit in the simulation
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Looks like this area is broken https://github.com/rusefi/rusefi/issues/5473

This is not covered by continues integration and that's not part of the real firmware test loop thus low priority unfortunately. Overall simulator would never replace a full ECU it's only there to get a rough idea of the workflows.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Fixed now but in light of Tuner Studio having way more gauges and nicer UI the proper way to simulate would be for Tuner Studio to have mock sensor controls.
image.png
image.png (482.13 KiB) Viewed 35101 times
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mi-hol
Posts: 39
Joined: Sun Jun 05, 2022 10:37 pm
Location: Tübingen, Germany
Github Username: mi-hol

Re: rusEfi simulator

Post by mi-hol »

AndreyB wrote:
Tue Aug 01, 2023 5:01 am
the proper way to simulate would be for Tuner Studio to have mock sensor controls.
Is this a feature TS is planning to provide?
Best Regards
Michael
--------
Benelli Tornado 900 Tre
Benelli TNT 1130 (rebuilding)
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: rusEfi simulator

Post by AndreyB »

Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Post Reply