VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
transmitterState.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
10 #pragma once
11 
13 
14 #include <string>
15 #include <vlpi/entityType.h>
16 #include <matrix/vlVector.h>
17 #include <vector>
18 
19 
21 {
22 public:
23  enum ModulationSystemType {ModulationSystemType_OTHER, ModulationSystemType_GENERIC, ModulationSystemType_HQ, ModulationSystemType_HQII, ModulationSystemType_HQIIA, ModulationSystemType_SINCGARS, ModulationSystemType_CCTT_SINCGARS, ModulationSystemType_EPLRS, ModulationSystemType_JTIDS};
24  enum ModulationDetailAplitudeAngleType {ModulationDetailAplitudeAngleType_OTHER, ModulationDetailAplitudeAngleType_APLITUDE_ANGLE};
25  enum ClearChannel {ClearChannel_NOT_CLEAR, ClearChannel_CLEAR};
26  enum CryptoSystem {CryptoSystem_OTHER, CryptoSystem_KY_28, CryptoSystem_VINSON, CryptoSystem_NSVE, CryptoSystem_WSVE, CryptoSystem_SINGARS_ICOM, CryptoSystem_KY_75, CryptoSystem_KY_100};
27  enum ModulationDetailPulseType {ModulationDetailPulseType_OTHER, ModulationDetailPulseType_PULSE, ModulationDetailPulseType_X_BAND, ModulationDetailPulseType_Y_BAND};
28  enum InputSource {InputSource_OTHER, InputSource_PILOT, InputSource_COPILOT, InputSource_FIRST_OFFICER, InputSource_DRIVER, InputSource_LOADER, InputSource_GUNNER, InputSource_COMMANDER, InputSource_DIGITAL_DATA_DEVICE, InputSource_INTERCOM};
29  enum ReferenceSystem {ReferenceSystem_WORLDCOORD=1, ReferenceSystem_ENTITYCOORD=2};
30  enum ModulationDetailCombinationType {ModulationDetailCombinationType_OTHER, ModulationDetailCombinationType_AMPLITUDE_ANGLE_PULSE};
31  enum ModulationMajorType {ModulationMajorType_OTHER, ModulationMajorType_AMPLITUDE, ModulationMajorType_AMPLITUDE_ANGLE, ModulationMajorType_ANGLE=3, ModulationMajorType_COMBINATION=4, ModulationMajorType_PULSE=5, ModulationMajorType_UNMODULATED=6, ModulationMajorType_CARRIER_PHASE_SHIFT=7};
32  enum TransmitTerminalSecondaryMode {TransmitTerminalSecondaryMode_NONE, TransmitTerminalSecondaryMode_NET_POSITION_REFERENCE, TransmitTerminalSecondaryMode_PRIMARY_NAVIGATION_CONTROLLER, TransmitTerminalSecondaryMode_SECONDARY_NAVIGATION_CONTROLLER};
33  enum TransmitState {TransmitState_OFF, TransmitState_RADIO_ON_NOT_TRANSMITTING, TransmitState_ON};
34  enum CryptoMode {CryptoMode_BASEBAND, CryptoMode_DIPHASE};
35  enum StartOfMessage {StartOfMessage_NOT_START, StartOfMessage_START};
36  enum TransmitTerminalPrimaryMode {TransmitTerminalPrimaryMode_NTR, TransmitTerminalPrimaryMode_JTIDS};
37  enum SyncState {SyncState_COURSE=1, SyncState_FINE=2};
38  enum ModulationDetailCarrierPhaseShiftType {ModulationDetailCarrierPhaseShiftType_OTHER };
39  enum ModulationDetailUnmodulatedType {ModulationDetailUnmodulatedType_OTHER, ModulationDetailUnmodulatedType_CONTINOUS_WAVE};
40  enum ModulationDetailAngleType {ModulationDetailAngleType_OTHER, ModulationDetailAngleType_FM, ModulationDetailAngleType_FSK, ModulationDetailAngleType_PM};
41  enum ModulationDetailAplitudeType {ModulationDetailAplitudeType_OTHER, ModulationDetailAplitudeType_AFSK, ModulationDetailAplitudeType_AM, ModulationDetailAplitudeType_CW, ModulationDetailAplitudeType_DSB, ModulationDetailAplitudeType_ISB, ModulationDetailAplitudeType_LSB, ModulationDetailAplitudeType_SSB_FULL, ModulationDetailAplitudeType_SSB_REDUC, ModulationDetailAplitudeType_USB, ModulationDetailAplitudeType_VSB};
42  enum AntennaPatternType {AntennaPatternType_OMNIDIRECTIONAL=0, AntennaPatternType_BEAM=1, AntennaPatternType_SPHERICALHARMONIC=2};
43 
44 
46  {
47  unsigned char myOrder;
48  std::vector<float> myCoefficients;
50 
51 
52  int size()
53  {
54  int size=0;
55  size+=sizeof(unsigned char);
56  size+=4; //for the count of the items in the list
57  for(unsigned int i=0; i<myCoefficients.size(); i++)
58  {
59  size+=sizeof(float);
60  }
61 
62  size+=sizeof(int);
63 
64  return size;
65  }
66 
67  void serialize(DtStreamWriter& writer)
68  {
69  writer.writeUInt8(myOrder);
70  writer.writeInt32(myCoefficients.size()); //for the count of the items in the list
71  for(unsigned int i=0; i<myCoefficients.size(); i++)
72  {
73  writer.writeSingle(myCoefficients[i]);
74  }
75 
76  writer.writeInt32((int)myReferenceSystem);
77 
78  }
79 
80  void deserialize(DtStreamReader& reader)
81  {
82  myOrder=reader.readUInt8();
83  unsigned int myCoefficients_count=reader.readInt32(); //for the count of the items in the list
84  for(unsigned int i=0; i<myCoefficients_count; i++)
85  {
86  float afloat;
87  afloat=reader.readSingle();
88  myCoefficients.push_back(afloat);
89  }
90  myReferenceSystem=(ReferenceSystem)reader.readInt32();
91 
92  }
93  };
94 
95 
97  {
99  unsigned short myDetail;
101 
102 
103  int size()
104  {
105  int size=0;
106  size+=sizeof(int);
107  size+=sizeof(unsigned short);
108  size+=sizeof(int);
109 
110  return size;
111  }
112 
113  void serialize(DtStreamWriter& writer)
114  {
115  writer.writeInt32((int)myMajor);
116  writer.writeUInt16(myDetail);
117  writer.writeInt32((int)mySystem);
118 
119  }
120 
121  void deserialize(DtStreamReader& reader)
122  {
123  myMajor=(ModulationMajorType)reader.readInt32();
124  myDetail=reader.readUInt16();
125  mySystem=(ModulationSystemType)reader.readInt32();
126 
127  }
128  };
129 
130 
132  {
133 
134 
135  int size()
136  {
137  int size=0;
138 
139  return size;
140  }
141 
142  void serialize(DtStreamWriter& writer)
143  {
144 
145  }
146 
147  void deserialize(DtStreamReader& reader)
148  {
149 
150  }
151  };
152 
153 
155  {
160  float myEZ;
161  float myEX;
162  float myPhase;
163 
164 
165  int size()
166  {
167  int size=0;
168  size+=sizeof(double)*3;
169  size+=sizeof(float);
170  size+=sizeof(float);
171  size+=sizeof(int);
172  size+=sizeof(float);
173  size+=sizeof(float);
174  size+=sizeof(float);
175 
176  return size;
177  }
178 
179  void serialize(DtStreamWriter& writer)
180  {
181  writer.writeDouble(myOrientation.psi());
182  writer.writeDouble(myOrientation.theta());
183  writer.writeDouble(myOrientation.phi());
184 
185  writer.writeSingle(myAzimuthBeamWidth);
186  writer.writeSingle(myElevationBeamWidth);
187  writer.writeInt32((int)myReferenceSystem);
188  writer.writeSingle(myEZ);
189  writer.writeSingle(myEX);
190  writer.writeSingle(myPhase);
191 
192  }
193 
194  void deserialize(DtStreamReader& reader)
195  {
196  myOrientation.setPsi(reader.readDouble());
197  myOrientation.setTheta(reader.readDouble());
198  myOrientation.setPhi(reader.readDouble());
199 
200  myAzimuthBeamWidth=reader.readSingle();
201  myElevationBeamWidth=reader.readSingle();
202  myReferenceSystem=(ReferenceSystem)reader.readInt32();
203  myEZ=reader.readSingle();
204  myEX=reader.readSingle();
205  myPhase=reader.readSingle();
206 
207  }
208  };
209 
210 
211 
212 
214  virtual ~TransmitterStateMessage();
215 
216  virtual std::string getEntityId();
217  virtual void setEntityId(std::string val);
218 
219  virtual unsigned short getRadioId();
220  virtual void setRadioId(unsigned short val);
221 
222  virtual std::string getHostObjectId();
223  virtual void setHostObjectId(std::string val);
224 
225  virtual DtEntityType getRadioEntityType();
226  virtual void setRadioEntityType(DtEntityType val);
227 
228  virtual TransmitState getTransmitState();
229  virtual void setTransmitState(TransmitState val);
230 
231  virtual InputSource getInputSource();
232  virtual void setInputSource(InputSource val);
233 
234  virtual DtVector getWorldAntennaLocation();
235  virtual void setWorldAntennaLocation(DtVector val);
236 
237  virtual DtVector32 getRelativeAntennaLocation();
238  virtual void setRelativeAntennaLocation(DtVector32 val);
239 
240  virtual AntennaPatternType getAntennaPatternType();
241  virtual void setAntennaPatternType(AntennaPatternType val);
242 
243  virtual unsigned long long getFrequency();
244  virtual void setFrequency(unsigned long long val);
245 
246  virtual float getTransmitBandwidth();
247  virtual void setTransmitBandwidth(float val);
248 
249  virtual float getPower();
250  virtual void setPower(float val);
251 
252  virtual ModulationType getModulationType();
253  virtual void setModulationType(ModulationType val);
254 
255  virtual CryptoMode getCryptoMode();
256  virtual void setCryptoMode(CryptoMode val);
257 
258  virtual CryptoSystem getCryptoSystem();
259  virtual void setCryptoSystem(CryptoSystem val);
260 
261  virtual unsigned short getCryptoKey();
262  virtual void setCryptoKey(unsigned short val);
263 
264  virtual std::vector<unsigned char> getModulationParameters();
265  virtual void setModulationParameters(std::vector<unsigned char> val);
266 
267  virtual std::vector<unsigned char> getAntennaPatternParameters();
268  virtual void setAntennaPatternParameters(std::vector<unsigned char> val);
269 
270  virtual bool getFreqHopInUse();
271  virtual void setFreqHopInUse(bool val);
272 
273  virtual bool getPseudoNoiseInUse();
274  virtual void setPseudoNoiseInUse(bool val);
275 
276  virtual bool getTimeHopInUse();
277  virtual void setTimeHopInUse(bool val);
278 
279 
280 
281  virtual int messageSize();
282 
283  static DtMessage* decode(unsigned char* buffer, int length);
284  static std::string theMessageName();
285 
286 protected:
287  static std::string theFullName;
288 
289  std::string myEntityId;
290  unsigned short myRadioId;
291  std::string myHostObjectId;
298  unsigned long long myFrequency;
300  float myPower;
304  unsigned short myCryptoKey;
305  std::vector<unsigned char> myModulationParameters;
306  std::vector<unsigned char> myAntennaPatternParameters;
310 
311  virtual void serialize(DtStreamWriter& writer);
312  virtual void deserialize(DtStreamReader& reader);
313 };

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)