亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? italk.c

?? gpsd, a popular GPS daemon.
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* $Id: italk.c 4661 2008-01-19 22:54:23Z garyemiller $ *//* * Driver for the iTalk binary protocol used by FasTrax */#include <sys/types.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <ctype.h>#include <unistd.h>#include <time.h>#include <stdio.h>#include "gpsd_config.h"#include "gpsd.h"#if defined(ITRAX_ENABLE) && defined(BINARY_ENABLE)#define LITTLE_ENDIAN_PROTOCOL#include "bits.h"#include "italk.h"static gps_mask_t italk_parse(struct gps_device_t *, unsigned char *, size_t);static gps_mask_t decode_itk_navfix(struct gps_device_t *, unsigned char *, size_t);static gps_mask_t decode_itk_prnstatus(struct gps_device_t *, unsigned char *, size_t);static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *, unsigned char *, size_t);static gps_mask_t decode_itk_navfix(struct gps_device_t *session, unsigned char *buf, size_t len){    unsigned int tow;    unsigned short gps_week, flags, cflags, pflags;    gps_mask_t mask = 0;    double epx, epy, epz, evx, evy, evz;    double t;    if (len != 296){	gpsd_report(LOG_PROG, "ITALK: bad NAV_FIX (len %d, should be 296)\n", len);	return -1;    }    flags = getuw(buf, 7 + 4);    cflags = getuw(buf, 7 + 6);    pflags = getuw(buf, 7 + 8);    session->gpsdata.status = STATUS_NO_FIX;    session->gpsdata.fix.mode = MODE_NO_FIX;    mask =  ONLINE_SET | MODE_SET | STATUS_SET | CYCLE_START_SET;    /* just bail out if this fix is not marked valid */    if (0 != (pflags & FIX_FLAG_MASK_INVALID) || 0 == (flags & FIXINFO_FLAG_VALID))	return mask;    gps_week = (ushort)getsw(buf, 7 + 82);    tow = getul(buf, 7 + 84);    t = gpstime_to_unix((int)gps_week, tow/1000.0) - session->context->leap_seconds;    session->gpsdata.sentence_time = t;    session->gpsdata.fix.time = t;    mask |= TIME_SET;    epx = (double)(getsl(buf, 7 + 96)/100.0);    epy = (double)(getsl(buf, 7 + 100)/100.0);    epz = (double)(getsl(buf, 7 + 104)/100.0);    evx = (double)(getsl(buf, 7 + 186)/1000.0);    evy = (double)(getsl(buf, 7 + 190)/1000.0);    evz = (double)(getsl(buf, 7 + 194)/1000.0);    ecef_to_wgs84fix(&session->gpsdata, epx, epy, epz, evx, evy, evz);    mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET  ;    session->gpsdata.fix.eph = (double)(getsl(buf, 7 + 252)/100.0);    session->gpsdata.fix.eps = (double)(getsl(buf, 7 + 254)/100.0);    session->gpsdata.satellites_used = 0xffff ^ getub(buf, 7 + 16);    mask |= USED_SET ;    if (flags & FIX_CONV_DOP_VALID){	session->gpsdata.hdop = (double)(getuw(buf, 7 + 56)/100.0);	session->gpsdata.gdop = (double)(getuw(buf, 7 + 58)/100.0);	session->gpsdata.pdop = (double)(getuw(buf, 7 + 60)/100.0);	session->gpsdata.vdop = (double)(getuw(buf, 7 + 62)/100.0);	session->gpsdata.tdop = (double)(getuw(buf, 7 + 64)/100.0);	mask |= HDOP_SET | GDOP_SET | PDOP_SET | VDOP_SET | TDOP_SET;    }    if ((pflags & FIX_FLAG_MASK_INVALID) == 0 && (flags & FIXINFO_FLAG_VALID) != 0){	if (pflags & FIX_FLAG_3DFIX)	    session->gpsdata.fix.mode = MODE_3D;	else	    session->gpsdata.fix.mode = MODE_2D;	if (pflags & FIX_FLAG_DGPS_CORRECTION)	    session->gpsdata.status = STATUS_DGPS_FIX;	else	    session->gpsdata.status = STATUS_FIX;    }    return mask;}static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session, unsigned char *buf, size_t len){    unsigned int i, tow, nsv, nchan, st;    unsigned short gps_week;    double t;    if (len < 62){	gpsd_report(LOG_PROG, "ITALK: runt PRN_STATUS (len=%d)\n", len);	return ERROR_SET;    }    gps_week = getuw(buf, 7 + 4);    tow = getul(buf, 7 + 6);    t = gpstime_to_unix((int)gps_week, tow/1000.0) - session->context->leap_seconds;    session->gpsdata.sentence_time = session->gpsdata.fix.time = t;    gpsd_zero_satellites(&session->gpsdata);    nchan = (unsigned int)((len - 10 - 52) / 20);    nsv = 0;    for (i = st = 0; i < nchan; i++) {	int off = 7+ 52 + 20 * i;	unsigned short flags;	flags = getuw(buf, off);	session->gpsdata.ss[i]		= (int)getuw(buf, off+2)&0xff;	session->gpsdata.PRN[i]		= (int)getuw(buf, off+4)&0xff;	session->gpsdata.elevation[i]	= (int)getsw(buf, off+6)&0xff;	session->gpsdata.azimuth[i]	= (int)getsw(buf, off+8)&0xff;	if (session->gpsdata.PRN[i]){	    st++;	    if (flags & PRN_FLAG_USE_IN_NAV)		session->gpsdata.used[nsv++] = session->gpsdata.PRN[i];	}    }    session->gpsdata.satellites = (int)st;    session->gpsdata.satellites_used = (int)nsv;    return USED_SET | SATELLITE_SET | TIME_SET;}static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *session, unsigned char *buf, size_t len){    unsigned int tow;    int leap;    unsigned short gps_week, flags;    double t;    if (len != 64){	gpsd_report(LOG_PROG, "ITALK: bad UTC_IONO_MODEL (len %d, should be 64)\n", len);	return ERROR_SET;    }    flags = getuw(buf, 7);    if (0 == (flags & UTC_IONO_MODEL_UTCVALID))	return 0;    leap = (int)getuw(buf, 7 + 24);    if (session->context->leap_seconds < leap)	session->context->leap_seconds = leap;    gps_week = getuw(buf, 7 + 36);    tow = getul(buf, 7 + 38);    t = gpstime_to_unix((int)gps_week, tow/1000.0) - session->context->leap_seconds;    session->gpsdata.sentence_time = session->gpsdata.fix.time = t;    return TIME_SET;}/*@ +charint -usedef -compdef @*/static bool italk_write(int fd, unsigned char *msg, size_t msglen) {   bool      ok;   /* CONSTRUCT THE MESSAGE */   /* we may need to dump the message */   gpsd_report(LOG_IO, "writing italk control type %02x:%s\n",	       msg[0], gpsd_hexdump(msg, msglen));#ifdef ALLOW_RECONFIGURE   ok = (write(fd, msg, msglen) == (ssize_t)msglen);   (void)tcdrain(fd);#else   ok = 0;#endif /* ALLOW_RECONFIGURE */   return(ok);}/*@ -charint +usedef +compdef @*//*@ +charint @*/static gps_mask_t italk_parse(struct gps_device_t *session, unsigned char *buf, size_t len){    unsigned int type;    gps_mask_t mask = 0;    if (len == 0)	return 0;    type = (uint)getub(buf, 4);    /* we may need to dump the raw packet */    gpsd_report(LOG_RAW, "raw italk packet type 0x%02x length %d: %s\n", type, len, gpsd_hexdump(buf, len));    switch (type)    {    case ITALK_NAV_FIX:	gpsd_report(LOG_IO, "iTalk NAV_FIX len %d\n", len);	mask = decode_itk_navfix(session, buf, len);	break;    case ITALK_PRN_STATUS:	gpsd_report(LOG_IO, "iTalk PRN_STATUS len %d\n", len);	mask = decode_itk_prnstatus(session, buf, len);	break;    case ITALK_UTC_IONO_MODEL:	gpsd_report(LOG_IO, "iTalk UTC_IONO_MODEL len %d\n", len);	mask = decode_itk_utcionomodel(session, buf, len);	break;    case ITALK_ACQ_DATA:	gpsd_report(LOG_IO, "iTalk ACQ_DATA len %d\n", len);	break;    case ITALK_TRACK:	gpsd_report(LOG_IO, "iTalk TRACK len %d\n", len);	break;    case ITALK_PSEUDO:	gpsd_report(LOG_IO, "iTalk PSEUDO len %d\n", len);	break;    case ITALK_RAW_ALMANAC:	gpsd_report(LOG_IO, "iTalk RAW_ALMANAC len %d\n", len);	break;    case ITALK_RAW_EPHEMERIS:	gpsd_report(LOG_IO, "iTalk RAW_EPHEMERIS len %d\n", len);	break;    case ITALK_SUBFRAME:	gpsd_report(LOG_IO, "iTalk SUBFRAME len %d\n", len);	break;    case ITALK_BIT_STREAM:	gpsd_report(LOG_IO, "iTalk BIT_STREAM len %d\n", len);	break;    case ITALK_AGC:    case ITALK_SV_HEALTH:    case ITALK_PRN_PRED:    case ITALK_FREQ_PRED:    case ITALK_DBGTRACE:    case ITALK_START:    case ITALK_STOP:    case ITALK_SLEEP:    case ITALK_STATUS:    case ITALK_ITALK_CONF:    case ITALK_SYSINFO:    case ITALK_ITALK_TASK_ROUTE:    case ITALK_PARAM_CTRL:    case ITALK_PARAMS_CHANGED:    case ITALK_START_COMPLETED:    case ITALK_STOP_COMPLETED:    case ITALK_LOG_CMD:    case ITALK_SYSTEM_START:    case ITALK_STOP_SEARCH:    case ITALK_SEARCH:    case ITALK_PRED_SEARCH:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩黄色一区二区| 亚洲成人av一区二区三区| 日韩国产在线一| 成人免费av网站| 久久综合成人精品亚洲另类欧美| 亚洲国产日韩一区二区| 成人精品国产一区二区4080| 精品处破学生在线二十三| 亚洲福利电影网| 色婷婷亚洲精品| 国产精品大尺度| 国产乱淫av一区二区三区| 91精品国产欧美一区二区| 亚洲免费在线电影| gogogo免费视频观看亚洲一| 国产亚洲欧美色| 国产一区二区精品久久99| 欧美一级免费大片| 亚洲成人午夜影院| 欧美色精品天天在线观看视频| 国产精品国产三级国产| 国产iv一区二区三区| 久久精品欧美日韩| 国产一区二区三区不卡在线观看 | 亚洲欧美日韩中文播放| 国产毛片精品一区| 精品国产一区a| 奇米亚洲午夜久久精品| 欧美丰满一区二区免费视频 | 国产欧美一区二区精品秋霞影院| 久久精品国产99国产精品| 欧美一区二区性放荡片| 日韩av一区二区在线影视| 欧美区一区二区三区| 亚洲成人精品一区二区| 欧美色图天堂网| 亚洲制服欧美中文字幕中文字幕| 一本一道综合狠狠老| 亚洲精品一二三区| 欧美视频三区在线播放| 午夜视频一区二区三区| 欧美日韩国产综合久久| 天天操天天色综合| 91精品久久久久久久91蜜桃| 男人的天堂亚洲一区| 欧美精品一区二区三区在线播放| 中文字幕免费一区| 国产精品综合久久| 久久久亚洲午夜电影| 中文字幕免费观看一区| 国产亚洲精品福利| 国产一区二区成人久久免费影院| 日韩精品最新网址| 激情国产一区二区| 久久日韩粉嫩一区二区三区| 国产99一区视频免费| 久久精品夜色噜噜亚洲a∨| 成人精品一区二区三区中文字幕| 中文字幕av资源一区| 91日韩在线专区| 亚洲成人av一区二区三区| 欧美一区永久视频免费观看| 九九国产精品视频| 日本一区二区三区电影| 91老师片黄在线观看| 亚洲第一av色| 精品欧美久久久| 成人福利视频在线看| 亚洲美女屁股眼交| 制服丝袜中文字幕一区| 国产毛片一区二区| 亚洲日本韩国一区| 欧美一区二区三区视频免费| 国产一区高清在线| 亚洲视频网在线直播| 在线播放欧美女士性生活| 国产一区二区三区免费观看| 风间由美一区二区av101| 中文字幕免费一区| 欧美亚洲一区三区| 国产伦理精品不卡| 久久久夜色精品亚洲| 久久综合久久综合久久综合| 丁香五精品蜜臀久久久久99网站 | 中文字幕在线观看不卡视频| 欧美在线免费视屏| 久久er精品视频| 国产精品伦理一区二区| 欧美精品在线视频| 国产91在线|亚洲| 天堂一区二区在线免费观看| 久久精品网站免费观看| 欧美日韩精品系列| 国产成人一区二区精品非洲| 亚洲成人7777| 国产精品网站一区| 欧美一二三在线| 99精品国产91久久久久久| 青青草视频一区| 亚洲欧美在线视频观看| 日韩欧美在线观看一区二区三区| 成人avav影音| 久久精品国产一区二区三| 一区二区三区在线观看网站| 26uuu欧美| 欧美日韩一本到| caoporn国产一区二区| 麻豆传媒一区二区三区| 一区二区三区**美女毛片| 久久九九久久九九| 欧美精选一区二区| 97精品国产97久久久久久久久久久久 | 欧美国产国产综合| 欧美人与性动xxxx| av不卡在线播放| 韩国三级电影一区二区| 亚洲一区免费视频| 国产精品网站在线| 精品99999| 欧美一区二区精品在线| 一本久道久久综合中文字幕 | 奇米精品一区二区三区在线观看 | 国产99久久久国产精品免费看 | 国产精品国产成人国产三级| 欧美精品一区二区久久婷婷| 欧美日本一区二区| 91黄色在线观看| www.日韩精品| 粉嫩av一区二区三区| 久久成人麻豆午夜电影| 午夜久久福利影院| 亚洲一区二区在线观看视频| 亚洲日韩欧美一区二区在线| 国产欧美日韩三区| 精品黑人一区二区三区久久| 在线播放/欧美激情| 欧美午夜片在线看| 日本高清视频一区二区| 91麻豆福利精品推荐| 国产精品国产a级| 国产精品国产三级国产普通话三级| 欧美精品高清视频| 91黄色免费看| 欧美性三三影院| 在线免费不卡视频| 欧美在线综合视频| 欧美中文字幕一区二区三区亚洲| 色呦呦一区二区三区| 99久久99久久精品免费看蜜桃| 成人99免费视频| 成人国产一区二区三区精品| 成人黄色在线网站| 成人国产精品免费观看视频| eeuss国产一区二区三区| av中文字幕不卡| 91浏览器入口在线观看| 91在线观看成人| 色综合咪咪久久| 日本韩国一区二区三区视频| 欧美亚洲一区二区在线观看| 欧美日韩高清一区二区不卡| 99精品在线免费| 91热门视频在线观看| 色婷婷国产精品综合在线观看| 日本二三区不卡| 欧美日韩亚洲综合一区| 制服丝袜亚洲精品中文字幕| 欧美一区二区三区在线看| 日韩欧美自拍偷拍| 久久久久国产免费免费| 国产欧美日韩不卡| 中文字幕av免费专区久久| 国产精品色哟哟网站| 自拍偷拍国产亚洲| 亚洲成人一区二区| 免费美女久久99| 国产一区二区精品在线观看| 成人av网址在线| 欧美午夜一区二区三区| 日韩一区二区在线看| 久久久久久久国产精品影院| 中文字幕在线观看一区| 亚洲一区二区在线免费看| 蜜臀久久99精品久久久画质超高清| 国产麻豆视频精品| 99久久精品国产导航| 欧美久久久久免费| 久久精品这里都是精品| 亚洲欧美经典视频| 日韩av一二三| 粉嫩aⅴ一区二区三区四区五区| 色综合欧美在线| 精品美女一区二区| 国产精品超碰97尤物18| 亚洲6080在线| 国产精品正在播放| 91精彩视频在线观看| 欧美xxxx在线观看| av在线免费不卡| 91精品国产综合久久福利|