VR-Link API Documentation for DIS
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtSignalPdu Class Reference

Instances of DtSignalPdu are used to send simulated signal data. More...

+ Inheritance diagram for DtSignalPdu:
+ Collaboration diagram for DtSignalPdu:

List of all members.

Public Types

enum  { PduStaticSize = 32 }

Public Member Functions

 DtSignalPdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Default constructor.
 DtSignalPdu (const DtNetSignalPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Constructor that creates a DtSignalPdu based on a network layout PDU.
virtual void printData () const
 Prints the signal's data to DtInfo.
virtual void printDataToStream (std::ostream &stream) const
 Prints the signal's data to the specified stream.
const DtEntityIdentifierentityId () const
 Set/get signal entity identifier.
void setEntityId (const DtEntityIdentifier &id)
 Set/get signal entity identifier.
unsigned int radioId () const
 Set/get signal radio identifier.
void setRadioId (unsigned int id)
 Set/get signal radio identifier.
DtEncodingClass encodingClass () const
 Set/get signal encoding class.
void setEncodingClass (DtEncodingClass encodingClass)
 Set/get signal encoding class.
unsigned int encodingType () const
 Set/get signal encoding type.
void setEncodingType (unsigned int codeType)
 Set/get signal encoding type.
long sampleRate () const
 Set/get signal sample rate.
void setSampleRate (long rate)
 Set/get signal sample rate.
int numDataBits () const
 Set/get signal number of bits in message.
void setNumDataBits (int lengthInBits)
 Set/get signal number of bits in message.
int numDataBytes () const
 Set/get signal number of bytes in message.
void setNumDataBytes (int lengthInBytes)
 Set/get signal number of bytes in message.
int numSamples () const
 Set/get signal number of samples in message.
void setNumSamples (int numSamples)
 Set/get signal number of bytes in message.
unsigned char dataByte (int byteNum) const
 Set/get signal a data byte.
void setDataByte (int byteNum, unsigned char data)
 Set/get signal a data byte.
void getData (unsigned char *buff) const
 Set/get multiple data bytes.
void * data () const
 Set/get multiple data bytes.
void setData (unsigned char *data, int numBytes)
 Set/get multiple data bytes.
int tdlType () const
 Set/get signal TDL type.
void setTdlType (int type)
 Set/get signal TDL type.

Static Public Member Functions

static DtPducreate (const DtNetPacket *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Create a DtIntercomSignalPdu.
static void addCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr)
 Add (register) function to be called when pdu is received.
static void removeCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr)
 Remove function to be called when a signal PDU is received.

Protected Member Functions

DtPduKind internalGetPduKind () const
 Returns the PDU kind associated with the derived PDU class.

Protected Attributes

DtEntityIdentifier theId

Detailed Description

Instances of DtSignalPdu are used to send simulated signal data.

It should be noted that some methods exist in HLA's DtSignalInteraction that do not exist here, as the data is simply packed in the data portion of the PDU.


Member Enumeration Documentation

anonymous enum
Enumerator:
PduStaticSize 

Constructor & Destructor Documentation

Default constructor.

Constructor that creates a DtSignalPdu based on a network layout PDU.


Member Function Documentation

static void DtSignalPdu::addCallback ( DtExerciseConn conn,
DtSignalInteractionCb  cb,
void *  usr 
) [static]

Add (register) function to be called when pdu is received.

static DtPdu* DtSignalPdu::create ( const DtNetPacket initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER 
) [static]

Create a DtIntercomSignalPdu.

Caller is responsible for deletion.

void* DtSignalPdu::data ( ) const

Set/get multiple data bytes.

Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:

  1. Protocol ID shall be contained in the first 32 bits of the data for application specific radio signals.
  2. Database Index shall be contained in bytes 0-3 of the data for database index radio signals.
  3. Start Offset shall be contained in bytes 4-7 of the data for database index radio signals.
  4. Duration shall be contained in bytes 8-11 of the data for databse index radio signals.
unsigned char DtSignalPdu::dataByte ( int  byteNum) const

Set/get signal a data byte.

Set/get signal encoding class.

unsigned int DtSignalPdu::encodingType ( ) const

Set/get signal encoding type.

This may also contain the number of TDL messages.

Set/get signal entity identifier.

void DtSignalPdu::getData ( unsigned char *  buff) const

Set/get multiple data bytes.

Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:

  1. Protocol ID shall be contained in the first 32 bits of the data for application specific radio signals.
  2. Database Index shall be contained in bytes 0-3 of the data for database index radio signals.
  3. Start Offset shall be contained in bytes 4-7 of the data for database index radio signals.
  4. Duration shall be contained in bytes 8-11 of the data for databse index radio signals.
DtPduKind DtSignalPdu::internalGetPduKind ( ) const [inline, protected, virtual]

Returns the PDU kind associated with the derived PDU class.

Implements DtPdu.

References DtSignalPduKind.

int DtSignalPdu::numDataBits ( ) const

Set/get signal number of bits in message.

Set/get signal number of bytes in message.

int DtSignalPdu::numSamples ( ) const

Set/get signal number of samples in message.

virtual void DtSignalPdu::printData ( ) const [virtual]

Prints the signal's data to DtInfo.

Reimplemented from DtPdu.

virtual void DtSignalPdu::printDataToStream ( std::ostream &  stream) const [virtual]

Prints the signal's data to the specified stream.

Reimplemented from DtPdu.

unsigned int DtSignalPdu::radioId ( ) const

Set/get signal radio identifier.

It should be noted that the Radio ID differs from HLA, in that here a radio is identified through both the entity ID and radio ID, which is an integer. In HLA, the radio ID is simply a string that describes the object name of the radio object.

static void DtSignalPdu::removeCallback ( DtExerciseConn conn,
DtSignalInteractionCb  cb,
void *  usr 
) [static]

Remove function to be called when a signal PDU is received.

long DtSignalPdu::sampleRate ( ) const

Set/get signal sample rate.

void DtSignalPdu::setData ( unsigned char *  data,
int  numBytes 
)

Set/get multiple data bytes.

Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:

  1. Protocol ID shall be contained in the first 32 bits of the data for application specific radio signals.
  2. Database Index shall be contained in bytes 0-3 of the data for database index radio signals.
  3. Start Offset shall be contained in bytes 4-7 of the data for database index radio signals.
  4. Duration shall be contained in bytes 8-11 of the data for databse index radio signals.
void DtSignalPdu::setDataByte ( int  byteNum,
unsigned char  data 
)

Set/get signal a data byte.

Set/get signal encoding class.

void DtSignalPdu::setEncodingType ( unsigned int  codeType)

Set/get signal encoding type.

This may also contain the number of TDL messages.

Set/get signal entity identifier.

void DtSignalPdu::setNumDataBits ( int  lengthInBits)

Set/get signal number of bits in message.

void DtSignalPdu::setNumDataBytes ( int  lengthInBytes)

Set/get signal number of bytes in message.

void DtSignalPdu::setNumSamples ( int  numSamples)

Set/get signal number of bytes in message.

void DtSignalPdu::setRadioId ( unsigned int  id)

Set/get signal radio identifier.

It should be noted that the Radio ID differs from HLA, in that here a radio is identified through both the entity ID and radio ID, which is an integer. In HLA, the radio ID is simply a string that describes the object name of the radio object.

void DtSignalPdu::setSampleRate ( long  rate)

Set/get signal sample rate.

void DtSignalPdu::setTdlType ( int  type)

Set/get signal TDL type.

int DtSignalPdu::tdlType ( ) const

Set/get signal TDL type.


Member Data Documentation


The documentation for this class was generated from the following file:

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)