Messages
A Memento message is composed of a message body and several message attributes.
Message Body
The message body is a text string composed of a fixed frame and optional arguments. The arguments are used as placeholders for variable context information.
Message body examples:
● | The following message body has no arguments:
|
● | The following message body has two arguments, the date and the time:
|
Message Attributes
Message attributes are used for qualifying the message body.
● | Mandatory Attributes |
□ | The Kind and Level attributes are mandatory. |
□ | They must always be defined by the Memento Contributors. |
● | Optional Attributes |
□ | The Time , Process ID , Thread ID , Card
ID , and Connector ID attributes are optional. |
□ | The Memento Contributors decide whether or not to use them. |
The Level
attribute defines the severity level of the message on a scale having 7 steps:
Value | Severity | Description |
---|---|---|
Critical | Highest | Unrecoverable error message |
Error | Higher | Error message |
Warning | High | Warning message |
Notice | Medium | Notification message |
Info | Low | Information message |
Debug | Lower | Debug message |
Verbose | Lowest | Nattering |
Note: Debug and verbose levels are used for messages intended for Euresys engineering and technical support.
The mandatory Kind
attribute defines the kind, nature, origin … of the message:
Value | Description | ||||||
---|---|---|---|---|---|---|---|
API | API function calls. | ||||||
Acquisition | Messages related to image acquisition (e.g., data stream start/stop, start/end of scan). | ||||||
CoaXPress | Messages related to CoaXPress protocol (e.g., device discovery, control messages). | ||||||
DMA | Messages related to DMA (Direct Memory Access) transfers. | ||||||
DPC | Messages related to DPC (Deferred Procedure Calls) queued by the driver when it receives an interrupt request. | ||||||
Descriptors | Messages related to DMA descriptors. | ||||||
EEPROM | Messages related to on-board EEPROM (where part number, serial number and OEM key are stored). | ||||||
Egrabber | Messages produced by EGrabber. | ||||||
Event | Messages related to the event notification infrastructure. | ||||||
FPGA |
Messages related to :
|
||||||
Flash | Messages related to the on-board flash memory (where the firmware image is stored). | ||||||
GenAPI | Messages related to Euresys GenApi implementation. | ||||||
Hardware | Messages emitted by the frame grabber firmware. | ||||||
I2C | Messages related to the I2C communication between 2 frame grabber components. | ||||||
IOCTL |
Messages related to the communication between user-mode software components and the kernel driver. |
||||||
IRQ | Messages related to the interrupt requests received by the kernel driver. | ||||||
LUT | Messages related to the look-up table processing. | ||||||
Memento |
Messages related to Memento. |
||||||
OperationM | Messages related to an internal software component (should not appear on customers machines). | ||||||
PCI Express | Messages related to the PCI Express configuration space (e.g., vendor and device IDs, capabilities). | ||||||
PnP | Messages related to the interaction between the driver and the Windows Plug and Play Manager. | ||||||
Power | Messages related to the interaction between the driver and the Windows Power Manager. | ||||||
Profiling | A small number of messages for doing profiling (IRQ counter, time spent with interrupts masked, DPC counter, time spent in DPC, buffer push/pop and DMA transfer completion). | ||||||
SPI | Messages related to the SPI interface (used to access the on-board flash). | ||||||
Script | Messages related to the GenApi scripts. | ||||||
Serial Line | Messages related to the Camera Link serial communication. | ||||||
Thread | Messages related to worker threads used by the driver. | ||||||
Time | Messages related to system data and time. | ||||||
Timer | Messages related to operating system timers. | ||||||
User0 … User9, UserA ... UserF |
Messages emitted by the user application. |
Note: The above list is open; new values can be appended in future Memento releases.
For all but the hardware kind of messages, the time
attribute defines the time of occurrence on the Memento Time Scale of the
creation of the message by the contributor.
For hardware kind of messages, the time
attribute defines the time of occurrence on the Memento Time Scale of the hardware
event that is at the origin of the message. These messages are prefixed by [ts:HARDWARE_TIMESTAMP] where HARDWARE_TIMESTAMP is the time of
occurrence on the card local time scale.
Note: The time of occurrence reported by the hardware using the card local time is converted to Memento time.
The Process ID
attribute reports the process identifier of the process producing the message.
The Thread ID
attribute reports the thread identifier of the thread producing the message.
The Card ID
attribute reports the identifier of the frame grabber card the message belongs to. This is a zero-based index assigned
by the corresponding card driver.
□ | The Card ID is global within a specific driver. |
□ | Grablink cards have a specific driver for each card type. If, for instance, a system has 2 Grablink Base and 2 Grablink DualBase, there will be Memento traces related to Grablink Base Card ID #0 and #1 as well as Grablink DualBase card ID #0 and #1. |
□ | Coaxlink cards have a unique driver for all types. If, for instance, a system has 1 Coaxlink Mono and 1 Coaxlink Duo, there will be Memento traces related to Coaxlink Card ID #0 and #1. |
The Connector ID
attribute reports the identifier of the camera connector the message belongs to.
□ | For Coaxlink cards, the Connector ID is the ID (A, B, C, D) of the CoaXPress host interface connector. |
□ | For Grablink cards, the Connector ID is the ID (M, A, B) of the Camera Link connector. |