public bool getVersion()
{
MAVLink.mavlink_autopilot_version_request_t req = new mavlink_autopilot_version_request_t();
req.target_component = MAV.compid;
req.target_system = MAV.sysid;
// request point
generatePacket((byte) MAVLINK_MSG_ID.AUTOPILOT_VERSION_REQUEST, req);
DateTime start = DateTime.Now;
int retrys = 3;
while (true)
{
if (!(start.AddMilliseconds(200) > DateTime.Now))
{
if (retrys > 0)
{
log.Info("getVersion Retry " + retrys + " - giv com " + giveComport);
generatePacket((byte) MAVLINK_MSG_ID.AUTOPILOT_VERSION_REQUEST, req);
start = DateTime.Now;
retrys--;
continue;
}
giveComport = false;
return false;
}
MAVLinkMessage buffer = readPacket();
if (buffer.Length > 5)
{
if (buffer.msgid == (byte) MAVLINK_MSG_ID.AUTOPILOT_VERSION)
{
giveComport = false;
return true;
}
}
}
}