![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00007 00008 #ifndef DtRadioTransmitterRepository_H_ 00009 #define DtRadioTransmitterRepository_H_ 00010 00011 00012 #include "embedSystemSR.h" 00013 #include "antPatRec.h" 00014 #include "radioMod.h" 00015 #include <vlpi/thresholder.h> 00016 00017 #ifndef DT_ENUM_LONG_WORD_PORTION 00018 #define DT_ENUM_LONG_WORD_PORTION 00019 enum DtLongWordPortion 00020 { 00021 DtUpperWord, 00022 DtLowerWord 00023 }; 00024 #endif 00025 00026 00029 class DT_DLL_VL DtRadioTransmitterRepository : 00030 public DtEmbeddedSystemRepository 00031 { 00032 public: 00033 00035 DtRadioTransmitterRepository(); 00036 00038 virtual ~DtRadioTransmitterRepository(); 00039 00041 DtRadioTransmitterRepository(const DtRadioTransmitterRepository& orig); 00042 00044 DtRadioTransmitterRepository& operator=( 00045 const DtRadioTransmitterRepository& orig); 00046 00048 virtual DtStateRepository* clone(bool copy) const; 00049 00051 virtual void setAntennaPattern(const DtAntennaPatternRecord& rec); 00053 virtual const DtAntennaPatternRecord& antennaPattern() const; 00054 00056 virtual void setAntennaPatternType(DtAntennaPatternType pattern); 00058 virtual DtAntennaPatternType antennaPatternType() const; 00059 00061 virtual void setCryptoKeyId(DtU16 key); 00063 virtual DtU16 cryptoKeyId() const; 00064 00066 virtual void setCryptoMode(DtCryptoMode mode); 00068 virtual DtCryptoMode cryptoMode() const; 00069 00071 virtual void setCryptoSystem(DtRadioCryptoSystem system); 00072 virtual DtRadioCryptoSystem cryptoSystem() const; 00073 00075 virtual void setDetailedModulationType(DtDetailedModulationType modulation); 00077 virtual DtDetailedModulationType detailedModulationType() const; 00078 00081 virtual void setFrequency(unsigned long upper, unsigned long lower); 00082 virtual void setFrequency(unsigned long freq); 00083 00085 virtual unsigned long frequency( 00086 DtLongWordPortion upperLower = DtLowerWord) const; 00087 00090 virtual void setStreamTag(unsigned long upper, unsigned long lower); 00091 virtual void setStreamTag(unsigned long st); 00092 00094 virtual unsigned long streamTag( 00095 DtLongWordPortion upperLower = DtLowerWord) const; 00096 00098 virtual void setFrequencyBandwidth(DtFloat32 bandwidth); 00100 virtual DtFloat32 frequencyBandwidth() const; 00101 00103 virtual void setFrequencyHopInUse(bool hopInUse); 00105 virtual bool frequencyHopInUse() const; 00106 00108 virtual void setInputSource(DtRadioInputSource source); 00110 virtual DtRadioInputSource inputSource() const; 00111 00113 virtual void setModulationParams( 00114 const void *networkRepresentation, DtU8 size); 00115 virtual const void *modulationParamsAddr() const; 00116 virtual DtU8 modulationParamsLength() const; 00117 00119 virtual void setMajorModulationType(DtRadioMajorModulation modulation); 00121 virtual DtRadioMajorModulation majorModulationType() const; 00122 00124 virtual void setModulationSystemType(DtRadioSystem system); 00126 virtual DtRadioSystem modulationSystemType() const; 00127 00129 virtual void setPower(DtFloat32 power); 00131 virtual DtFloat32 power() const; 00132 00135 virtual void setPsuedoNoiseSpectrumInUse(bool inUse); 00138 virtual bool psuedoNoiseSpectrumInUse() const; 00139 00141 virtual void setPseudoNoiseSpectrumInUse(bool inUse); 00143 virtual bool pseudoNoiseSpectrumInUse() const; 00144 00146 virtual void setRadioId(unsigned int number); 00148 virtual unsigned int radioId() const; 00149 00151 virtual void setRadioEntityType(const DtRadioEntityType& type); 00153 virtual const DtRadioEntityType& radioEntityType() const; 00154 00156 virtual void setTimeHopInUse(bool inUse); 00158 virtual bool timeHopInUse() const; 00159 00161 virtual void setTransmitState(DtRadioTransmitState state); 00163 virtual DtRadioTransmitState transmitState() const; 00164 00166 virtual void setWorldAntennaLoc(const DtVector& location); 00168 virtual const DtVector& worldAntennaLoc() const; 00169 00172 virtual void setRelativeAntennaLoc(const DtVector& location); 00174 virtual const DtVector& relativeAntennaLoc() const; 00175 00176 00192 00193 00194 00198 virtual void setSpreadSpectrumType(DtSpreadSpectrumType ty); 00200 virtual DtSpreadSpectrumType spreadSpectrumType() const; 00201 00203 virtual void setFHNetId(DtU16 id); 00205 virtual DtU16 fHNetId() const; 00206 00208 virtual void setHopSetId(DtU16 id); 00209 virtual DtU16 hopSetId() const; 00210 00212 virtual void setLockoutSetId(DtU16 id); 00214 virtual DtU16 lockoutSetId() const; 00215 00217 virtual void setTransmissionSecurityKey(DtU16 key); 00219 virtual DtU16 transmissionSecurityKey() const; 00220 00222 virtual void setFHSynchronizationTimeOffset(DtU32 id); 00224 virtual DtU32 fHSynchronizationTimeOffset() const; 00225 00227 virtual void setClearChannel(DtU8 chan); 00229 virtual DtU8 clearChannel() const; 00230 00232 virtual void setStartOfMessage(DtStartMessage mess); 00234 virtual DtStartMessage startOfMessage() const; 00236 00237 00238 00247 00248 00250 00251 virtual void setFidelityLevel(DtU16 level); 00253 virtual DtU16 fidelityLevel() const; 00254 00258 virtual void setCommunicationMode(DtLink16CommunicationMode mode); 00260 virtual DtLink16CommunicationMode communicationMode() const; 00261 00263 virtual void setPrimaryMode(DtU16 mode); 00265 virtual DtU16 primaryMode() const; 00266 00268 virtual void setSecondaryMode(DtU16 mode); 00270 virtual DtU16 secondaryMode() const; 00271 00273 virtual void setSynchronizationState(DtU16 val); 00275 virtual DtU16 synchronizationState() const; 00276 00278 virtual void setNetworkSynchronizationId(int val); 00280 virtual int networkSynchronizationId() const; 00282 00283 virtual void printData() const; 00284 virtual void printDataToStream(std::ostream& stream) const; 00285 00286 virtual DtThresholder* thresholder(); 00287 virtual const DtThresholder& thresholder() const; 00288 00289 public: 00290 00291 static DtRadioTransmitterRepository* create(); 00292 00293 protected: 00294 00295 DtAntennaPatternType myAntennaPatternType; 00296 DtU16 myCryptoKeyId; 00297 DtCryptoMode myCryptoMode; 00298 DtRadioCryptoSystem myCryptoSystem; 00299 DtDetailedModulationType myDetailedModulation; 00300 unsigned long myFreqHi; 00301 unsigned long myFreqLo; 00302 DtU32 myStreamTagHi; 00303 DtU32 myStreamTagLo; 00304 DtFloat32 myFrequencyBandwidth; 00305 bool myFrequencyHopInUse; 00306 DtRadioInputSource myInputSource; 00307 char* myModulationParamsAddr; 00308 DtU8 myModulationParamsLength; 00309 DtAntennaPatternRecord* myAntPat; 00310 DtRadioMajorModulation myMajorModulationType; 00311 DtRadioSystem myModulationSystem; 00312 DtFloat32 myPower; 00313 bool myPseudoNoiseSpectrumInUse; 00314 DtU16 myTransmitterRadioNumber; 00315 DtRadioEntityType myRadioEntityType; 00316 bool myTimeHopInUse; 00317 DtRadioTransmitState myTransmitState; 00318 DtVector myWorldLocation; 00319 DtSpreadSpectrumType mySpreadSpectrumType; 00320 DtThresholder myThresholder; 00321 DtU16 myFHNetId; 00322 DtU16 myHopSetId; 00323 DtU16 myLockoutSetId; 00324 DtU16 myTransmissionSecurityKey; 00325 DtU32 myFHSynchronizationTimeOffset; 00326 DtU8 myClearChannel; 00327 DtStartMessage myStartOfMessage; 00328 DtU16 myFidelityLevel; 00329 DtLink16CommunicationMode myCommunicationMode; 00330 DtU16 myPrimaryMode; 00331 DtU16 mySecondaryMode; 00332 DtU16 mySynchronizationState; 00333 int myNetworkSynchronizationId; 00334 }; 00335 00336 #endif //DtRadioTransmitterRepository_H_ 00337