[59] | 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 |
|
---|
| 57 | typedef enum _NMEA0183_BOOLEAN
|
---|
| 58 | {
|
---|
| 59 | NMEA_Unknown = 0,
|
---|
| 60 | True,
|
---|
| 61 | False
|
---|
| 62 | } NMEA0183_BOOLEAN;
|
---|
| 63 |
|
---|
| 64 | typedef enum _leftright
|
---|
| 65 | {
|
---|
| 66 | LR_Unknown = 0,
|
---|
| 67 | Left,
|
---|
| 68 | Right
|
---|
| 69 | } LEFTRIGHT;
|
---|
| 70 |
|
---|
| 71 | typedef enum _eastwest
|
---|
| 72 | {
|
---|
| 73 | EW_Unknown = 0,
|
---|
| 74 | East,
|
---|
| 75 | West
|
---|
| 76 | } EASTWEST;
|
---|
| 77 |
|
---|
| 78 | typedef enum
|
---|
| 79 | {
|
---|
| 80 | NS_Unknown = 0,
|
---|
| 81 | North,
|
---|
| 82 | South
|
---|
| 83 | } NORTHSOUTH;
|
---|
| 84 |
|
---|
| 85 | typedef enum
|
---|
| 86 | {
|
---|
| 87 | ReferenceUnknown = 0,
|
---|
| 88 | BottomTrackingLog,
|
---|
| 89 | ManuallyEntered,
|
---|
| 90 | WaterReferenced,
|
---|
| 91 | RadarTrackingOfFixedTarget,
|
---|
| 92 | PositioningSystemGroundReference
|
---|
| 93 | } REFERENCE;
|
---|
| 94 |
|
---|
| 95 | typedef 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 |
|
---|
| 110 | typedef 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 |
|
---|
| 129 | unsigned int HexValue( const char *hex_string );
|
---|
| 130 |
|
---|
| 131 | QString expand_talker_id( const QString & );
|
---|
| 132 | QString Hex( unsigned int value );
|
---|
| 133 | QString 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
|
---|