Browse Source

Vehicle: Set vehicle time when finishing parameters read

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
QGC4.4
Patrick José Pereira 7 years ago
parent
commit
ca34927e40
  1. 22
      src/Vehicle/Vehicle.cc
  2. 1
      src/Vehicle/Vehicle.h

22
src/Vehicle/Vehicle.cc

@ -2132,12 +2132,34 @@ void Vehicle::_rallyPointLoadComplete(void) @@ -2132,12 +2132,34 @@ void Vehicle::_rallyPointLoadComplete(void)
void Vehicle::_parametersReady(bool parametersReady)
{
// Try to set current unix time to the vehicle
_sendQGCTimeToVehicle();
// Send time twice, more likely to get to the vehicle on a noisy link
_sendQGCTimeToVehicle();
if (parametersReady) {
_setupAutoDisarmSignalling();
_startPlanRequest();
}
}
void Vehicle::_sendQGCTimeToVehicle(void)
{
mavlink_message_t msg;
mavlink_system_time_t cmd;
// Timestamp of the master clock in microseconds since UNIX epoch.
cmd.time_unix_usec = QDateTime::currentDateTime().currentMSecsSinceEpoch()*1000;
// Timestamp of the component clock since boot time in milliseconds (Not necessary).
cmd.time_boot_ms = 0;
mavlink_msg_system_time_encode_chan(_mavlink->getSystemId(),
_mavlink->getComponentId(),
priorityLink()->mavlinkChannel(),
&msg,
&cmd);
sendMessageOnLink(priorityLink(), msg);
}
void Vehicle::disconnectInactiveVehicle(void)
{
// Vehicle is no longer communicating with us, disconnect all links

1
src/Vehicle/Vehicle.h

@ -885,6 +885,7 @@ private slots: @@ -885,6 +885,7 @@ private slots:
void _updateDistanceToHome(void);
void _updateHobbsMeter(void);
void _vehicleParamLoaded(bool ready);
void _sendQGCTimeToVehicle(void);
private:
bool _containsLink(LinkInterface* link);

Loading…
Cancel
Save