|
发表于 2019-4-13 17:48:26
4904 浏览 2 回复
关于Pixhawk log日志记录不准
pixhawk 2代硬件,px4固件,我是添加的自己的gps驱动,之前三代那个也是添加了自己的驱动也是可以用的,结果出现了系统时间不准导致我的数据记录的时间也不准,分析数据很麻烦,有谁会解决这个问题,感谢感谢!!!
|
扫一扫浏览分享
|
|
|
|
|
|
|
你添加GPS驱动的时候,从GPS获取时间那边,有没有注意 |
|
我不为己,谁人为我,但我只为己,那我又是谁?
|
|
|
|
|
|
楼主|
发表于 2019-4-16 11:25:05
谢谢萧齐老师的回复,我查看了UBX PVT和TIMEUTC中都似乎存在这部分数据包
- time_t epoch = mktime(&timeinfo);
- if (epoch > GPS_EPOCH_SECS) {
- // FMUv2+ boards have a hardware RTC, but GPS helps us to configure it
- // and control its drift. Since we rely on the HRT for our monotonic
- // clock, updating it from time to time is safe.
- timespec ts;
- memset(&ts, 0, sizeof(ts));
- ts.tv_sec = epoch;
- ts.tv_nsec = _buf.payload_rx_nav_pvt.nano;
- setClock(ts);
- _gps_position->time_utc_usec = static_cast<uint64_t>(epoch) * 1000000ULL;
- _gps_position->time_utc_usec += _buf.payload_rx_nav_pvt.nano / 1000;
- } else {
- _gps_position->time_utc_usec = 0;
- }
复制代码
其中这个setclock是否是用nano(utc)数据来矫正gps时间,这个nano数据刚好是板卡里没有输出的,我去尝试下 |
|
|
|
|
|
|
|