📄 garmin_api.c
字号:
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 + -