logger move non-logged subscriptions to uORB::Subscription

This commit is contained in:
Daniel Agar
2019-08-06 02:02:24 -04:00
parent 9d701a077d
commit 5b511eaa1a
3 changed files with 43 additions and 76 deletions
+6 -10
View File
@@ -39,6 +39,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <uORB/Subscription.hpp>
#include <uORB/topics/vehicle_gps_position.h>
#include <drivers/drv_hrt.h>
@@ -72,18 +73,15 @@ bool file_exist(const char *filename)
bool get_log_time(struct tm *tt, int utc_offset_sec, bool boot_time)
{
int vehicle_gps_position_sub = orb_subscribe(ORB_ID(vehicle_gps_position));
uORB::Subscription vehicle_gps_position_sub{ORB_ID(vehicle_gps_position)};
if (vehicle_gps_position_sub < 0) {
return false;
}
/* Get the latest GPS publication */
vehicle_gps_position_s gps_pos;
time_t utc_time_sec;
bool use_clock_time = true;
if (orb_copy(ORB_ID(vehicle_gps_position), vehicle_gps_position_sub, &gps_pos) == 0) {
/* Get the latest GPS publication */
vehicle_gps_position_s gps_pos;
if (vehicle_gps_position_sub.copy(&gps_pos)) {
utc_time_sec = gps_pos.time_utc_usec / 1e6;
if (gps_pos.fix_type >= 2 && utc_time_sec >= GPS_EPOCH_SECS) {
@@ -91,8 +89,6 @@ bool get_log_time(struct tm *tt, int utc_offset_sec, bool boot_time)
}
}
orb_unsubscribe(vehicle_gps_position_sub);
if (use_clock_time) {
/* take clock time if there's no fix (yet) */
struct timespec ts = {};