Changeset 8966 in ntrip for trunk/BNC/src/RTCM3/clock_and_orbit
- Timestamp:
- Jul 1, 2020, 9:48:35 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h
r8944 r8966 16 16 17 17 enum COR_BASE { 18 COBBASE_GPS = 1057,18 COBBASE_GPS = 1057, 19 19 COBBASE_GLONASS = 1063, 20 20 COBBASE_GALILEO = 1240, 21 COBBASE_QZSS = 1246,22 COBBASE_SBAS = 1252,23 COBBASE_BDS = 1258,21 COBBASE_QZSS = 1246, 22 COBBASE_SBAS = 1252, 23 COBBASE_BDS = 1258, 24 24 }; 25 25 … … 35 35 36 36 enum ClockOrbitType { 37 COTYPE_GPSORBIT = COBBASE_GPS + COBOFS_ORBIT,37 COTYPE_GPSORBIT = COBBASE_GPS + COBOFS_ORBIT, 38 38 COTYPE_GPSCLOCK, 39 39 COTYPE_GPSCOMBINED = COBBASE_GPS + COBOFS_COMBINED, … … 41 41 COTYPE_GPSHR, 42 42 43 COTYPE_GLONASSORBIT = COBBASE_GLONASS + COBOFS_ORBIT,43 COTYPE_GLONASSORBIT = COBBASE_GLONASS + COBOFS_ORBIT, 44 44 COTYPE_GLONASSCLOCK, 45 45 COTYPE_GLONASSCOMBINED = COBBASE_GLONASS + COBOFS_COMBINED, … … 47 47 COTYPE_GLONASSHR, 48 48 49 COTYPE_GALILEOORBIT = COBBASE_GALILEO + COBOFS_ORBIT,49 COTYPE_GALILEOORBIT = COBBASE_GALILEO + COBOFS_ORBIT, 50 50 COTYPE_GALILEOCLOCK, 51 51 COTYPE_GALILEOCOMBINED = COBBASE_GALILEO + COBOFS_COMBINED, … … 53 53 COTYPE_GALILEOHR, 54 54 55 COTYPE_QZSSORBIT = COBBASE_QZSS + COBOFS_ORBIT,55 COTYPE_QZSSORBIT = COBBASE_QZSS + COBOFS_ORBIT, 56 56 COTYPE_QZSSCLOCK, 57 57 COTYPE_QZSSCOMBINED = COBBASE_QZSS + COBOFS_COMBINED, … … 59 59 COTYPE_QZSSHR, 60 60 61 COTYPE_SBASORBIT = COBBASE_SBAS + COBOFS_ORBIT,61 COTYPE_SBASORBIT = COBBASE_SBAS + COBOFS_ORBIT, 62 62 COTYPE_SBASCLOCK, 63 63 COTYPE_SBASCOMBINED = COBBASE_SBAS + COBOFS_COMBINED, … … 65 65 COTYPE_SBASHR, 66 66 67 COTYPE_BDSORBIT = COBBASE_BDS + COBOFS_ORBIT,67 COTYPE_BDSORBIT = COBBASE_BDS + COBOFS_ORBIT, 68 68 COTYPE_BDSCLOCK, 69 69 COTYPE_BDSCOMBINED = COBBASE_BDS + COBOFS_COMBINED, … … 75 75 76 76 enum CodeBiasType { 77 BTYPE_GPS = COBBASE_GPS+ COBOFS_BIAS,77 BTYPE_GPS = COBBASE_GPS + COBOFS_BIAS, 78 78 BTYPE_GLONASS = COBBASE_GLONASS + COBOFS_BIAS, 79 79 BTYPE_GALILEO = COBBASE_GALILEO + COBOFS_BIAS, 80 BTYPE_QZSS = COBBASE_QZSS+ COBOFS_BIAS,81 BTYPE_SBAS = COBBASE_SBAS+ COBOFS_BIAS,82 BTYPE_BDS = COBBASE_BDS+ COBOFS_BIAS,80 BTYPE_QZSS = COBBASE_QZSS + COBOFS_BIAS, 81 BTYPE_SBAS = COBBASE_SBAS + COBOFS_BIAS, 82 BTYPE_BDS = COBBASE_BDS + COBOFS_BIAS, 83 83 BTYPE_AUTO = 0 84 84 }; … … 126 126 127 127 enum COR_OFFSETS { 128 CLOCKORBIT_OFFSETGPS=0, 129 CLOCKORBIT_OFFSETGLONASS=CLOCKORBIT_NUMGPS, 130 CLOCKORBIT_OFFSETGALILEO=CLOCKORBIT_NUMGPS+CLOCKORBIT_NUMGLONASS, 131 CLOCKORBIT_OFFSETQZSS=CLOCKORBIT_NUMGPS+CLOCKORBIT_NUMGLONASS 132 +CLOCKORBIT_NUMGALILEO, 133 CLOCKORBIT_OFFSETSBAS=CLOCKORBIT_NUMGPS+CLOCKORBIT_NUMGLONASS 134 +CLOCKORBIT_NUMGALILEO+CLOCKORBIT_NUMQZSS, 135 CLOCKORBIT_OFFSETBDS=CLOCKORBIT_NUMGPS+CLOCKORBIT_NUMGLONASS 136 +CLOCKORBIT_NUMGALILEO+CLOCKORBIT_NUMQZSS+CLOCKORBIT_NUMSBAS, 137 CLOCKORBIT_COUNTSAT=CLOCKORBIT_NUMGPS+CLOCKORBIT_NUMGLONASS 138 +CLOCKORBIT_NUMGALILEO+CLOCKORBIT_NUMQZSS+CLOCKORBIT_NUMSBAS 139 +CLOCKORBIT_NUMBDS 128 CLOCKORBIT_OFFSETGPS = 0, 129 CLOCKORBIT_OFFSETGLONASS = CLOCKORBIT_NUMGPS, 130 CLOCKORBIT_OFFSETGALILEO = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS, 131 CLOCKORBIT_OFFSETQZSS = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO, 132 CLOCKORBIT_OFFSETSBAS = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO 133 + CLOCKORBIT_NUMQZSS, 134 CLOCKORBIT_OFFSETBDS = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO 135 + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS, 136 CLOCKORBIT_COUNTSAT = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO 137 + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS + CLOCKORBIT_NUMBDS 140 138 }; 141 139 … … 267 265 #endif 268 266 269 struct ClockOrbit 270 { 267 struct ClockOrbit { 271 268 enum ClockOrbitType messageType; 272 269 unsigned int EpochTime[CLOCKORBIT_SATNUM]; /* 0 .. system specific maximum */ 273 270 unsigned int NumberOfSat[CLOCKORBIT_SATNUM]; /* 0 .. CLOCKORBIT_NUM... */ 274 275 271 unsigned int Supplied[COBOFS_NUM]; /* boolean */ 276 272 #ifdef COR_LATENCY … … 289 285 double UserRangeAccuracy; /* accuracy values in [m] */ 290 286 double hrclock; 291 struct OrbitPart 292 { 287 struct OrbitPart { 293 288 double DeltaRadial; /* m */ 294 289 double DeltaAlongTrack; /* m */ … … 298 293 double DotDeltaCrossTrack; /* m/s */ 299 294 } Orbit; 300 struct ClockPart 301 { 295 struct ClockPart { 302 296 double DeltaA0; /* m */ 303 297 double DeltaA1; /* m/s */ … … 307 301 }; 308 302 309 struct CodeBias 310 { 303 struct CodeBias { 311 304 enum CodeBiasType messageType; 312 305 unsigned int EpochTime[CLOCKORBIT_SATNUM]; /* 0 .. system specific maximum */ … … 316 309 unsigned int SSRProviderID; 317 310 unsigned int SSRSolutionID; 318 struct BiasSat 319 { 311 struct BiasSat { 320 312 unsigned int ID; /* all */ 321 313 unsigned int NumberOfCodeBiases; 322 struct CodeBiasEntry 323 { 314 struct CodeBiasEntry { 324 315 enum CodeType Type; 325 316 float Bias; /* m */ … … 328 319 }; 329 320 330 struct PhaseBias 331 { 321 struct PhaseBias { 332 322 enum PhaseBiasType messageType; 333 323 unsigned int EpochTime[CLOCKORBIT_SATNUM]; /* 0 .. system specific maximum */ … … 339 329 unsigned int DispersiveBiasConsistencyIndicator; 340 330 unsigned int MWConsistencyIndicator; 341 struct PhaseBiasSat 342 { 331 struct PhaseBiasSat { 343 332 unsigned int ID; /* all */ 344 333 unsigned int NumberOfPhaseBiases; 345 334 double YawAngle; /* radiant */ 346 335 double YawRate; /* radiant/s */ 347 struct PhaseBiasEntry 348 { 336 struct PhaseBiasEntry { 349 337 enum CodeType Type; 350 338 unsigned int SignalIntegerIndicator; … … 356 344 }; 357 345 358 struct VTEC 359 { 346 struct VTEC { 360 347 unsigned int EpochTime; /* GPS */ 361 348 unsigned int UpdateInterval; … … 386 373 enum GCOB_RETURN { 387 374 /* all well */ 388 GCOBR_MESSAGEFOLLOWS =1,389 GCOBR_OK =0,375 GCOBR_MESSAGEFOLLOWS = 1, 376 GCOBR_OK = 0, 390 377 /* unknown data, a warning */ 391 GCOBR_UNKNOWNTYPE = -1,392 GCOBR_UNKNOWNDATA = -2,393 GCOBR_CRCMISMATCH = -3,394 GCOBR_SHORTMESSAGE = -4,378 GCOBR_UNKNOWNTYPE = -1, 379 GCOBR_UNKNOWNDATA = -2, 380 GCOBR_CRCMISMATCH = -3, 381 GCOBR_SHORTMESSAGE = -4, 395 382 /* failed to do the work */ 396 383 GCOBR_NOCLOCKORBITPARAMETER = -10, 397 GCOBR_NOCODEBIASPARAMETER = -11,398 GCOBR_NOPHASEBIASPARAMETER = -12,399 GCOBR_NOVTECPARAMETER = -13,384 GCOBR_NOCODEBIASPARAMETER = -11, 385 GCOBR_NOPHASEBIASPARAMETER = -12, 386 GCOBR_NOVTECPARAMETER = -13, 400 387 /* data mismatch - data in storage does not match new data */ 401 GCOBR_TIMEMISMATCH = -20,402 GCOBR_DATAMISMATCH = -21,388 GCOBR_TIMEMISMATCH = -20, 389 GCOBR_DATAMISMATCH = -21, 403 390 /* not enough data - can decode the block completely */ 404 GCOBR_SHORTBUFFER = -30,405 GCOBR_MESSAGEEXCEEDSBUFFER = -31};391 GCOBR_SHORTBUFFER = -30, 392 GCOBR_MESSAGEEXCEEDSBUFFER = -31}; 406 393 407 394 /* NOTE: When an error message has been emitted, the output structures may have been modified. Make a copy of the previous variant before calling the
Note:
See TracChangeset
for help on using the changeset viewer.