-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simulator: fix TCP on Cygwin-Windows and updated two world files for Gazebo #11101
Conversation
It turns out that `sendto` does not work for TCP on Cygwin-Windows, instead we need to use `send`. This required some refactoring since we need to have the internet protocol and the port stored as a member variable. This should fix that lockstep SITL simulation was not working on Windows.
This fixes the worlds for tailsitter and plane for the lockstep simulation.
Nice! Thanks a lot! |
That suggests that uninitialized memory might be sent - have you checked that the packets are only sent to the simulator once the first uORB message was received? |
No uninitialized memory, this also happens on Linux because arming gets ignored now here:
It looks to me (without evidence) like the cause was there before and the symptom was #10693 Now it just stops the whole simulation at this point in time. |
I have never seen that behavior with Linux or Windows, that's odd. |
It only happened when the current mode was producing setpoints that result in higher than hover thrust. The drone starts in Manual mode and if you had no RC it didn't fly up, if you had RC and the throttle is high it took off and flew away without arming. Fixed now. |
Ah! |
It turns out that
sendto
does not work for TCP on Cygwin-Windows, instead we need to usesend
. This required some refactoring since we need to have the internet protocol and the port stored as a membervariable.
This should fix that lockstep SITL simulation was not working on Windows.
Fixes #11090.
I've also updated sitl_gazebo since that fixes a worldfile which needed updating for lockstep.