Changeset 10545 in ntrip for trunk/BNC/src/RTCM3/clock_and_orbit
- Timestamp:
- Sep 25, 2024, 1:15:37 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h
r10533 r10545 407 407 virtual CodeType rnxTypeToCodeType(char system, std::string type) = 0; 408 408 409 #define STOREBITS \410 while(numbits >= 8) { \411 if(!size) return 0; \412 *(buffer++) = bitbuffer>>(numbits-8); \413 numbits -= 8; \414 ++ressize; \415 --size; \416 }417 418 #define ADDBITS(a, b) { \419 bitbuffer = (bitbuffer<<(a))|((b)&((1<<a)-1)); \420 numbits += (a); \421 STOREBITS \422 }423 424 #define STARTDATA \425 size_t ressize=0; \426 char *blockstart=0; \427 int numbits=0; \428 uint64_t bitbuffer=0;429 430 #define INITBLOCK \431 numbits = 0; \432 blockstart = buffer; \433 ADDBITS(8, 0xD3) \434 ADDBITS(6, 0) \435 ADDBITS(10, 0)436 437 #define ENDBLOCK \438 if(numbits) { ADDBITS((8-numbits), 0) } { \439 int len = buffer-blockstart-3; \440 blockstart[1] |= len>>8; \441 blockstart[2] = len; \442 if(len > 1023) \443 return 0; \444 len = CRC24(len+3, (const unsigned char *) blockstart); \445 ADDBITS(24, len) \446 }447 448 #define SCALEADDBITS(a, b, c) ADDBITS(a, (int64_t)(c > 0 ? b*c+0.5 : b*c-0.5))449 450 409 #define MPI 3.141592653589793 451 410
Note:
See TracChangeset
for help on using the changeset viewer.