source: ntrip/trunk/BNC/src/RTCM/RTCM2Decoder.h @ 8234

Last change on this file since 8234 was 8234, checked in by stuerze, 21 months ago

antenna and receiver info from message type 1007, 1008 and 1033 completed

File size: 2.3 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25#ifndef INC_RTCM2DECODER_H
26#define INC_RTCM2DECODER_H
27
28#include <map>
29#include <vector>
30#include <list>
31#include <stdio.h>
32
33#include "GPSDecoder.h"
34#include "RTCM2.h"
35#include "RTCM2_2021.h"
36#include "ephemeris.h"
37#include "bncephuser.h"
38
39class RTCM2Decoder: public GPSDecoder {
40
41  public:
42    RTCM2Decoder(const std::string& ID);
43    virtual ~RTCM2Decoder();
44    virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg);
45
46    t_irc getStaCrd(double& xx, double& yy, double& zz);
47
48    t_irc getStaCrd(double& xx,  double& yy,  double& zz,
49                    double& dx1, double& dy1, double& dz1,
50                    double& dx2, double& dy2, double& dz2);
51
52    const rtcm2::RTCM2_2021& msg2021() const { return _msg2021; }
53
54    std::string ID() const { return _ID; }
55
56  private:
57
58    void translateCorr2Obs(std::vector<std::string>& errmsg);
59
60    QMutex             _mutex;
61    std::string        _ID;
62    std::string        _buffer;
63    rtcm2::RTCM2packet _PP;
64
65    // for messages 18, 19 decoding
66    rtcm2::RTCM2_Obs   _ObsBlock;
67
68    // for messages 20, 21 decoding
69    rtcm2::RTCM2_03    _msg03;
70    rtcm2::RTCM2_22    _msg22;
71    rtcm2::RTCM2_23    _msg23;
72    rtcm2::RTCM2_24    _msg24;
73    rtcm2::RTCM2_2021  _msg2021;
74    bncEphUser         _ephUser;
75};
76
77#endif  // include blocker
Note: See TracBrowser for help on using the repository browser.