⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 garmin_api.c

📁 It is a software to decode information received by a normal GPS like GARMIN, UBLOX if it sends NMEA
💻 C
📖 第 1 页 / 共 2 页
字号:
	if(argv[7]!=NULL) strcpy(estrutura->n_8,argv[7]);	if(argv[8]!=NULL) strcpy(estrutura->n_9,argv[8]);	if(argv[9]!=NULL) strcpy(estrutura->n_10,argv[9]);	if(argv[10]!=NULL) strcpy(estrutura->n_11,argv[10]);	if(argv[11]!=NULL) strcpy(estrutura->n_12,argv[11]);		int fd = open("./GPGGA", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}	int bytes_written = write(fd,&estrutura, sizeof(GPGGA));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_GPGSA(GPGSA *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);		int fd = open("./GPGSA", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(GPGSA));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_GPRMC(GPRMC *estrutura, int argc,char *argv[]){		if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);		if(argv[6]!=NULL) strcpy(estrutura->n_7,argv[6]);	if(argv[7]!=NULL) strcpy(estrutura->n_8,argv[7]);	if(argv[8]!=NULL) strcpy(estrutura->n_9,argv[8]);	if(argv[9]!=NULL) strcpy(estrutura->n_10,argv[9]);	if(argv[10]!=NULL) strcpy(estrutura->n_11,argv[10]);	//if(argv[11]!=NULL) strcpy(estrutura->n_12,argv[11]);						int fd = open("./GPRMC", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(GPRMC));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_GPVTG(GPVTG *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);		int fd = open("./GPVTG", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(GPVTG));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_GPGLL(GPGLL *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);	if(argv[6]!=NULL) strcpy(estrutura->n_7,argv[6]);		int fd = open("./GPGLL", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(GPGLL));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_PGRME(PGRME *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);		int fd = open("./PGRME", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(PGRME));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_PGRMF(PGRMF *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);	if(argv[6]!=NULL) strcpy(estrutura->n_7,argv[6]);	if(argv[7]!=NULL) strcpy(estrutura->n_8,argv[7]);	if(argv[8]!=NULL) strcpy(estrutura->n_9,argv[8]);	if(argv[9]!=NULL) strcpy(estrutura->n_10,argv[9]);	if(argv[10]!=NULL) strcpy(estrutura->n_11,argv[10]);	if(argv[11]!=NULL) strcpy(estrutura->n_12,argv[11]);	if(argv[12]!=NULL) strcpy(estrutura->n_13,argv[12]);	if(argv[13]!=NULL) strcpy(estrutura->n_14,argv[13]);	if(argv[14]!=NULL)strcpy(estrutura->n_15,argv[14]);		int fd = open("./PGRMF", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(PGRMF));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_PGRMT(PGRMT *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);	if(argv[6]!=NULL) strcpy(estrutura->n_7,argv[6]);	if(argv[7]!=NULL) strcpy(estrutura->n_8,argv[7]);	if(argv[8]!=NULL) strcpy(estrutura->n_9,argv[8]);		int fd = open("./PGRMT", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(PGRMT));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}void inserir_PGRMV(PGRMV *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);		int fd = open("./PGRMV", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}		int bytes_written = write(fd,&estrutura, sizeof(PGRMV));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);		}void inserir_PGRMB(PGRMB *estrutura, int argc,char *argv[]){	if(argv[0]!=NULL) strcpy(estrutura->n_1,argv[0]);	if(argv[1]!=NULL) strcpy(estrutura->n_2,argv[1]);	if(argv[2]!=NULL) strcpy(estrutura->n_3,argv[2]);	if(argv[3]!=NULL) strcpy(estrutura->n_4,argv[3]);	if(argv[4]!=NULL) strcpy(estrutura->n_5,argv[4]);	if(argv[5]!=NULL) strcpy(estrutura->n_6,argv[5]);	if(argv[6]!=NULL) strcpy(estrutura->n_7,argv[6]);	if(argv[7]!=NULL) strcpy(estrutura->n_8,argv[7]);		int fd = open("./PGRMB", O_CREAT | O_APPEND | O_WRONLY , S_IRUSR | S_IWUSR );	if (fd < 0){		printf("open error: %s\n", strerror(errno));		_exit(0);	}			int bytes_written = write(fd,&estrutura, sizeof(PGRMB));	if (bytes_written < 0){		printf("\nwrite error: %s\n", strerror(errno));		_exit(0);		}		close(fd);	}	void print(int op){	if(op==10)	{		system("clear");				print_pos_info();				print_sat_info();				//printf("\n\n\tEnter Ctrl^C to open Menu");		fflush(stdout);	}else if(op==15)	{		system("clear");		printf("\n\t\tMenu");		printf("\nIf you want go to the principal menu, type 'M'");		printf("\nIf you want exit type 'E'");		printf("\nIf you want change your port type 'P'");		printf("\nIf you want change the baudrate od your port type 'B'");		printf("\nIf you want resquest more information about GPS type 'G'");		printf("\n--> ");		fflush(stdout);	}else if(op==11)	{		system("clear");		printf("\nRequeste more information to GPS");		printf("\nDo you want to see almanaque? press 'A'");		printf("\nDo you want do see the error for each satelite 'E'");		printf("\nType 'M' if you want go to the principal menu");		printf("\n-->");			}else if(op==12)	{		system("clear");		printf("\n\t\tAlmanaque");				printf("\n\n\tEnter Ctrl^C to open Menu");		fflush(stdout);	}else if(op==13)	{		system("clear");		printf("\nSensor errors information");		printf("\n\n\tEnter Ctrl^C to open Menu");		fflush(stdout);	}	}				void insert_sat_info(int argc,char *argv[]){	int i;		for(i=3;i<argc;i=i+4)	{		if(argv[i+1]!=NULL) satelites.sat[atoi(argv[i])][0]=atoi(argv[i+1]);		if(argv[i+2]!=NULL) satelites.sat[atoi(argv[i])][1]=atoi(argv[i+2]);		if(argv[i+3]!=NULL) satelites.sat[atoi(argv[i])][2]=atoi(argv[i+3]);	}}void print_sat_info(){	printf("\n . Satelites ir Use");	printf("\n\t\tPRN\tele\tazim\tSNR");	int i;	for(i=0;i<35;i++)	{		if(satelites.sat[i][2]!=0 )		{			printf("\n\t\t %d\t%d\t%d\t%d",i,satelites.sat[i][0],satelites.sat[i][1],satelites.sat[i][2]);		}	}}void limpa_sat_info(){	int i;	for(i=0;i<35;i++)	{		satelites.sat[i][0]=0;		satelites.sat[i][1]=0;		satelites.sat[i][2]=0;	}	}void print_pos_info(){		printf("\n\tGPS -- FRONTEND INFORMATION");	printf("\n . Hora: ");	if(position.time!=NULL) printf("%s\t",GPRMC_VAR.n_1);	printf("Date ");	if(position.date!=NULL) printf("%s\t",GPRMC_VAR.n_9);	printf("\n . Position - %s \t(A=valid, V=NAV receiver warming)",GPRMC_VAR.n_2);	printf("\n\tLatitude ");	if(position.lati!=NULL) printf("%s ",GPRMC_VAR.n_3);	if(position.lati_emi!=NULL) printf("%s ",GPRMC_VAR.n_4);	printf("\tLongitude ");	if(position.longi!=NULL) printf("%s ",GPRMC_VAR.n_5);	if(position.longi_emi!=NULL) printf("%s",GPRMC_VAR.n_6);	printf("\n . Velocity");	printf("\n\tSpeed over ground ");	if(position.speed!=NULL) printf("%s ",GPRMC_VAR.n_7);	printf("\tCourse over ground ");	if(position.course!=NULL) printf("%s",GPRMC_VAR.n_8);			}/*int correct_stc(char *message){	char string[100];	char pla[2];	strcpy(string,message);	printf("\nSoma");	fflush(stdout);	int i=0, a=0;	char sum=0;;	for(i=0;i<strlen(string);i++)	{				if(string[i]=='$')		{							for(a=i+1;;a++)			{								fflush(stdout);				sum=sum ^ string[a];				printf("\n%c - %d = %d",string[a],a,sum);				if(string[a+1]=='*'){					strcpy(pla,string[i+2]);					 goto fim;			}					}			}fim:	printf("\n%c %s", sum);	return 0;				}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -