enum QueueDescriptor_QueueType |
 |
Type of Queue
typedef enum QueueDescriptor_QueueType {
QueueDescriptor_QueueType_NONE,
QueueDescriptor_QueueType_TOHOST_CMD_CIRCULAR_BUFFER,
QueueDescriptor_QueueType_FROMHOST_CMD_CIRCULAR_BUFFER,
QueueDescriptor_QueueType_TOHOST_EVENT_CIRCULAR_BUFFER,
QueueDescriptor_QueueType_TOHOST_EVENT_OVERFLOW_BUFFER,
QueueDescriptor_QueueType_TOHOST_DATA_CIRCULAR_BUFFER,
QueueDescriptor_QueueType_FROMHOST_DATA_CIRCULAR_BUFFER
} QueueDescriptor_QueueType;
struct QueueDescriptor_Header |
 |
Structure of the descriptor
typedef struct QueueDescriptor_Header {
Int structSize;
Bits32 *readPtr;
Bits32 *writePtr;
Bits32 *queueStartAdrs;
SizeT queueSizeInMAUs;
UInt instanceId;
UInt ownerModuleId;
UInt priority;
Bits32 *numDroppedCtrAdrs;
} QueueDescriptor_Header;
FIELDS
structSize
Used for version control to determine if newer
fields are available
next
Pointer to the next Header in the list
queueType
Identifies the type of queue and thus who owns
the read and write pointers.
readPtr
Points to the next (word-aligned) byte to be
read from the buffer
writePtr
Points to the next (word-aligned) byte to be
written into
queueStartAdrs
Start address of the buffer (word-aligned)
queueSizeInMAUs
Queue Size in min. addressable units
(buffer size must be word-aligned)
instanceId
16b unique ID that identifies the instance of the module
that owns this queue descriptor.
b15=1 indicates that the logger was dynamically
created. Corresponds to the logger instance Id
in the rta.xml and uia.xml metadata and
UIAPacket event packet header.
ownerModuleId
The module ID of the module that owns this
queue descriptor
priority
The priority of the queue. 0 is normal priority.
The higher the number, the higher the priority.
Used to set the priority field of the UIAPacket
event packet header.
numDroppedCtrAdrs
Points to the counter used to count the number
of dropped events. NULL if no counter available.
QueueDescriptor_addToList() // module-wide |
 |
Function to add a descriptor to the global list
ARGUMENTS
pHdrToAdd
Descriptor to add
QueueDescriptor_initHeader() // module-wide |
 |
Function initialize a descriptor
ARGUMENTS
pHdr
Descriptor to initialize
start
Start address of the buffer
size
Size of the buffer
loggerModuleId
module ID of the logger that owns the buffer
loggerInstanceId
instance ID of the logger that owns the buffer
loggerPriority
priority of the logger that owns the buffer
type
Type of descriptor
QueueDescriptor_removeFromList() // module-wide |
 |
Function to remove a descriptor from the global list
ARGUMENTS
pHdrToRemove
Descriptor to remove
Module-Wide Built-Ins |
 |
// Get this module's unique id
Bool QueueDescriptor_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool QueueDescriptor_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 QueueDescriptor_Module_getMask();
// Returns the diagnostics mask for this module
Void QueueDescriptor_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
enum QueueDescriptor.QueueType |
 |
Type of Queue
XDCscript usage |
meta-domain |
values of type QueueDescriptor.QueueType
const QueueDescriptor.QueueType_NONE;
const QueueDescriptor.QueueType_TOHOST_CMD_CIRCULAR_BUFFER;
const QueueDescriptor.QueueType_FROMHOST_CMD_CIRCULAR_BUFFER;
const QueueDescriptor.QueueType_TOHOST_EVENT_CIRCULAR_BUFFER;
const QueueDescriptor.QueueType_TOHOST_EVENT_OVERFLOW_BUFFER;
const QueueDescriptor.QueueType_TOHOST_DATA_CIRCULAR_BUFFER;
const QueueDescriptor.QueueType_FROMHOST_DATA_CIRCULAR_BUFFER;
C SYNOPSIS
struct QueueDescriptor.Header |
 |
Structure of the descriptor
XDCscript usage |
meta-domain |
var obj = new QueueDescriptor.Header;
obj.structSize = Int ...
obj.readPtr = Bits32* ...
obj.writePtr = Bits32* ...
obj.queueStartAdrs = Bits32* ...
obj.queueSizeInMAUs = SizeT ...
obj.instanceId = UInt ...
obj.ownerModuleId = UInt ...
obj.priority = UInt ...
obj.numDroppedCtrAdrs = Bits32* ...
FIELDS
structSize
Used for version control to determine if newer
fields are available
next
Pointer to the next Header in the list
queueType
Identifies the type of queue and thus who owns
the read and write pointers.
readPtr
Points to the next (word-aligned) byte to be
read from the buffer
writePtr
Points to the next (word-aligned) byte to be
written into
queueStartAdrs
Start address of the buffer (word-aligned)
queueSizeInMAUs
Queue Size in min. addressable units
(buffer size must be word-aligned)
instanceId
16b unique ID that identifies the instance of the module
that owns this queue descriptor.
b15=1 indicates that the logger was dynamically
created. Corresponds to the logger instance Id
in the rta.xml and uia.xml metadata and
UIAPacket event packet header.
ownerModuleId
The module ID of the module that owns this
queue descriptor
priority
The priority of the queue. 0 is normal priority.
The higher the number, the higher the priority.
Used to set the priority field of the UIAPacket
event packet header.
numDroppedCtrAdrs
Points to the counter used to count the number
of dropped events. NULL if no counter available.
C SYNOPSIS
metaonly config QueueDescriptor.common$ // module-wide |
 |
Common module configuration parameters
XDCscript usage |
meta-domain |
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
metaonly QueueDescriptor.generateInstanceId() // module-wide |
 |
XDCscript usage |
meta-domain |
QueueDescriptor.generateInstanceId() returns UInt16