📄 gps_average.c
字号:
#include "as_gps.h"int main(int argc, char **argv){ void *data; double lat, lgt; unsigned fix, read_count = 0; if(as_gps_open("/dev/gps")) { printf("Can't open device\n"); exit(1); } while(1) { unsigned char result = as_gps_handle_input(&data); if(result == AS_GPS_RCV_POSITION_DATA) { AS_GPS_PositionData *pos = (AS_GPS_PositionData *)data; fix = pos->status & 0x0f; if(fix == 3 || fix == 4) /* at least a 2D or 3D fix */ { lat = (pos->lat + ((double)read_count * lat)) / ((double)read_count+1); lgt = (pos->lgt + ((double)read_count * lgt)) / ((double)read_count+1); printf("%5u: Lat: %3.16f, Lgt: %3.16f\n", read_count, lat, lgt); read_count++; } } free(data); } as_gps_close(); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -