Generic Event Logger Configure/Query 0x003D

SwitchKit Name

GELConfigQuery

Type

EXS API and SwitchKit API message

Description

Generic Event Logger Configure/Query 0x003D

The Generic Event Logger (GEL) records system application and software debug events in the CSP. The GEL provides more debug data than the current fault log and online diagnostics.

This message lets you control the Generic Event Logger (GEL). Every card that supports GEL has two buffers. One buffer stores LOGF/LOGB entries, and the other stores LOGT entries.

LOGF enters seven data fields of ULONG type and an 80 character descriptor field to the LOGF/LOGB buffer. All data fields are user defined.

LOGB puts a memory dump from a user defined address into the LOGF/LOGB buffer. The user also defines the size of the memory dump and a descriptive string of up to 20 characters.

LOGT places a user-defined 20 character descriptive string into the LOGT buffer.

NOTE: This message is for debugging purposes only and should not be used until you contact technical support. Also, this message reduces system performance. Cantata recommends using this message in test systems only.

Sent by

Host

SwitchKit Code

Configuration

GELConfigQuery (

Node = integer,

Slot = integer,

Action = integer,

DataLength = integer,

Data = byte array);

C Structure

typedef struct {

UBYTE Slot;

UBYTE Action;

UBYTE DataLength;

UBYTE Data[221];

} XL_GELConfigQuery;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE Slot;

UBYTE Data[221];

} XL_GELConfigQueryAck;

C++ Class

class XLC_GELConfigQuery : public XLC_OutboundMessage {

public:

UBYTE getSlot() const;

void setSlot(UBYTE x);

UBYTE getAction() const;

void setAction(UBYTE x);

UBYTE getDataLength() const;

void setDataLength(UBYTE x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

C++ Class Response

class XLC_GELConfigQueryAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

UBYTE getSlot() const;

void setSlot(UBYTE x);

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

 

EXS API Hex Format

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0x00NN)

1, 2

Length (0x00NN)

3, 4

Message Type (0x003D)

3, 4

Message Type (0x003D)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB

Address Method

0x00 - Individual AEs

8, 9

Status (MSB, LSB)
See information below this table

Number of AEs to follow

AE

0x01 Slot

:

Action

0x01 Set control mask

0x02 Set Buffer Full option

0x03 Start logging*

0x04 Pause logging*

0x05 Clear log

0x06 Get logger status

0x07 Get control mask

0x08 Get Event buffer data

0x09 Get Trace buffer data

0x0A Get Module names

0x0B Stop Write

0x0C Telnet IP Print enable

0x0D Telnet IP Print disable


*The Start (0x03) and Pause logging (0x04) actions have a global effect. That is, if the AIBs Slot Number field is 0xFF, the actions start or pause all card Generic Event loggers.

:

Same as message

:

Data[0] Data Length Field

:

Response Data[0]
(See table below)

:

Data[1] Data fields
(see table below)

:

Checksum

:

Checksum

Response Status Continued Below

If the message contains invalid fields, the CSP returns a NACK, but the following are some specific reasons for NACKs to this message. If you try to configure the logger or retrieve the buffer before pausing the logger, then the CSP responds with a NACK. This NACK specifies that the logger is not in a valid state.

 

The following NACKs are used:

0x14 Message Invalid for Current Matrix Controller State

The Matrix Controller is not in a state to accept this message.

0x74 Invalid Card Type

Incorrect card type for attempted operation.

0x20 Invalid Action Value

Invalid decision parameter action value was received.

0x61 Invalid Slot

The slot specified is not valid for the message sent.

0x99 Invalid Configuration Request

Configuration request is invalid.

0x17 Invalid Data Type

Returned in response to a message with invalid data parameters.

 

Data

Response Data

Below is the data associated with each of the above actions.

 

0x01 Set control mask

Use this Action to define the control masks for each module.


Data Length: n

Data[0] Module ID 1

Bit Mask 4 bytes:

0

1

2

3

:

Data[n] Module ID n

Bit Mask 4 bytes:

0

1

2

3

 

 

0x01 For Set control mask

Data[0] Paused Mask [4 bytes] for module ID 1

Data[1] Paused Mask [4 bytes] for module ID 2

:

Data[31] Paused Mask [4 bytes] for module ID 32

 


0x02 Set Buffer Full option

Use this Action to set up the Buffer Full option. When you use the Stop option, the buffer stops recording information once it is full. The Wrap option, once the buffer is full, the buffer begins to overwrite the earliest data.


Data Length: 0x01

Data: 0x00 Stop (stops the buffer when it is full)

0x01 Wrap (wraps to beginning, overwriting
oldest data when buffer is full)

 


0x03 Start logging*

Use this Action to set up the buffer to turn on after a reset or not. If you want the buffer to start logging after a reset, send this Action with a data of 0x01. If you do not want the buffer to turn on after a reset, send the data 0x00.


Data Length: 0x01

Data: 0x00 Stop (Do not continue logging to buffer
after reset)

0x01 Start (Continue logging to buffer after
reset)

 

*If the slot number in the AIB is FF, then this message starts the loggers on all system cards that support GEL.

 


0x04 Pause logging*

Use this message to stop logging to a buffer. Send this message again to unpause logging to a buffer.


Data Length: 0x00

Data: NA


*If the slot number in the AIB is FF, then this message pauses the loggers on all system cards that support GEL.

 


0x05 Clear log

Use this Action when you want to remove all entries from a log.


Data Length: 0x00

Data: NA

 


0x06 Get logger status

Use this Action to receive a report on the status of a buffer.


Data Length: 0x00

Data: NA

 


0x06 For Get logger status


Data[0] Number of Events in buffer

Data[1] Number of Blocks in buffer

Data[2] Number of Trace records in buffer

Data[3] Number of Records skipped

Data[4] Buffer Full action

0 stop logging when full

1 wrap buffer

Data[5] Logger state

0 Paused

1 Logging

Data[6] Buffer state

0 Available

1 Full

Data[7] Percent of LOGF/LOGB buffer remaining

Data[8] Max. LOGF/LOGB buffer size (MSB)

Data[9] Max. LOGF/LOGB buffer size (LSB)

Data[10] Maximum LOGT records (MSB)

Data[11] Maximum LOGT records (LSB)


0x07 Get control mask

Use this Action to find out the control masks of a buffer.


Data Length: 0x00

Data: NA

 


0x07 For Get control mask


Data[0] Module ID 1 (MSB)

Data[1] Module ID 1 (LSB)

Bit Mask [paused] 4 bytes

0

1

2

3


Bit Mask[enabled] 4 bytes

0

1

2

3

:

Data[n] Module ID n (MSB)

Data[n+1] Module ID n (LSB)

Bit Mask [paused] 4 bytes

0

1

2

3


Mask [enabled] 4 bytes

0

1

2

3

0x08 Get Event buffer data

Send this message to retrieve the information in the Event buffer and have it dumped to the file specified. Use Data[0] to tell the computer to either append the file you give and put the new information at the end, or to overwrite the existing file. To stop the dump, you need to send the Stop Write (0x0B) Action.


Data Length: n

Data[0] Write permission

0 append

1 overwrite

Data[1] First character [Path/Filename]

:

Data[n] NULL termination

 


0x09 Get Trace buffer data

Send this message to retrieve the information in the Trace buffer and have it dumped to the file specified. Use Data[0] to tell the computer to either append the file you give and put the new information at the end, or to overwrite the existing file. To stop the dump, you need to send the Stop Write (0x0B) Action.


Data Length: n

Data:

Data[0] Write permission

0 append

1 overwrite

Data[1] First character[Path/Filename]

:

Data[n] NULL termination

 

 


0x0A Get Module Names

Use this Action to find out the names of a module.


Data Length: 0x00

Data: NA

 


0x0A For Get Module Names


Data[0] Module name 1 [12 characters]

Data[1] Module name 2 [12 characters]

:

Data[31] Module name 32 [12 characters]


0x0B Stop Write

Use this Action to stop writing from a buffer to a file.


Data Length: n

Data[0] First character [Path/Filename]

:

Data[n] NULL termination