The SITL for Windows discussion appears to be dead since Feb of last year.
I will post my query here in the hope it gets noticed.
"I setup sitl on Windows 7. I followed the recipe in the web documentation exactly. Cygwin is working fine. Mavproxy installed without errors. Python installed into the virtual Linux environment ok. jbsim is installed properly. I then built the sitl versions of ArduPlane and ArduCopter sucessfully without errors. Ticks to everything.
When I run Mavproxy from the supplied script I get a graphic with no aircraft icon on it, neither plane nor copter. The graphic does locate at the expected place however, CMAC airfield. I zoomed out to search the world for the aircraft icon but it is nowhere.
If I run the plane Mavproxy crashes complaining about non-existent parameters. Thereafter the console is mostly unresponsive. I cannot exit the console. The Enter key works. The console prompt remains at "initializing". There is no plane icon on the graphic.
If I run the copter Mavproxy does not crash. The console prompt stays at "stabilized". Commands appear to be recognized but the mode does not change and nothing happens. There is no copter icon on the graphic.
The web documentation is also incorrect. It states the command is sim_vehicle.py -j4 --map. There is no sim_vehicle.py. There is a script called sim_vehicle.sh which works. What other errors are in the documentation?
I've wasted a day on this. That's enough. I have research to get on with. Pity, I could have made good use of the simulation capability.
If you have a solution please let me know."
Replies
It is python that is choosing what file to use, not mavproxy. MAVProxy is just the victim :-)
I'm guessing you mean copter circle mode? That mode takes climb rate off the throttle stick, so yes it will lose height unless you provide some stick input.
As research is your goal, maybe join our research channel and ask there?
Cheers, Tridge
Andrew. I got the simulation working by renaming ..\MAVProxy\eggs\mavproxy-1.4.32-py2.7.egg to something arbitrary. This left ..\mavproxy-1.6.1-py2.7.egg
This was a standard windows installation, so it appears the file is a leftover from a previous version, though why mavproxy would use the old file is a mystery.
The console is still a worry. When running a simulation ^C still does not exit. ^Z locks up the console completely. CRLF handling does not work correctly.
Circle mode causes the vehicle to lose height and crash.
What is the best way to convey these issues to the developer?
Andrew, thanks for your reply. http://ardupilot.org/dev/docs/sitl-native-on-windows.html is the documentation link I used. I don't want to use the precompiled sitl because I want to make changes to ArduPlane for my research project and test them in the simulator. Anyway, I would rather build all of the tools myself. I work in both Linux and Windows, gui and console. Makes no difference to me but gui is faster. I would prefer to build this natively under Windows for various reasons.
So I am caught out here. I have plenty of experience but this is a tool. My real work is my radar and I really don't want to have to become a developer of the tool. The radar will end up open source anyway so I feel I will be contributing.
After my original post I realized I was using an old branch of ardupilot. I cloned it to make a custom version of ArduPLane for the APM2.
I now have the most recent master branch and have gone through the wiki procedure again. Same result and same errors.
I have captured the MavProxy output for you to look at. The first screen-full is the initial screen and crash. The next is after hitting enter key. The screen clears and new stuff is written. After this enter key makes a new line and new prompt, but nothing else works. All commands are ignored including ^C. The only option is to bomb out.
This is the first screen-full;
Connect tcp:127.0.0.1:5760 source_system=255
Failed to load module: No module named signing. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Failed to load module: No module named adsb. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Loaded module console
Loaded module map
Running script (C:\Users\jfitter\AppData\Local\MAVProxy\mavinit.scr)
Loaded module help
Unknown command 'graph timespan 30'
Log Directory:
Telemetry log: mav.tlog
MAV> STABILIZE> Received 858 parameters
Saved 858 parameters to mav.parm
Exception in thread main_loop:
Traceback (most recent call last):
File "C:\Users\Stephen\Documents\MAVProxy\MAVProxy\build\mavproxy\out00-PYZ.pyz\threading", line 810, in __bootstrap_inner
File "C:\Users\Stephen\Documents\MAVProxy\MAVProxy\build\mavproxy\out00-PYZ.pyz\threading", line 763, in run
File "<string>", line 801, in main_loop
File "<string>", line 528, in process_master
File "C:\Users\Stephen\Documents\MAVProxy\MAVProxy\build\mavproxy\out00-PYZ.pyz\pymavlink.dialects.v20.ardupilotmega", line 10169, in parse_bu
fer
File "C:\Users\Stephen\Documents\MAVProxy\MAVProxy\build\mavproxy\out00-PYZ.pyz\pymavlink.dialects.v20.ardupilotmega", line 10105, in parse_ch
r
File "C:\Users\Stephen\Documents\MAVProxy\MAVProxy\build\mavproxy\out00-PYZ.pyz\pymavlink.dialects.v20.ardupilotmega", line 10082, in __callba
ks
File "D:\PROGRA~2\MAVProxy\eggs\mavproxy-1.4.32-py2.7.egg\MAVProxy\modules\mavproxy_link.py", line 381, in master_callback
self.report_altitude(m.relative_alt*0.001)
File "D:\PROGRA~2\MAVProxy\eggs\mavproxy-1.4.32-py2.7.egg\MAVProxy\modules\mavproxy_link.py", line 235, in report_altitude
math.fabs(self.status.altitude - self.status.last_altitude_announce) >=
AttributeError: 'MPStatus' object has no attribute 'last_altitude_announce'
And after hitting enter we get this;
Connect tcp:127.0.0.1:5760 source_system=255
Failed to load module: No module named signing. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Failed to load module: No module named adsb. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Loaded module console
Loaded module map
Running script (C:\Users\jfitter\AppData\Local\MAVProxy\mavinit.scr)
Loaded module help
Unknown command 'graph timespan 30'
Log Directory:
Telemetry log: mav.tlog
MAV>
STABILIZE>
Thanks.
I have a Belarc report if it will help. How do send it to you privately?
Here is another alternative:
https://discuss.ardupilot.org/t/easy-sitl-for-windows-users/15830
Which documentation did you use? (please give a link).
The current docs are:
http://ardupilot.org/dev/docs/sitl-native-on-windows.html
although most windows users just use the pre-compiled SITL that is built into MissionPlanner. Did you try that?
If the above link doesn't work then please let me know and I'll investigate. While I do most of my work on Linux, I have a Windows box I use to test SITL to ensure it stays working. I last tested it a month or so ago.
Additional comment: sim_vehicle.sh contains a hard coded folder reference "c/users/username/documents/github/arduino". This is not good coding. I am not the only person to use c-drive ssd for boot only and d-drive as a mechanical raid array for applications etc.