source: pacpussensors/trunk/NMEA0183/include/nmea0183.h@ 59

Last change on this file since 59 was 59, checked in by DHERBOMEZ Gérald, 10 years ago

Integration of new modules:

  • GPS NMEA0183 decoder
  • Span CPT Decoder

Update of:

File size: 2.9 KB
Line 
1#if ! defined( NMEA_0183_HEADER )
2
3#define NMEA_0183_HEADER
4
5/*
6** Author: Samuel R. Blackburn
7** Internet: sam_blackburn@pobox.com
8**q
9** You can use it any way you like as long as you don't try to sell it.
10**
11** Copyright, 1998, Samuel R. Blackburn
12**
13** $Workfile: nmea0183.h $
14** $Revision: 6 $
15** $Modtime: 10/13/98 6:37a $
16*/
17
18/*
19** Updates : Maria Alwan & G�rald Dherbomez
20** Date : 14/09/2005
21** purpose : use of Qt API instead of MFC
22** source code may be compatible with Windows, Linux and Mac
23** tested with Qt3.3.3 API under Windows
24*/
25
26#include <stdio.h>
27
28#ifdef WIN32
29#include <windows.h>
30#endif
31
32#include <QString>
33#include <QVector>
34#include <QDateTime>
35
36
37/*
38** Now include the math stuff for some calculations in the COORDINATE class
39*/
40
41#include <math.h>
42
43/*
44** Turn off the warning about precompiled headers, it is rather annoying
45*/
46
47#pragma warning( disable : 4699 )
48
49#if ! defined( CARRIAGE_RETURN )
50#define CARRIAGE_RETURN 0x0D
51#endif
52
53#if ! defined( LINE_FEED )
54#define LINE_FEED 0x0A
55#endif
56
57typedef enum _NMEA0183_BOOLEAN
58{
59 NMEA_Unknown = 0,
60 True,
61 False
62} NMEA0183_BOOLEAN;
63
64typedef enum _leftright
65{
66 LR_Unknown = 0,
67 Left,
68 Right
69} LEFTRIGHT;
70
71typedef enum _eastwest
72{
73 EW_Unknown = 0,
74 East,
75 West
76} EASTWEST;
77
78typedef enum
79{
80 NS_Unknown = 0,
81 North,
82 South
83} NORTHSOUTH;
84
85typedef enum
86{
87 ReferenceUnknown = 0,
88 BottomTrackingLog,
89 ManuallyEntered,
90 WaterReferenced,
91 RadarTrackingOfFixedTarget,
92 PositioningSystemGroundReference
93} REFERENCE;
94
95typedef enum
96{
97 CommunicationsModeUnknown = 0,
98 F3E_G3E_SimplexTelephone = 'd',
99 F3E_G3E_DuplexTelephone = 'e',
100 J3E_Telephone = 'm',
101 H3E_Telephone = 'o',
102 F1B_J2B_FEC_NBDP_TelexTeleprinter = 'q',
103 F1B_J2B_ARQ_NBDP_TelexTeleprinter = 's',
104 F1B_J2B_ReceiveOnlyTeleprinterDSC = 'w',
105 A1A_MorseTapeRecorder = 'x',
106 A1A_MorseKeyHeadset = '{',
107 F1C_F2C_F3C_FaxMachine = '|'
108} COMMUNICATIONS_MODE;
109
110typedef enum
111{
112 TransducerUnknown = 0,
113 AngularDisplacementTransducer = 'A',
114 TemperatureTransducer = 'C',
115 LinearDisplacementTransducer = 'D',
116 FrequencyTransducer = 'F',
117 HumidityTransducer = 'H',
118 ForceTransducer = 'N',
119 PressureTransducer = 'P',
120 FlowRateTransducer = 'R',
121 TachometerTransducer = 'T',
122 VolumeTransducer = 'V'
123} TRANSDUCER_TYPE;
124
125/*
126** Misc Function Prototypes
127*/
128
129unsigned int HexValue( const char *hex_string );
130
131QString expand_talker_id( const QString & );
132QString Hex( unsigned int value );
133QString talker_id( const QString& sentence );
134
135#ifndef BOOL
136#define BOOL bool
137#endif
138
139#include "nmea0183.hpp"
140
141#endif // NMEA0183_HEADER
Note: See TracBrowser for help on using the repository browser.