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