⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdpnavsubframe.hpp

📁 gps源代码
💻 HPP
字号:
#pragma ident "$Id: MDPNavSubframe.hpp 662 2007-07-01 14:24:38Z ocibu $"//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Copyright 2004, The University of Texas at Austin////============================================================================//============================================================================////This software developed by Applied Research Laboratories at the University of//Texas at Austin, under contract to an agency or agencies within the U.S. //Department of Defense. The U.S. Government retains all rights to use,//duplicate, distribute, disclose, or release this software. ////Pursuant to DoD Directive 523024 //// DISTRIBUTION STATEMENT A: This software has been approved for public //                           release, distribution is unlimited.////=============================================================================#ifndef MDPNAVSUBFRAME_HPP#define MDPNAVSUBFRAME_HPP#include <vector>#include "miscenum.hpp"#include "MDPHeader.hpp"namespace gpstk{   /// This class represents a Navigation Subframe Message.   class MDPNavSubframe : public MDPHeader   {   public:      MDPNavSubframe() throw();               /**  Encode this object to a string.       * @return this object as a string.       */      virtual std::string encode() const throw();               /** Decode this object from a string.       * @param str the string to read from.       * @note This is a non-destructive decode.       */      virtual void decode(std::string str)         throw();      // Return the seconds of week computed from the HOW      unsigned long getHOWTime() const throw();      // extract the SFID from the HOW       unsigned int getSFID() const throw();      // extract the SVID from word 3 of an almanac page      unsigned int getSVID() const throw();      void fillArray(long out[10]) const      { for(int i=1; i<=10; i++) out[i-1]=subframe[i];};      void fillArray(uint32_t out[10]) const      { for(int i=1; i<=10; i++) out[i-1]=subframe[i];};      // This is an experiment. It inverts words based upon the D30      // of the previous word. Don't do this unless there is some reason      // to believe that the D30 bits are accurate. Like the subframe      // has passed its parity check.      void cookSubframe() throw();            /** Check the parity of the subframe.       * @return true if the parity check passes       **/      bool checkParity() const throw();      virtual std::string getName() const {return "nav";}      /** Dump some debugging information to the given ostream.       * @param out the ostream to write to (default: cout)       * @param level the level of debugging to provide (default: 0)       */      void dump(std::ostream& out) const throw();      int prn;              ///< The SV's PRN.      CarrierCode carrier;  ///< This NavSubframe's carrier frequency code.      RangeCode range;      ///< This NavSubframe's range code.      NavCode nav;          ///< This NavSubframe's nav code.         /** The Navigation Subframe. 10 4-byte words.  There are 11       * elements to facilitate access to elements 1-10. */      std::vector<uint32_t> subframe;      // These are not actually encoded in the message but are used      // in the parity checking      bool cooked;     ///< true if the bits have been set upright      bool inverted;   ///< true when entire subframe has been inverted      static const unsigned myLength = 44;      static const unsigned myId = 310;   }; // class MDPNavSubframe   // These used to group together a set of nav subframes, indexed by the   // subframe number. It is used in building up a complete a complete    // ephemeris from an SV.   typedef std::map<short, MDPNavSubframe> EphemerisPages;   void dump(std::ostream& out, const EphemerisPages& pages) throw();   // First element is the page number, as determined from the HOW TOW   // i.e. page = tow % 750   typedef std::pair<short, short> SubframePage;   typedef std::map<SubframePage, MDPNavSubframe> AlmanacPages;   void dump(std::ostream& out, const AlmanacPages& pages) throw();} // namespace gpstk#endif //  MDPNAVSUBFRAME_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -