Debug Traces
MicroUI logs several actions when traces are enabled (see Event Tracing). This chapter explains the trace identifiers.
Note
Most of the logs are only available on the Embedded VEE Port (not on the Simulator).
Trace format
The trace output format is the following:
[TRACE: MicroUI] Event AA(BB[CC],DD[EE])
where:
AA is the event identifier. See next table.
BB is the first event data.
CC is the index of the first event data (0x0).
DD is the second event data.
EE is the index of the second event data (0x1).
etc.
For example, given the following trace output:
[TRACE: MicroUI] Event 0x2(1[0x0],2[0x1],117571586[0x2])
0x2 -> Execute native input event
1 -> Event “Button” (index 0x0)
2 -> Generator Id (index 0x1)
117571586 -> event data (index 0x2)
Trace identifiers
The following tables describe some events data.
Event ID |
Description |
End of event |
---|---|---|
0x0 (0) |
Execute EventGenerator event |
End of |
0x1 (1) |
Drop event |
|
0x2 (2) |
Execute native input event |
End of |
0x3 (3) |
Execute display event |
End of |
0x4 (4) |
Execute user event |
End of |
0x5 (5) |
Create new image using |
Image created, image identifier is |
0x6 (6) |
New image characteristics |
|
0xb (11) |
Flush done. |
|
0xf (15) |
Asynchronous drawing operation done. |
|
0x14 (20) |
Invalid input event |
|
0x15 (21) |
Event queue is full, cannot add event |
|
0x16 (22) |
Add event |
|
0x17 (23) |
Replace event |
|
0x18 (24) |
Read event |
|
0x40 (64) |
Start drawing operation |
Drawing status |
0x50 (80) |
[BRS] New drawing region |
|
0x51 (81) |
[BRS] Flush LCD (id = |
|
0x52 (82) |
[BRS] Flush LCD (id = |
|
0x53 (83) |
[BRS] Add a region ( |
|
0x54 (84) |
[BRS] Remove a region ( |
|
0x55 (85) |
[BRS] Restore a region ( |
|
0x56 (86) |
[BRS] Clear the list of regions |
Event ID |
Description |
---|---|
0x0 (0) |
Event “Command” |
0x1 (1) |
Event “Button” |
0x2 (2) |
Event “Pointer” |
0x3 (3) |
Event “State” |
0x4 (4) |
Event “Unknwon” |
0x5 (5) |
Event “Call Serially” |
0x6 (6) |
Event “MicroUI Stop” |
0x7 (7) |
Event “Input” |
0x8 (8) |
Event “Show Displayable” |
0x9 (9) |
Event “Hide Displayable” |
0xb (11) |
Event “Pending Flush” |
0xc (12) |
Event “Force Flush” |
0xd (13) |
Event “Repaint Displayable” |
0xe (14) |
Event “Repaint Current Displayable” |
0xf (15) |
Event “KF Stop Feature” |
Event ID |
Description |
---|---|
0x0 (0) |
Create BufferedImage |
0x1 (1) |
Create Image from path |
0x2 (2) |
Create Image from InputStream |
Event ID |
Description |
---|---|
0x0 (0) |
New BufferedImage |
0x1 (1) |
Load MicroEJ Image from RAW file |
0x2 (2) |
New MicroEJ Image from encoded image |
0x3 (3) |
New MicroEJ Image from RAW image in external memory |
0x4 (4) |
New MicroEJ Image from encoded image in external memory |
0x5 (5) |
New MicroEJ Image from memory InputStream |
0x6 (6) |
New MicroEJ Image from byte array InputStream |
0x7 (7) |
New MicroEJ Image from generic InputStream |
0x8 (8) |
Link Image |
Event ID |
Description |
---|---|
0x1 (1) |
Write pixel |
0x2 (2) |
Draw line |
0x3 (3) |
Draw horizontal line |
0x4 (4) |
Draw vertical line |
0x5 (5) |
Draw rectangle |
0x6 (6) |
Fill rectangle |
0x7 (7) |
Unknown |
0x8 (8) |
Draw rounded rectangle |
0x9 (9) |
Fill rounded rectangle |
0xa (10) |
Draw circle arc |
0xb (11) |
Fill circle arc |
0xc (12) |
Draw ellipse arc |
0xd (13) |
Fill ellipse arc |
0xe (14) |
Draw ellipse |
0xf (15) |
Fill ellipse |
0x10 (16) |
Draw circle |
0x11 (17) |
Fill circle |
0x12 (18) |
Draw ARGB array |
0x13 (19) |
Draw image |
0x32 (50) |
Draw polygon |
0x33 (51) |
Fill polygon |
0x34 (52) |
Get ARGB image data |
0x35 (53) |
Draw string |
0x36 (54) |
Draw deformed string |
0x37 (55) |
Draw deformed image |
0x38 (56) |
Draw character with rotation (bilinear) |
0x39 (57) |
Draw character with rotation (simple) |
0x3a (58) |
Get string width |
0x3b (59) |
Get pixel |
0x64 (100) |
Draw thick faded point |
0x65 (101) |
Draw thick faded line |
0x66 (102) |
Draw thick faded circle |
0x67 (103) |
Draw thick faded circle arc |
0x68 (104) |
Draw thick faded ellipse |
0x69 (105) |
Draw thick line |
0x6a (106) |
Draw thick circle |
0x6b (107) |
Draw thick ellipse |
0x6c (108) |
Draw thick circle arc |
0xc8 (200) |
Draw image with fli |
0xc9 (201) |
Draw image with rotation (simple) |
0xca (202) |
Draw image with rotation (bilinear) |
0xcb (203) |
Draw image with scalling (simple) |
0xcc (204) |
Draw image with scalling (bilinear) |
Event ID |
Description |
---|---|
0x0 (0) |
Synchronous drawing done |
0x1 (1) |
Asynchronous drawing runs |
SystemView Integration
The traces are SystemView compatible.
The following text can be copied in a file called SYSVIEW_MicroUI.txt
and copied in SystemView installation folder (e.g. SEGGER/SystemView_V252a/Description/
).
NamedType UIEvent 0=COMMAND
NamedType UIEvent 1=BUTTON
NamedType UIEvent 2=POINTER
NamedType UIEvent 3=STATE
NamedType UIEvent 4=UNKNOWN
NamedType UIEvent 5=CALLSERIALLY
NamedType UIEvent 6=STOP
NamedType UIEvent 7=INPUT
NamedType UIEvent 8=SHOW_DISPLAYABLE
NamedType UIEvent 9=HIDE_DISPLAYABLE
NamedType UIEvent 11=PENDING_FLUSH
NamedType UIEvent 12=FORCE_FLUSH
NamedType UIEvent 13=REPAINT_DISPLAYABLE
NamedType UIEvent 14=REPAINT_CURRENT_DISPLAYABLE
NamedType UIEvent 15=KF_STOP_FEATURE
NamedType UINewImage 0=MUTABLE_IMAGE
NamedType UINewImage 1=IMAGE_FROM_PATH
NamedType UINewImage 2=IMAGE_FROM_INPUTSTREAM
NamedType UIImageData 0=NEW_IMAGE
NamedType UIImageData 1=LOAD_MICROEJ
NamedType UIImageData 2=NEW_ENCODED
NamedType UIImageData 3=NEW_MICROEJ_EXTERNAL
NamedType UIImageData 4=NEW_ENCODED_EXTERNAL
NamedType UIImageData 5=MEMORY_INPUTSTREAM
NamedType UIImageData 6=BYTEARRAY_INPUTSTREAM
NamedType UIImageData 7=GENERIC_INPUTSTREAM
NamedType UIImageData 8=LINK_IMAGE
NamedType GEDraw 1=WRITE_PIXEL
NamedType GEDraw 2=DRAW_LINE
NamedType GEDraw 3=DRAW_HORIZONTALLINE
NamedType GEDraw 4=DRAW_VERTICALLINE
NamedType GEDraw 5=DRAW_RECTANGLE
NamedType GEDraw 6=FILL_RECTANGLE
NamedType GEDraw 7=UNKNOWN
NamedType GEDraw 8=DRAW_ROUNDEDRECTANGLE
NamedType GEDraw 9=FILL_ROUNDEDRECTANGLE
NamedType GEDraw 10=DRAW_CIRCLEARC
NamedType GEDraw 11=FILL_CIRCLEARC
NamedType GEDraw 12=DRAW_ELLIPSEARC
NamedType GEDraw 13=FILL_ELLIPSEARC
NamedType GEDraw 14=DRAW_ELLIPSE
NamedType GEDraw 15=FILL_ELLIPSE
NamedType GEDraw 16=DRAW_CIRCLE
NamedType GEDraw 17=FILL_CIRCLE
NamedType GEDraw 18=DRAW_ARGB
NamedType GEDraw 19=DRAW_IMAGE
NamedType GEDraw 50=DRAW_POLYGON
NamedType GEDraw 51=FILL_POLYGON
NamedType GEDraw 52=GET_IMAGEARGB
NamedType GEDraw 53=DRAW_STRING
NamedType GEDraw 54=DRAW_DEFORMED_STRING
NamedType GEDraw 55=DRAW_IMAGE_DEFORMED
NamedType GEDraw 56=DRAW_CHAR_ROTATION_BILINEAR
NamedType GEDraw 57=DRAW_CHAR_ROTATION_SIMPLE
NamedType GEDraw 58=STRING_WIDTH
NamedType GEDraw 59=GET_PIXEL
NamedType GEDraw 100=DRAW_THICKFADEDPOINT
NamedType GEDraw 101=DRAW_THICKFADEDLINE
NamedType GEDraw 102=DRAW_THICKFADEDCIRCLE
NamedType GEDraw 103=DRAW_THICKFADEDCIRCLEARC
NamedType GEDraw 104=DRAW_THICKFADEDELLIPSE
NamedType GEDraw 105=DRAW_THICKLINE
NamedType GEDraw 106=DRAW_THICKCIRCLE
NamedType GEDraw 107=DRAW_THICKELLIPSE
NamedType GEDraw 108=DRAW_THICKCIRCLEARC
NamedType GEDraw 200=DRAW_FLIPPEDIMAGE
NamedType GEDraw 201=DRAW_ROTATEDIMAGENEARESTNEIGHBOR
NamedType GEDraw 202=DRAW_ROTATEDIMAGEBILINEAR
NamedType GEDraw 203=DRAW_SCALEDIMAGENEARESTNEIGHBOR
NamedType GEDraw 204=DRAW_SCALEDIMAGEBILINEAR
NamedType GEDrawAsync 0=done
NamedType GEDrawAsync 1=started
#
# MicroUI
#
0 UI_EGEvent (MicroUI) Execute EventGenerator event %UIEvent (generatorID = %u, data = %p) | (MicroUI) EventGenerator event %UIEvent done
1 UI_DROPEvent (MicroUI) Drop event %p
2 UI_InputEvent (MicroUI) Execute native input event %UIEvent (generatorID = %u, event = %p) | (MicroUI) Native input event %UIEvent done
3 UI_DisplayEvent (MicroUI) Execute display event %UIEvent (event = %p) | (MicroUI) Display event %UIEvent done
4 UI_UserEvent (MicroUI) Execute user event %p | (MicroUI) User event %p done
5 UI_OpenImage (MicroUI) Create %UINewImage | (MicroUI) Image created, id = %p
6 UI_ImageData (MicroUI) %UINewImage %UIImageData, id = %p, size = %d*%d
#
# MicroUI Graphics Engine
#
11 GE_FlushDone (MicroUI GraphicsEngine) Flush done
15 GE_GPUDrawDone (MicroUI GraphicsEngine) Asynchronous drawing operation done
#
# MicroUI Event Engine
#
20 EE_InvalidEvent (MicroUI Event Engine) Invalid event: %p
21 EE_QueueFull (MicroUI Event Engine) Queue full, cannot add event %p
22 EE_AddEvent (MicroUI Event Engine) Add event %p (index = %u / queue length = %u)
23 EE_ReplaceEvent (MicroUI Event Engine) Replace event %p by %p (index = %u / queue length = %u)
24 EE_ReadEvent (MicroUI Event Engine) Read event %p (index %u)
#
# MicroUI CCO
#
40 UI_Draw (MicroUI) Drawing operation %GEDraw | (MicroUI) Drawing operation %GEDrawAsync
50 BRS_NewDrawing (BRS) New drawing region (%u,%u) to (%u,%u)
51 BRS_FlushSingle (BRS) Flush LCD (id=%u buffer=%p) single region (%u,%u) to (%u,%u)
52 BRS_FlushMulti (BRS) Flush LCD (id=%u buffer=%p) %u regions
53 BRS_AddRegion (BRS) Add region (%u,%u) to (%u,%u)
54 BRS_RemoveRegion (BRS) Remove region (%u,%u) to (%u,%u)
55 BRS_RestoreRegion (BRS) Restore region (%u,%u) to (%u,%u)
56 BRS_ClearList (BRS) Clear the list of regions