source: pacpusframework/branches/2.0-beta1/src/TestComponents/CPT/NMEA0183/include/nmea0183.hpp@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 7.4 KB
Line 
1#if ! defined( NMEA_0183_CLASS_HEADER )
2
3#define NMEA_0183_CLASS_HEADER
4
5/*
6** Author: Samuel R. Blackburn
7** Internet: sam_blackburn@pobox.com
8**
9** You can use it any way you like as long as you don't try to sell it.
10**
11** Copyright, 1996, Samuel R. Blackburn
12**
13** $Workfile: nmea0183.hpp $
14** $Revision: 5 $
15** $Modtime: 10/10/98 3:03p $
16*/
17#ifndef WIN32
18typedef unsigned short WORD;
19#endif
20
21/*
22** General Purpose Classes
23*/
24
25#include "Sentence.hpp"
26#include "Response.hpp"
27#include "LatLong.hpp"
28#include "LoranTD.hpp"
29#include "Manufact.hpp"
30#include "MList.hpp"
31#include "OmegaPar.hpp"
32#include "DeccaLOP.hpp"
33#include "RatioPls.hpp"
34#include "RadarDat.hpp"
35#include "SatDat.hpp"
36#include "FreqMode.hpp"
37#include "WayptLoc.hpp" // Sentence Not Recommended For New Designs
38
39/*
40** Response Classes
41*/
42
43#include "AAM.hpp"
44#include "ALM.hpp"
45#include "APB.hpp"
46#include "ASD.hpp"
47#include "BEC.hpp"
48#include "BOD.hpp"
49#include "BWC.hpp"
50#include "BWR.hpp"
51#include "BWW.hpp"
52#include "DBT.hpp"
53#include "DCN.hpp"
54#include "DPT.hpp"
55#include "FSI.hpp"
56#include "GDA.hpp" // Sentence Not Recommended For New Designs
57#include "GDF.hpp" // Sentence Not Recommended For New Designs
58#include "GDP.hpp" // Sentence Not Recommended For New Designs
59#include "GGA.hpp"
60#include "GLA.hpp" // Sentence Not Recommended For New Designs
61#include "GLC.hpp"
62#include "GLF.hpp" // Sentence Not Recommended For New Designs
63#include "GLL.hpp"
64#include "GLP.hpp" // Sentence Not Recommended For New Designs
65#include "GOA.hpp" // Sentence Not Recommended For New Designs
66#include "GOF.hpp" // Sentence Not Recommended For New Designs
67#include "GOP.hpp" // Sentence Not Recommended For New Designs
68#include "GSA.hpp"
69#include "GST.hpp" // ajouté par moi
70#include "GSV.hpp"
71#include "GTD.hpp" // Sentence Not Recommended For New Designs
72#include "GXA.hpp"
73#include "GXF.hpp" // Sentence Not Recommended For New Designs
74#include "GXP.hpp" // Sentence Not Recommended For New Designs
75#include "HCC.hpp" // Sentence Not Recommended For New Designs
76#include "HDG.hpp"
77#include "HDM.hpp" // Sentence Not Recommended For New Designs
78#include "HDT.hpp"
79#include "HSC.hpp"
80#include "IMA.hpp" // Sentence Not Recommended For New Designs
81#include "LCD.hpp"
82#include "MHU.hpp" // Sentence Not Recommended For New Designs
83#include "MTA.hpp" // Sentence Not Recommended For New Designs
84#include "MTW.hpp"
85#include "MWV.hpp"
86#include "OLN.hpp"
87#include "OSD.hpp"
88#include "P.hpp"
89#include "RMA.hpp"
90#include "RMB.hpp"
91#include "RMC.hpp"
92#include "ROT.hpp"
93#include "RPM.hpp"
94#include "RSA.hpp"
95#include "RSD.hpp"
96#include "RTE.hpp"
97#include "SFI.hpp"
98#include "STN.hpp"
99#include "TEP.hpp" // Sentence Not Recommended For New Designs
100#include "TRF.hpp"
101#include "TTM.hpp"
102#include "VBW.hpp"
103#include "VDR.hpp"
104#include "VHW.hpp"
105#include "VLW.hpp"
106#include "VPW.hpp"
107#include "VTG.hpp"
108#include "VWE.hpp" // Sentence Not Recommended For New Designs
109#include "WCV.hpp"
110#include "WDC.hpp" // Sentence Not Recommended For New Designs
111#include "WDR.hpp" // Sentence Not Recommended For New Designs
112#include "WNC.hpp"
113#include "WPL.hpp"
114#include "XDR.hpp"
115#include "XTE.hpp"
116#include "XTR.hpp"
117#include "ZDA.hpp"
118#include "ZFI.hpp" // Sentence Not Recommended For New Designs
119#include "ZFO.hpp"
120#include "ZLZ.hpp" // Sentence Not Recommended For New Designs
121#include "ZPI.hpp" // Sentence Not Recommended For New Designs
122#include "ZTA.hpp" // Sentence Not Recommended For New Designs
123#include "ZTE.hpp" // Sentence Not Recommended For New Designs
124#include "ZTG.hpp"
125#include "ZTI.hpp" // Sentence Not Recommended For New Designs
126#include "ZWP.hpp" // Sentence Not Recommended For New Designs
127#include "ZZU.hpp" // Sentence Not Recommended For New Designs
128
129
130class NMEA0183
131{
132 private:
133
134 SENTENCE m_Sentence;
135
136 void m_Initialize( void );
137
138 protected:
139
140 QVector<RESPONSE*> m_ResponseTable;
141
142 void m_SetContainerPointers( void );
143 void m_SortResponseTable( void );
144
145 public:
146
147 NMEA0183();
148 virtual ~NMEA0183();
149
150 /*
151 ** NMEA 0183 Sentences we understand
152 */
153
154 AAM Aam;
155 ALM Alm;
156 APB Apb;
157 ASD Asd;
158 BEC Bec;
159 BOD Bod;
160 BWC Bwc;
161 BWR Bwr;
162 BWW Bww;
163 DBT Dbt;
164 DCN Dcn;
165 DPT Dpt;
166 FSI Fsi;
167 GDA Gda; // Sentence Not Recommended For New Designs
168 GDF Gdf; // Sentence Not Recommended For New Designs
169 GDP Gdp; // Sentence Not Recommended For New Designs
170 GGA Gga;
171 GLA Gla; // Sentence Not Recommended For New Designs
172 GLC Glc;
173 GLF Glf; // Sentence Not Recommended For New Designs
174 GLL Gll;
175 GLP Glp; // Sentence Not Recommended For New Designs
176 GOA Goa; // Sentence Not Recommended For New Designs
177 GOF Gof; // Sentence Not Recommended For New Designs
178 GOP Gop; // Sentence Not Recommended For New Designs
179 GSA Gsa;
180 GST Gst; // ajouté par moi
181 GSV Gsv;
182 GTD Gtd; // Sentence Not Recommended For New Designs
183 GXA Gxa;
184 GXF Gxf; // Sentence Not Recommended For New Designs
185 GXP Gxp; // Sentence Not Recommended For New Designs
186 HCC Hcc; // Sentence Not Recommended For New Designs
187 HDG Hdg;
188 HDM Hdm; // Sentence Not Recommended For New Designs
189 HDT Hdt;
190 HSC Hsc;
191 IMA Ima; // Sentence Not Recommended For New Designs
192 LCD Lcd;
193 MHU Mhu; // Sentence Not Recommended For New Designs
194 MTA Mta; // Sentence Not Recommended For New Designs
195 MTW Mtw;
196 MWV Mwv;
197 OLN Oln;
198 OSD Osd;
199 P Proprietary;
200 RMA Rma;
201 RMB Rmb;
202 RMC Rmc;
203 ROT Rot;
204 RPM Rpm;
205 RSA Rsa;
206 RSD Rsd;
207 RTE Rte;
208 SFI Sfi;
209 STN Stn;
210 TEP Tep; // Sentence Not Recommended For New Designs
211 TRF Trf;
212 TTM Ttm;
213 VBW Vbw;
214 VDR Vdr;
215 VHW Vhw;
216 VLW Vlw;
217 VPW Vpw;
218 VTG Vtg;
219 VWE Vwe; // Sentence Not Recommended For New Designs
220 WCV Wcv;
221 WDC Wdc; // Sentence Not Recommended For New Designs
222 WDR Wdr; // Sentence Not Recommended For New Designs
223 WNC Wnc;
224 WPL Wpl;
225 XDR Xdr;
226 XTE Xte;
227 XTR Xtr;
228 ZDA Zda;
229 ZFI Zfi; // Sentence Not Recommended For New Designs
230 ZFO Zfo;
231 ZLZ Zlz; // Sentence Not Recommended For New Designs
232 ZPI Zpi; // Sentence Not Recommended For New Designs
233 ZTA Zta; // Sentence Not Recommended For New Designs
234 ZTE Zte; // Sentence Not Recommended For New Designs
235 ZTI Zti; // Sentence Not Recommended For New Designs
236 ZTG Ztg;
237 ZWP Zwp; // Sentence Not Recommended For New Designs
238 ZZU Zzu; // Sentence Not Recommended For New Designs
239
240
241 QString ErrorMessage; // Filled when Parse returns FALSE
242 QString LastSentenceIDParsed; // ID of the lst sentence successfully parsed
243 QString LastSentenceIDReceived; // ID of the last sentence received, may not have parsed successfully
244 QString PlainText; // A human-readable string of text that explains what just happened
245
246 QString TalkerID;
247 QString ExpandedTalkerID;
248
249 virtual BOOL IsGood( void ) const;
250 virtual BOOL Parse( void );
251 //virtual void Serialize( CArchive& archive );
252
253 NMEA0183& operator << ( const char *source );
254 NMEA0183& operator >> ( QString& destination );
255};
256
257#endif // NMEA_0183_CLASS_HEADER
Note: See TracBrowser for help on using the repository browser.