#ifndef PROCESS_GPS_DATA_H_ #define PROCESS_GPS_DATA_H_ /* #include */ #include #include #include /* definice struktur - jednotky promennych uvedeny v ICD dokumentu */ struct subframe1{ /* pri aktualizaci new_data_subframe = 1 */ uint16_t WN; uint8_t kod_L2; uint8_t URA_index; uint8_t SV_health; uint16_t IODC; uint8_t L2; double TGD; uint32_t toc; double af2; double af1; double af0; }; struct subframe2{ /* pri aktualizaci new_data_subframe = 2 */ uint8_t IODE; double Crs; double delta_n; double M0; double Cuc; double e; double Cus; double odm_A; uint32_t toe; uint8_t fit_interval_flag; int AODO; }; struct subframe3{ /* pri aktualizaci new_data_subframe = 3 */ double Cic; double OMG0; double Cis; double i0; double Crc; double omg; double OMGd; uint8_t IODE; double idot; }; struct subframe4and5{ /* pri aktualizaci new_data_subframe = 4 */ uint8_t data_ID; uint8_t SV_ID; double e; uint32_t toa; double delta_i; double OMGd; uint8_t SV_health; double odm_A; double OMG0; double omg; double M0; double af0; double af1; }; struct subframe4page18{ /* pri aktualizaci new_data_subframe = 5 */ uint8_t data_ID; uint8_t SV_ID; double alfa0; double alfa1; double alfa2; double alfa3; double beta0; double beta1; double beta2; double beta3; double A1; double A0; uint32_t tot; uint8_t WNt; int delta_tLS; uint8_t WNLSF; uint8_t DN; int delta_tLSF; }; struct subframe4page25{ /* pri aktualizaci new_data_subframe = 6 */ uint8_t data_ID; uint8_t SV_ID; uint8_t AS_config[32]; /*1.-32. druzice*/ uint8_t SV_health[8]; /*25.-32. druzice*/ }; struct subframe5page25{ /* pri aktualizaci new_data_subframe = 7 */ uint8_t data_ID; uint8_t SV_ID; uint32_t toa; uint8_t WNa; uint8_t SV_health[24]; /*1.-24. druzice*/ }; int32_t process_GPS_data(uint64_t * buffer, uint8_t SV_number); #endif