Changeset 9350 in ntrip
- Timestamp:
- Feb 23, 2021, 10:11:15 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
r9275 r9350 472 472 } 473 473 } 474 } 475 476 if (eph && !outDatedBcep(eph) && // detected from storage because of no update 477 eph->checkState() != t_eph::bad && 478 eph->checkState() != t_eph::unhealthy && 479 eph->checkState() != t_eph::outdated) { // detected during reception (bncephuser) 480 QMap<QString, double> codeBiases; 481 QList<phaseBiasSignal> phaseBiasList; 482 phaseBiasesSat pbSat; 483 _phaseBiasInformationDecoded = false; 484 485 while (true) { 486 QString key; 487 int numVal = 0; 488 in >> key; 489 if (in.status() != QTextStream::Ok) { 490 break; 491 } 492 if (key == "APC") { 493 in >> numVal; 494 rtnAPC.ReSize(3); rtnAPC = 0.0; 495 for (int ii = 0; ii < numVal; ii++) { 496 in >> rtnAPC[ii]; 497 } 498 } 499 else if (key == "Ura") { 500 in >> numVal; 501 if (numVal == 1) 502 in >> rtnUra; 503 } 504 else if (key == "Clk") { 505 in >> numVal; 506 rtnClk.ReSize(3); rtnClk = 0.0; 507 for (int ii = 0; ii < numVal; ii++) { 508 in >> rtnClk[ii]; 509 } 510 } 511 else if (key == "ClkSig") { 512 in >> numVal; 513 rtnClkSig.ReSize(3); rtnClkSig = 0.0; 514 for (int ii = 0; ii < numVal; ii++) { 515 in >> rtnClkSig[ii]; 516 } 517 } 518 else if (key == "Vel") { 519 in >> numVal; 520 rtnVel.ReSize(3); rtnVel = 0.0; 521 for (int ii = 0; ii < numVal; ii++) { 522 in >> rtnVel[ii]; 523 } 524 } 525 else if (key == "CoM") { 526 in >> numVal; 527 rtnCoM.ReSize(3); rtnCoM = 0.0; 528 for (int ii = 0; ii < numVal; ii++) { 529 in >> rtnCoM[ii]; 530 } 531 } 532 else if (key == "CodeBias") { 533 in >> numVal; 534 for (int ii = 0; ii < numVal; ii++) { 535 QString type; 536 double value; 537 in >> type >> value; 538 codeBiases[type] = value; 539 } 540 } 541 else if (key == "YawAngle") { 542 _phaseBiasInformationDecoded = true; 543 in >> numVal >> pbSat.yawAngle; 544 if (pbSat.yawAngle < 0.0) { 545 pbSat.yawAngle += (2*M_PI); 546 } 547 else if (pbSat.yawAngle > 2*M_PI) { 548 pbSat.yawAngle -= (2*M_PI); 549 } 550 } 551 else if (key == "YawRate") { 552 _phaseBiasInformationDecoded = true; 553 in >> numVal >> pbSat.yawRate; 554 } 555 else if (key == "PhaseBias") { 556 _phaseBiasInformationDecoded = true; 557 in >> numVal; 558 for (int ii = 0; ii < numVal; ii++) { 559 phaseBiasSignal pb; 560 in >> pb.type >> pb.bias >> pb.integerIndicator 561 >> pb.wlIndicator >> pb.discontinuityCounter; 562 phaseBiasList.append(pb); 563 } 564 } 565 else { 566 in >> numVal; 567 for (int ii = 0; ii < numVal; ii++) { 568 double dummy; 569 in >> dummy; 570 } 571 emit(newMessage(" RTNET format error: " 572 + lines[ii].toLatin1(), false)); 573 } 574 } 575 576 struct SsrCorr::ClockOrbit::SatData* sd = 0; 577 if (prn.system() == 'G') { 578 sd = co.Sat + co.NumberOfSat[CLOCKORBIT_SATGPS]; 579 ++co.NumberOfSat[CLOCKORBIT_SATGPS]; 580 } 581 else if (prn.system() == 'R') { 582 sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfSat[CLOCKORBIT_SATGLONASS]; 583 ++co.NumberOfSat[CLOCKORBIT_SATGLONASS]; 584 } 585 else if (prn.system() == 'E') { 586 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 587 + co.NumberOfSat[CLOCKORBIT_SATGALILEO]; 588 ++co.NumberOfSat[CLOCKORBIT_SATGALILEO]; 589 } 590 else if (prn.system() == 'J') { 591 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 592 + CLOCKORBIT_NUMGALILEO 593 + co.NumberOfSat[CLOCKORBIT_SATQZSS]; 594 ++co.NumberOfSat[CLOCKORBIT_SATQZSS]; 595 } 596 else if (prn.system() == 'S') { 597 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 598 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 599 + co.NumberOfSat[CLOCKORBIT_SATSBAS]; 600 ++co.NumberOfSat[CLOCKORBIT_SATSBAS]; 601 } 602 else if (prn.system() == 'C') { 603 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 604 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 605 + CLOCKORBIT_NUMSBAS 606 + co.NumberOfSat[CLOCKORBIT_SATBDS]; 607 ++co.NumberOfSat[CLOCKORBIT_SATBDS]; 608 } 609 if (sd) { 610 QString outLine; 611 t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC, 612 rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine); 613 if (irc != success) {/* 614 // very few cases: check states bad and unhealthy are excluded earlier 615 sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries 616 sd->IOD = eph->IOD(); 617 */ 618 continue; 619 } 620 } 621 622 // Code Biases 623 // ----------- 624 struct SsrCorr::CodeBias::BiasSat* biasSat = 0; 625 if (!codeBiases.isEmpty()) { 474 475 if (!outDatedBcep(eph) && // detected from storage because of no update 476 eph->checkState() != t_eph::bad && 477 eph->checkState() != t_eph::unhealthy && 478 eph->checkState() != t_eph::outdated) { // detected during reception (bncephuser) 479 QMap<QString, double> codeBiases; 480 QList<phaseBiasSignal> phaseBiasList; 481 phaseBiasesSat pbSat; 482 _phaseBiasInformationDecoded = false; 483 484 while (true) { 485 QString key; 486 int numVal = 0; 487 in >> key; 488 if (in.status() != QTextStream::Ok) { 489 break; 490 } 491 if (key == "APC") { 492 in >> numVal; 493 rtnAPC.ReSize(3); rtnAPC = 0.0; 494 for (int ii = 0; ii < numVal; ii++) { 495 in >> rtnAPC[ii]; 496 } 497 } 498 else if (key == "Ura") { 499 in >> numVal; 500 if (numVal == 1) 501 in >> rtnUra; 502 } 503 else if (key == "Clk") { 504 in >> numVal; 505 rtnClk.ReSize(3); rtnClk = 0.0; 506 for (int ii = 0; ii < numVal; ii++) { 507 in >> rtnClk[ii]; 508 } 509 } 510 else if (key == "ClkSig") { 511 in >> numVal; 512 rtnClkSig.ReSize(3); rtnClkSig = 0.0; 513 for (int ii = 0; ii < numVal; ii++) { 514 in >> rtnClkSig[ii]; 515 } 516 } 517 else if (key == "Vel") { 518 in >> numVal; 519 rtnVel.ReSize(3); rtnVel = 0.0; 520 for (int ii = 0; ii < numVal; ii++) { 521 in >> rtnVel[ii]; 522 } 523 } 524 else if (key == "CoM") { 525 in >> numVal; 526 rtnCoM.ReSize(3); rtnCoM = 0.0; 527 for (int ii = 0; ii < numVal; ii++) { 528 in >> rtnCoM[ii]; 529 } 530 } 531 else if (key == "CodeBias") { 532 in >> numVal; 533 for (int ii = 0; ii < numVal; ii++) { 534 QString type; 535 double value; 536 in >> type >> value; 537 codeBiases[type] = value; 538 } 539 } 540 else if (key == "YawAngle") { 541 _phaseBiasInformationDecoded = true; 542 in >> numVal >> pbSat.yawAngle; 543 if (pbSat.yawAngle < 0.0) { 544 pbSat.yawAngle += (2*M_PI); 545 } 546 else if (pbSat.yawAngle > 2*M_PI) { 547 pbSat.yawAngle -= (2*M_PI); 548 } 549 } 550 else if (key == "YawRate") { 551 _phaseBiasInformationDecoded = true; 552 in >> numVal >> pbSat.yawRate; 553 } 554 else if (key == "PhaseBias") { 555 _phaseBiasInformationDecoded = true; 556 in >> numVal; 557 for (int ii = 0; ii < numVal; ii++) { 558 phaseBiasSignal pb; 559 in >> pb.type >> pb.bias >> pb.integerIndicator 560 >> pb.wlIndicator >> pb.discontinuityCounter; 561 phaseBiasList.append(pb); 562 } 563 } 564 else { 565 in >> numVal; 566 for (int ii = 0; ii < numVal; ii++) { 567 double dummy; 568 in >> dummy; 569 } 570 emit(newMessage(" RTNET format error: " 571 + lines[ii].toLatin1(), false)); 572 } 573 } 574 575 struct SsrCorr::ClockOrbit::SatData* sd = 0; 626 576 if (prn.system() == 'G') { 627 biasSat = bias.Sat + bias.NumberOfSat[CLOCKORBIT_SATGPS];628 ++ bias.NumberOfSat[CLOCKORBIT_SATGPS];577 sd = co.Sat + co.NumberOfSat[CLOCKORBIT_SATGPS]; 578 ++co.NumberOfSat[CLOCKORBIT_SATGPS]; 629 579 } 630 580 else if (prn.system() == 'R') { 631 biasSat = bias.Sat + CLOCKORBIT_NUMGPS 632 + bias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 633 ++bias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 581 sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfSat[CLOCKORBIT_SATGLONASS]; 582 ++co.NumberOfSat[CLOCKORBIT_SATGLONASS]; 634 583 } 635 584 else if (prn.system() == 'E') { 636 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS637 + bias.NumberOfSat[CLOCKORBIT_SATGALILEO];638 ++ bias.NumberOfSat[CLOCKORBIT_SATGALILEO];585 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 586 + co.NumberOfSat[CLOCKORBIT_SATGALILEO]; 587 ++co.NumberOfSat[CLOCKORBIT_SATGALILEO]; 639 588 } 640 589 else if (prn.system() == 'J') { 641 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS642 643 + bias.NumberOfSat[CLOCKORBIT_SATQZSS];644 ++ bias.NumberOfSat[CLOCKORBIT_SATQZSS];590 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 591 + CLOCKORBIT_NUMGALILEO 592 + co.NumberOfSat[CLOCKORBIT_SATQZSS]; 593 ++co.NumberOfSat[CLOCKORBIT_SATQZSS]; 645 594 } 646 595 else if (prn.system() == 'S') { 647 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS648 649 + bias.NumberOfSat[CLOCKORBIT_SATSBAS];650 ++ bias.NumberOfSat[CLOCKORBIT_SATSBAS];596 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 597 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 598 + co.NumberOfSat[CLOCKORBIT_SATSBAS]; 599 ++co.NumberOfSat[CLOCKORBIT_SATSBAS]; 651 600 } 652 601 else if (prn.system() == 'C') { 653 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 654 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 655 + CLOCKORBIT_NUMSBAS 656 + bias.NumberOfSat[CLOCKORBIT_SATBDS]; 657 ++bias.NumberOfSat[CLOCKORBIT_SATBDS]; 658 } 659 } 660 661 if (biasSat) { 662 biasSat->ID = prn.number(); 663 biasSat->NumberOfCodeBiases = 0; 664 QMapIterator<QString, double> it(codeBiases); 665 while (it.hasNext()) { 666 it.next(); 667 int ii = biasSat->NumberOfCodeBiases; 668 if (ii >= CLOCKORBIT_NUMBIAS) 669 break; 670 SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), it.key().toStdString()); 671 if (type != _ssrCorr->RESERVED) { 672 biasSat->NumberOfCodeBiases += 1; 673 biasSat->Biases[ii].Type = type; 674 biasSat->Biases[ii].Bias = it.value(); 675 } 676 } 677 } 678 679 // Phase Biases 680 // ------------ 681 struct SsrCorr::PhaseBias::PhaseBiasSat* phasebiasSat = 0; 682 if (prn.system() == 'G') { 683 phasebiasSat = phasebias.Sat 684 + phasebias.NumberOfSat[CLOCKORBIT_SATGPS]; 685 ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS]; 686 } 687 else if (prn.system() == 'R') { 688 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS 689 + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 690 ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 691 } 692 else if (prn.system() == 'E') { 693 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 694 + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 695 ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 696 } 697 else if (prn.system() == 'J') { 698 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 699 + CLOCKORBIT_NUMGALILEO 700 + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS]; 701 ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS]; 702 } 703 else if (prn.system() == 'S') { 704 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 705 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 706 + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS]; 707 ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS]; 708 } 709 else if (prn.system() == 'C') { 710 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 711 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 712 + CLOCKORBIT_NUMSBAS 713 + phasebias.NumberOfSat[CLOCKORBIT_SATBDS]; 714 ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS]; 715 } 716 717 if (phasebiasSat && _phaseBiasInformationDecoded) { 718 phasebias.DispersiveBiasConsistencyIndicator = dispersiveBiasConsistenyIndicator; 719 phasebias.MWConsistencyIndicator = mwConsistencyIndicator; 720 phasebiasSat->ID = prn.number(); 721 phasebiasSat->NumberOfPhaseBiases = 0; 722 phasebiasSat->YawAngle = pbSat.yawAngle; 723 phasebiasSat->YawRate = pbSat.yawRate; 724 QListIterator<phaseBiasSignal> it(phaseBiasList); 725 while (it.hasNext()) { 726 const phaseBiasSignal &pbSig = it.next(); 727 int ii = phasebiasSat->NumberOfPhaseBiases; 728 if (ii >= CLOCKORBIT_NUMBIAS) 729 break; 730 SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), pbSig.type.toStdString()); 731 if (type != _ssrCorr->RESERVED) { 732 phasebiasSat->NumberOfPhaseBiases += 1; 733 phasebiasSat->Biases[ii].Type = type; 734 phasebiasSat->Biases[ii].Bias = pbSig.bias; 735 phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator; 736 phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator; 737 phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter; 602 sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 603 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 604 + CLOCKORBIT_NUMSBAS 605 + co.NumberOfSat[CLOCKORBIT_SATBDS]; 606 ++co.NumberOfSat[CLOCKORBIT_SATBDS]; 607 } 608 if (sd) { 609 QString outLine; 610 t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC, 611 rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine); 612 if (irc != success) {/* 613 // very few cases: check states bad and unhealthy are excluded earlier 614 sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries 615 sd->IOD = eph->IOD(); 616 */ 617 continue; 618 } 619 } 620 621 // Code Biases 622 // ----------- 623 struct SsrCorr::CodeBias::BiasSat* biasSat = 0; 624 if (!codeBiases.isEmpty()) { 625 if (prn.system() == 'G') { 626 biasSat = bias.Sat + bias.NumberOfSat[CLOCKORBIT_SATGPS]; 627 ++bias.NumberOfSat[CLOCKORBIT_SATGPS]; 628 } 629 else if (prn.system() == 'R') { 630 biasSat = bias.Sat + CLOCKORBIT_NUMGPS 631 + bias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 632 ++bias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 633 } 634 else if (prn.system() == 'E') { 635 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 636 + bias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 637 ++bias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 638 } 639 else if (prn.system() == 'J') { 640 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 641 + CLOCKORBIT_NUMGALILEO 642 + bias.NumberOfSat[CLOCKORBIT_SATQZSS]; 643 ++bias.NumberOfSat[CLOCKORBIT_SATQZSS]; 644 } 645 else if (prn.system() == 'S') { 646 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 647 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 648 + bias.NumberOfSat[CLOCKORBIT_SATSBAS]; 649 ++bias.NumberOfSat[CLOCKORBIT_SATSBAS]; 650 } 651 else if (prn.system() == 'C') { 652 biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 653 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 654 + CLOCKORBIT_NUMSBAS 655 + bias.NumberOfSat[CLOCKORBIT_SATBDS]; 656 ++bias.NumberOfSat[CLOCKORBIT_SATBDS]; 657 } 658 } 659 660 if (biasSat) { 661 biasSat->ID = prn.number(); 662 biasSat->NumberOfCodeBiases = 0; 663 QMapIterator<QString, double> it(codeBiases); 664 while (it.hasNext()) { 665 it.next(); 666 int ii = biasSat->NumberOfCodeBiases; 667 if (ii >= CLOCKORBIT_NUMBIAS) 668 break; 669 SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), it.key().toStdString()); 670 if (type != _ssrCorr->RESERVED) { 671 biasSat->NumberOfCodeBiases += 1; 672 biasSat->Biases[ii].Type = type; 673 biasSat->Biases[ii].Bias = it.value(); 674 } 675 } 676 } 677 678 // Phase Biases 679 // ------------ 680 struct SsrCorr::PhaseBias::PhaseBiasSat* phasebiasSat = 0; 681 if (prn.system() == 'G') { 682 phasebiasSat = phasebias.Sat 683 + phasebias.NumberOfSat[CLOCKORBIT_SATGPS]; 684 ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS]; 685 } 686 else if (prn.system() == 'R') { 687 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS 688 + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 689 ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS]; 690 } 691 else if (prn.system() == 'E') { 692 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 693 + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 694 ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO]; 695 } 696 else if (prn.system() == 'J') { 697 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 698 + CLOCKORBIT_NUMGALILEO 699 + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS]; 700 ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS]; 701 } 702 else if (prn.system() == 'S') { 703 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 704 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 705 + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS]; 706 ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS]; 707 } 708 else if (prn.system() == 'C') { 709 phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS 710 + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS 711 + CLOCKORBIT_NUMSBAS 712 + phasebias.NumberOfSat[CLOCKORBIT_SATBDS]; 713 ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS]; 714 } 715 716 if (phasebiasSat && _phaseBiasInformationDecoded) { 717 phasebias.DispersiveBiasConsistencyIndicator = dispersiveBiasConsistenyIndicator; 718 phasebias.MWConsistencyIndicator = mwConsistencyIndicator; 719 phasebiasSat->ID = prn.number(); 720 phasebiasSat->NumberOfPhaseBiases = 0; 721 phasebiasSat->YawAngle = pbSat.yawAngle; 722 phasebiasSat->YawRate = pbSat.yawRate; 723 QListIterator<phaseBiasSignal> it(phaseBiasList); 724 while (it.hasNext()) { 725 const phaseBiasSignal &pbSig = it.next(); 726 int ii = phasebiasSat->NumberOfPhaseBiases; 727 if (ii >= CLOCKORBIT_NUMBIAS) 728 break; 729 SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), pbSig.type.toStdString()); 730 if (type != _ssrCorr->RESERVED) { 731 phasebiasSat->NumberOfPhaseBiases += 1; 732 phasebiasSat->Biases[ii].Type = type; 733 phasebiasSat->Biases[ii].Bias = pbSig.bias; 734 phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator; 735 phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator; 736 phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter; 737 } 738 738 } 739 739 }
Note:
See TracChangeset
for help on using the changeset viewer.