Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
63a393b2
Commit
63a393b2
authored
Jun 11, 2015
by
Lorenz Meier
Browse files
XPlane HIL interface: Fix link deletion logic so no QGC reboots are required between runs
parent
21d48a5b
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/comm/QGCXPlaneLink.cc
View file @
63a393b2
...
...
@@ -80,12 +80,12 @@ QGCXPlaneLink::~QGCXPlaneLink()
storeSettings
();
// Tell the thread to exit
_should_exit
=
true
;
// Wait for it to exit
wait
();
// if(connectState) {
// disconnectSimulation();
// }
if
(
socket
)
{
socket
->
close
();
socket
->
deleteLater
();
socket
=
NULL
;
}
}
void
QGCXPlaneLink
::
loadSettings
()
...
...
@@ -169,11 +169,13 @@ void QGCXPlaneLink::run()
emit
statusMessage
(
"Binding socket failed!"
);
delete
socket
;
socket
->
deleteLater
()
;
socket
=
NULL
;
return
;
}
emit
statusMessage
(
tr
(
"Waiting for XPlane.."
));
QObject
::
connect
(
socket
,
SIGNAL
(
readyRead
()),
this
,
SLOT
(
readBytes
()));
UAS
*
uas
=
dynamic_cast
<
UAS
*>
(
mav
);
...
...
@@ -188,6 +190,9 @@ void QGCXPlaneLink::run()
connect
(
this
,
SIGNAL
(
sensorHilRawImuChanged
(
quint64
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
quint32
)),
uas
,
SLOT
(
sendHilSensors
(
quint64
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
float
,
quint32
)),
Qt
::
QueuedConnection
);
uas
->
startHil
();
}
else
{
emit
statusMessage
(
tr
(
"Failed to connect to drone instance"
));
return
;
}
#pragma pack(push, 1)
...
...
@@ -254,12 +259,16 @@ void QGCXPlaneLink::run()
connectState
=
false
;
QObject
::
disconnect
(
socket
,
SIGNAL
(
readyRead
()),
this
,
SLOT
(
readBytes
()));
socket
->
close
();
socket
->
deleteLater
();
socket
=
NULL
;
emit
simulationDisconnected
();
emit
simulationConnected
(
false
);
this
->
deleteLater
();
}
void
QGCXPlaneLink
::
setPort
(
int
localPort
)
...
...
@@ -908,7 +917,6 @@ bool QGCXPlaneLink::disconnectSimulation()
if
(
connectState
)
{
_should_exit
=
true
;
wait
();
}
else
{
emit
simulationDisconnected
();
emit
simulationConnected
(
false
);
...
...
src/uas/UAS.cc
View file @
63a393b2
...
...
@@ -242,6 +242,8 @@ UAS::UAS(MAVLinkProtocol* protocol, int id) : UASInterface(),
*/
UAS
::~
UAS
()
{
stopHil
();
simulation
->
deleteLater
();
writeSettings
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment