Changeset 327 in ntrip
- Timestamp:
- Nov 23, 2006, 6:15:51 PM (18 years ago)
- Location:
- trunk/BNC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/RTCM3/rtcm3torinex.cpp
r320 r327 1 1 /* 2 2 Converter for RTCM3 data to RINEX. 3 $Id: rtcm3torinex.c,v 1.1 0 2006/11/15 12:31:31stoecker Exp $3 $Id: rtcm3torinex.c,v 1.11 2006/11/21 08:27:35 stoecker Exp $ 4 4 Copyright (C) 2005-2006 by Dirk Stoecker <stoecker@euronik.eu> 5 5 … … 51 51 52 52 /* CVS revision and version */ 53 static char revisionstr[] = "$Revision: 1.1 0$";53 static char revisionstr[] = "$Revision: 1.11 $"; 54 54 55 55 static uint32_t CRC24(long size, const unsigned char *buf) … … 303 303 } 304 304 GETBITS(l1range, 24); 305 if( l1range!= 0x80000)305 if((l1range&((1<<24)-1)) != 0x80000) 306 306 { 307 307 gnss->dataflags[num] |= c; … … 309 309 } 310 310 GETBITSSIGN(i, 20); 311 if( i!= 0x80000)311 if((i&((1<<20)-1)) != 0x80000) 312 312 { 313 313 gnss->dataflags[num] |= l; … … 356 356 } 357 357 GETBITSSIGN(i,14); 358 if( i!= 0x2000)358 if((i&((1<<14)-1)) != 0x2000) 359 359 { 360 360 gnss->dataflags[num] |= c; … … 363 363 } 364 364 GETBITSSIGN(i,20); 365 if( i!= 0x80000)365 if((i&((1<<20)-1)) != 0x80000) 366 366 { 367 367 gnss->dataflags[num] |= l; … … 446 446 { 447 447 int sv, code, l1range, c,l,s,ce,le,se,amb=0; 448 int freq; 448 449 449 450 GETBITS(sv, 6) 450 if(!sv || sv > 24) 451 { 452 --num; --gnss->numsats; 451 gnss->satellites[num] = sv-1 + PRN_GLONASS_START; 452 /* L1 */ 453 GETBITS(code, 1) 454 GETBITS(freq, 5) 455 if(code) 456 { 457 c = GNSSDF_P1DATA; ce = GNSSENTRY_P1DATA; 458 l = GNSSDF_L1PDATA; le = GNSSENTRY_L1PDATA; 459 s = GNSSDF_S1PDATA; se = GNSSENTRY_S1PDATA; 453 460 } 454 461 else 455 462 { 456 int freq; 457 gnss->satellites[num] = sv-1 + PRN_GLONASS_START; 458 /* L1 */ 459 GETBITS(code, 1) 460 GETBITS(freq, 5) 463 c = GNSSDF_C1DATA; ce = GNSSENTRY_C1DATA; 464 l = GNSSDF_L1CDATA; le = GNSSENTRY_L1CDATA; 465 s = GNSSDF_S1CDATA; se = GNSSENTRY_S1CDATA; 466 } 467 GETBITS(l1range, 25) 468 if((l1range&((1<<25)-1)) != 0x80000) 469 { 470 gnss->dataflags[num] |= c; 471 gnss->measdata[num][ce] = l1range*0.02; 472 } 473 GETBITSSIGN(i, 20) 474 if((i&((1<<20)-1)) != 0x80000) 475 { 476 gnss->dataflags[num] |= l; 477 gnss->measdata[num][le] = l1range*0.02+i*0.0005; 478 } 479 GETBITS(i, 7) 480 lastlockl1[sv] = i; 481 if(handle->lastlockl1[sv] > i) 482 gnss->dataflags[num] |= GNSSDF_LOCKLOSSL1; 483 if(type == 1010 || type == 1012) 484 { 485 GETBITS(amb,7) 486 if(amb && (gnss->dataflags[num] & c)) 487 { 488 gnss->measdata[num][ce] += amb*599584.916; 489 gnss->measdata[num][le] += amb*599584.916; 490 ++wasamb; 491 } 492 GETBITS(i, 8) 493 if(i) 494 { 495 gnss->dataflags[num] |= s; 496 gnss->measdata[num][se] = i*0.25; 497 i /= 4*4; 498 if(i > 9) i = 9; 499 else if(i < 1) i = 1; 500 gnss->snrL1[num] = i; 501 } 502 } 503 gnss->measdata[num][le] /= GLO_WAVELENGTH_L1(freq-7); 504 if(type == 1011 || type == 1012) 505 { 506 /* L2 */ 507 GETBITS(code,2) 461 508 if(code) 462 509 { 463 c = GNSSDF_P 1DATA; ce = GNSSENTRY_P1DATA;464 l = GNSSDF_L 1PDATA; le = GNSSENTRY_L1PDATA;465 s = GNSSDF_S 1PDATA; se = GNSSENTRY_S1PDATA;510 c = GNSSDF_P2DATA; ce = GNSSENTRY_P2DATA; 511 l = GNSSDF_L2PDATA; le = GNSSENTRY_L2PDATA; 512 s = GNSSDF_S2PDATA; se = GNSSENTRY_S2PDATA; 466 513 } 467 514 else 468 515 { 469 c = GNSSDF_C 1DATA; ce = GNSSENTRY_C1DATA;470 l = GNSSDF_L 1CDATA; le = GNSSENTRY_L1CDATA;471 s = GNSSDF_S 1CDATA; se = GNSSENTRY_S1CDATA;472 } 473 GETBITS (l1range, 25)474 if( l1range != 0x80000)516 c = GNSSDF_C2DATA; ce = GNSSENTRY_C2DATA; 517 l = GNSSDF_L2CDATA; le = GNSSENTRY_L2CDATA; 518 s = GNSSDF_S2CDATA; se = GNSSENTRY_S2CDATA; 519 } 520 GETBITSSIGN(i,14) 521 if((i&((1<<14)-1)) != 0x2000) 475 522 { 476 523 gnss->dataflags[num] |= c; 477 gnss->measdata[num][ce] = l1range*0.02; 478 } 479 GETBITSSIGN(i, 20) 480 if(i != 0x80000) 524 gnss->measdata[num][ce] = l1range*0.02+i*0.02 525 +amb*599584.916; 526 } 527 GETBITSSIGN(i,20) 528 if((i&((1<<20)-1)) != 0x80000) 481 529 { 482 530 gnss->dataflags[num] |= l; 483 gnss->measdata[num][le] = l1range*0.02+i*0.0005; 484 } 485 GETBITS(i, 7) 486 lastlockl1[sv] = i; 487 if(handle->lastlockl1[sv] > i) 488 gnss->dataflags[num] |= GNSSDF_LOCKLOSSL1; 489 if(type == 1010 || type == 1012) 490 { 491 GETBITS(amb,7) 492 if(amb && (gnss->dataflags[num] & c)) 493 { 494 gnss->measdata[num][ce] += amb*599584.916; 495 gnss->measdata[num][le] += amb*599584.916; 496 ++wasamb; 497 } 531 gnss->measdata[num][le] = l1range*0.02+i*0.0005 532 +amb*599584.915; 533 } 534 GETBITS(i,7) 535 lastlockl2[sv] = i; 536 if(handle->lastlockl2[sv] > i) 537 gnss->dataflags[num] |= GNSSDF_LOCKLOSSL2; 538 if(type == 1012) 539 { 498 540 GETBITS(i, 8) 499 541 if(i) … … 504 546 if(i > 9) i = 9; 505 547 else if(i < 1) i = 1; 506 gnss->snrL 1[num] = i;548 gnss->snrL2[num] = i; 507 549 } 508 550 } 509 gnss->measdata[num][le] /= GLO_WAVELENGTH_L1(freq-7); 510 if(type == 1011 || type == 1012) 511 { 512 /* L2 */ 513 GETBITS(code,2) 514 if(code) 515 { 516 c = GNSSDF_P2DATA; ce = GNSSENTRY_P2DATA; 517 l = GNSSDF_L2PDATA; le = GNSSENTRY_L2PDATA; 518 s = GNSSDF_S2PDATA; se = GNSSENTRY_S2PDATA; 519 } 520 else 521 { 522 c = GNSSDF_C2DATA; ce = GNSSENTRY_C2DATA; 523 l = GNSSDF_L2CDATA; le = GNSSENTRY_L2CDATA; 524 s = GNSSDF_S2CDATA; se = GNSSENTRY_S2CDATA; 525 } 526 GETBITSSIGN(i,14) 527 if(i != 0x2000) 528 { 529 gnss->dataflags[num] |= c; 530 gnss->measdata[num][ce] = l1range*0.02+i*0.02 531 +amb*599584.916; 532 } 533 GETBITSSIGN(i,20) 534 if(i != 0x80000) 535 { 536 gnss->dataflags[num] |= l; 537 gnss->measdata[num][le] = l1range*0.02+i*0.0005 538 +amb*599584.915; 539 } 540 GETBITS(i,7) 541 lastlockl2[sv] = i; 542 if(handle->lastlockl2[sv] > i) 543 gnss->dataflags[num] |= GNSSDF_LOCKLOSSL2; 544 if(type == 1012) 545 { 546 GETBITS(i, 8) 547 if(i) 548 { 549 gnss->dataflags[num] |= s; 550 gnss->measdata[num][se] = i*0.25; 551 i /= 4*4; 552 if(i > 9) i = 9; 553 else if(i < 1) i = 1; 554 gnss->snrL2[num] = i; 555 } 556 } 557 gnss->measdata[num][le] /= GLO_WAVELENGTH_L2(freq-7); 558 } 551 gnss->measdata[num][le] /= GLO_WAVELENGTH_L2(freq-7); 552 } 553 if(!sv || sv > 24) 554 { 555 --num; --gnss->numsats; 559 556 } 560 557 } … … 992 989 993 990 #ifndef NO_RTCM3_MAIN 994 static char datestr[] = "$Date: 2006/11/ 15 12:31:31$";991 static char datestr[] = "$Date: 2006/11/21 08:27:35 $"; 995 992 996 993 /* The string, which is send as agent in HTTP request */ -
trunk/BNC/bnchelp.html
r322 r327 23 23 <br> 24 24 25 < a name="purpose">25 <p><a name="purpose"> 26 26 <p><h3>A - Purpose</h3></p> 27 27 … … 46 46 </p> 47 47 <p> 48 < a name="options">48 <p><a name="options"> 49 49 <p><h3>B - Options</h3></p> 50 50 <p> … … 76 76 </p> 77 77 78 < a name="file">78 <p><a name="file"> 79 79 <p><h4>B - 1. File</h4></p> 80 80 … … 95 95 </p> 96 96 97 < a name="help">97 <p><a name="help"> 98 98 <p><h4>B - 2. Help</h4></p> 99 99 … … 112 112 </p> 113 113 114 < a name="proxy">114 <p><a name="proxy"> 115 115 <p><h4>B - 3. Proxy - mandatory if BNC is operated in a protected LAN</h4></p> 116 116 … … 121 121 </p> 122 122 123 < a name="output"> <p><h4>B - 4. Synchronized Output</h4></p>123 <p><a name="output"> <p><h4>B - 4. Synchronized Output</h4></p> 124 124 <p> 125 125 BNC lets you output synchronized observations epoch by epoch. This output is made available in a plain ASCII format and in a binary format. The output comprises the following observations if available:</p> … … 129 129 In case an observation is unavailable, its value is set to zero '0.000'. 130 130 </p> 131 < a name="wait">131 <p><a name="wait"> 132 132 <p><h4>B - 4.1 Wait for Full Epoch - optional</h4></p> 133 133 <p> … … 138 138 </p> 139 139 140 < a name="ascii">140 <p><a name="ascii"> 141 141 <p><h4>B - 4.2 ASCII Output File - optional</h4></p> 142 142 <p> … … 144 144 </p> 145 145 146 < a name="binary">146 <p><a name="binary"> 147 147 <p><h4>B - 4.3 Port for Binary Output - optional</h4></p> 148 148 <p> … … 182 182 </pre> 183 183 184 < a name="rinex">184 <p><a name="rinex"> 185 185 <p><h4>B - 5. RINEX</h4></p> 186 186 <p> … … 217 217 </p> 218 218 219 < a name="rnxpath">219 <p><a name="rnxpath"> 220 220 <p><h4>B - 5.1 RINEX Directory - optional</h4></p> 221 221 <p> … … 223 223 </p> 224 224 225 < a name="rnxscript">225 <p><a name="rnxscript"> 226 226 <p><h4>B - 5.2 RINEX Script - optional</h4></p> 227 227 <p> … … 229 229 </p> 230 230 231 < a name="rnxinterval">231 <p><a name="rnxinterval"> 232 232 <p><h4>B - 5.3 RINEX File Interval - mandatory if 'RINEX directory' set</h4></p> 233 233 <p> … … 235 235 </p> 236 236 237 < a name="rnxsample">237 <p><a name="rnxsample"> 238 238 <p><h4>B - 5.4 RINEX Sampling - mandatory if 'RINEX directory' set </h4></p> 239 239 <p> … … 241 241 </p> 242 242 243 < a name="rnxskeleton">243 <p><a name="rnxskeleton"> 244 244 <p><h4>B - 5.5 RINEX Skeleton Extension - optional</h4></p> 245 245 <p> … … 293 293 <p> 294 294 295 < a name="rnxappend">295 <p><a name="rnxappend"> 296 296 <p><h4>B - 5.6 Append Files</h4></p> 297 297 <p> … … 299 299 </p> 300 300 301 < a name="mountpoints">301 <p><a name="mountpoints"> 302 302 <p><h4>B - 6. Mountpoints</h4></p> 303 303 <p> … … 305 305 </p> 306 306 307 < a name="AddMounts">307 <p><a name="AddMounts"> 308 308 <p><h4>B - 6.1 Add Mountpoints</h4></p> 309 309 <p> … … 311 311 </p> 312 312 313 < a name="HostPort">313 <p><a name="HostPort"> 314 314 <p><h4>B - 6.2 Broadcaster Host and Port - mandatory</h4></p> 315 315 <p> … … 317 317 </p> 318 318 319 < a name="account">319 <p><a name="account"> 320 320 <p><h4>B - 6.3 Broadcaster User and Password - mandatory for protected streams</h4></p> 321 321 <p> … … 323 323 </p> 324 324 325 < a name="GetTable">325 <p><a name="GetTable"> 326 326 <p><h4>B - 6.4 Get Table</h4></p> 327 327 <p> … … 332 332 </p> 333 333 334 < a name="delete">334 <p><a name="delete"> 335 335 <p><h4>B - 6.5 Delete Mountpoints</h4></p> 336 336 <p> 337 337 To delete a stream shown under 'Mountpoints' in the main window, select it by mouse click and hit 'Delete Mountpoints'. For a simultaneous deletion of several streams highlight them using +Shift and +Ctrl.</p> 338 338 339 < a name="edit">339 <p><a name="edit"> 340 340 <p><h4>B - 6.6 Edit Mountpoints</h4></p> 341 341 <p> … … 343 343 </p> 344 344 345 < a name="log">345 <p><a name="log"> 346 346 <p><h4>B - 7. Log - optional</h4></p> 347 347 <p> … … 349 349 </p> 350 350 351 < a name="start">351 <p><a name="start"> 352 352 <p><h4>B - 8. Start</h4></p> 353 353 <p> … … 355 355 </p> 356 356 357 < a name="stop">357 <p><a name="stop"> 358 358 <p><h4>B - 9. Stop</h4></p> 359 359 <p> … … 361 361 </p> 362 362 363 < a name="nw">363 <p><a name="nw"> 364 364 <p><h4>B - 10. No Window - optional</h4></p> 365 365 <p> … … 370 370 </p> 371 371 <br> 372 < a name="limits">372 <p><a name="limits"> 373 373 <p><h3>C - Limitations</h3></p> 374 374 <ul> … … 407 407 <br> 408 408 </ul> 409 <a name="authors"> 409 <p> 410 <p><a name="authors"> 410 411 <p><h3>D - Authors</h3></p> 411 412 <p> … … 428 429 <br> 429 430 430 < a name="links">431 <p><a name="links"> 431 432 <p><h3>E - Links</h3></p> 432 433 <table> … … 441 442 <br> 442 443 443 < a name="annex">444 <p><a name="annex"> 444 445 <p><h3>F - Annex</h3></p> 445 446 <p> … … 454 455 <br> 455 456 456 < a name="ntrip">457 <p><a name="ntrip"> 457 458 <p><h4>F - 1. NTRIP</h4></p> 458 459 … … 480 481 </p> 481 482 482 < a name="source">483 <p><a name="source"> 483 484 <p><h4>F - 1.1 Source-table</h4></p> 484 485 … … 497 498 </p> 498 499 499 < a name="rtcm">500 <p><a name="rtcm"> 500 501 <p><h4>F - 2. RTCM</h4></p> 501 502 … … 507 508 <br> 508 509 509 < a name="rtcm2">510 <p><a name="rtcm2"> 510 511 <p><h4>F - 2.1 RTCM Version 2.x</h4></p> 511 512 <p> … … 540 541 </ul> 541 542 542 < a name="rtcm3">543 <p><a name="rtcm3"> 543 544 <p><h4>F - 2.2 RTCM Version 3</h4></p> 544 545 <p> … … 569 570 </ul> 570 571 571 < a name="rtigs">572 <p><a name="rtigs"> 572 573 <p><h4>F - 3. RTIGS</h4></p> 573 574 <p> … … 623 624 </p> 624 625 625 < a name="soc">626 <p><a name="soc"> 626 627 <p><h4>F - 3.1 SOC</h4></p> 627 628 <p> -
trunk/BNC/bncwindow.cpp
r319 r327 60 60 "decoder,bytes").split(","); 61 61 62 setMinimumSize(60*ww, 80*ww);62 setMinimumSize(60*ww, 60*ww); 63 63 setWindowTitle(tr("BKG Ntrip Client (BNC), Version 1.0b")); 64 64
Note:
See TracChangeset
for help on using the changeset viewer.