Page 1 of 1

rusEfi simulator

Posted: Tue Jul 15, 2014 2:38 pm
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

Re: rusEfi simulator

Posted: Sun Oct 05, 2014 9:17 am
by jfive
Have you tried the jim stim with one of the units yet?

Re: rusEfi simulator

Posted: Sun Oct 05, 2014 1:04 pm
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.

Re: rusEfi simulator

Posted: Thu Oct 16, 2014 12:56 pm
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

Re: rusEfi simulator

Posted: Thu Oct 16, 2014 2:44 pm
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

Re: rusEfi simulator

Posted: Sat Oct 18, 2014 4:37 pm
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)

Re: rusEfi simulator

Posted: Sat Oct 25, 2014 4:52 pm
by rus084
how i can compile it for linux?

Re: rusEfi simulator

Posted: Sat Oct 25, 2014 5:00 pm
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

Re: rusEfi simulator

Posted: Sat Oct 25, 2014 6:59 pm
by rus084
ok , i will try compile for linux (or maybe just use wine?)

Re: rusEfi simulator

Posted: Sat Oct 25, 2014 7:50 pm
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


Re: rusEfi simulator

Posted: Mon May 30, 2016 8:16 pm
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

Re: rusEfi simulator

Posted: Mon May 30, 2016 8:51 pm
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'

Re: rusEfi simulator

Posted: Mon May 30, 2016 8:54 pm
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"

Re: rusEfi simulator

Posted: Mon May 30, 2016 10:00 pm
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"

Re: rusEfi simulator

Posted: Mon May 30, 2016 10:29 pm
by AndreyB
Thank you @ the same Makefile now works on unix! todo: rename "win32_functional_tests" to "simulator"

Re: rusEfi simulator

Posted: Tue May 31, 2016 8:59 pm
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

Re: rusEfi simulator

Posted: Mon Apr 10, 2017 2:49 pm
by AndreyB
russian wrote:todo: rename "win32_functional_tests" to "simulator"
And this is done now.

Re: rusEfi simulator

Posted: Sat Jan 02, 2021 4:05 am
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

Re: rusEfi simulator

Posted: Sat Jan 02, 2021 4:33 am
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.

Re: rusEfi simulator

Posted: Sat Jan 02, 2021 6:27 am
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:

Re: rusEfi simulator

Posted: Sun Mar 14, 2021 11:47 am
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.

Re: rusEfi simulator

Posted: Sun Jun 26, 2022 3:29 pm
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.

Re: rusEfi simulator

Posted: Sat Jul 29, 2023 6:42 am
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

Re: rusEfi simulator

Posted: Sun Jul 30, 2023 1:35 am
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.

Re: rusEfi simulator

Posted: Tue Aug 01, 2023 5:01 am
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 35100 times

Re: rusEfi simulator

Posted: Tue Aug 01, 2023 4:19 pm
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?

Re: rusEfi simulator

Posted: Tue Aug 01, 2023 5:36 pm
by AndreyB