8

阿木币

2

精华

10 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7

发表于 2019-4-13 17:48:26 3413 浏览 2 回复

关于Pixhawk log日志记录不准

微信图片_20190413174337.jpg
pixhawk 2代硬件,px4固件,我是添加的自己的gps驱动,之前三代那个也是添加了自己的驱动也是可以用的,结果出现了系统时间不准导致我的数据记录的时间也不准,分析数据很麻烦,有谁会解决这个问题,感谢感谢!!!

扫一扫浏览分享
回复

使用道具 举报

131

阿木币

0

精华

273 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-4-15 12:08:33
你添加GPS驱动的时候,从GPS获取时间那边,有没有注意
我不为己,谁人为我,但我只为己,那我又是谁?
回复 点赞

使用道具 举报

8

阿木币

2

精华

10 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-4-16 11:25:05
amov_msq 发表于 2019-4-15 12:08
你添加GPS驱动的时候,从GPS获取时间那边,有没有注意

谢谢萧齐老师的回复,我查看了UBX PVT和TIMEUTC中都似乎存在这部分数据包
  1. time_t epoch = mktime(&timeinfo);

  2.                         if (epoch > GPS_EPOCH_SECS) {
  3.                                 // FMUv2+ boards have a hardware RTC, but GPS helps us to configure it
  4.                                 // and control its drift. Since we rely on the HRT for our monotonic
  5.                                 // clock, updating it from time to time is safe.

  6.                                 timespec ts;
  7.                                 memset(&ts, 0, sizeof(ts));
  8.                                 ts.tv_sec = epoch;
  9.                                 ts.tv_nsec = _buf.payload_rx_nav_pvt.nano;

  10.                                 setClock(ts);

  11.                                 _gps_position->time_utc_usec = static_cast<uint64_t>(epoch) * 1000000ULL;
  12.                                 _gps_position->time_utc_usec += _buf.payload_rx_nav_pvt.nano / 1000;

  13.                         } else {
  14.                                 _gps_position->time_utc_usec = 0;
  15.                         }
复制代码

其中这个setclock是否是用nano(utc)数据来矫正gps时间,这个nano数据刚好是板卡里没有输出的,我去尝试下
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表