How to clear trace area

Use the standard clear sequence "\x1b[2J"

 
 // DBG_LOG is just a printf().
 DBG_Log("\x1b[2J");  // This is clear screen sequence
  

...

How to add box around text.

This is useful for highlighting some text, branding, or to mark the beginning of your firmware execution. You just need to prefix your text with '!#' that's is!

 
 // DBG_LOG is just a printf(). 'Ln' at the end means append new line
 DBG_Log("\x1b[2J");  // This is clear screen sequence
 DBG_LogLn("");       // Provide some spacing
 DBG_LogLn("!#Welcome To EGO Firmware!");
 DBG_LogLn("");
  

...

Different trace levels

Termethos does support most of the standard bash color sequences but it also add an easier to remember sequences. You simply start your text with '!' followed by the level character which can be one of [I(nfo), W(arning), E(rror)]

 
 DBG_LogLn("I'm just regular text!");
 DBG_LogLn("!II'm important piece of information!");
 DBG_LogLn("!WI'm warning you!");
 DBG_LogLn("!EOps!!! Something really bad happened!");
  

...

Dashboard: How to monitor a value?

You can use the dashbaord to display realtime data, like a sensor reading or any transient value. Last changed value will be highlighted as in the example shown. Individual dashboard values are called fields. To send a field value print the following:

@{<field index>:<field value>}

Up to 24 fields are supported. See this example:
 
 DBG_LogLn("Setting dashboard field # 11 to show the value of 123 and
            changing field #23 from '---' to 'X'");
 DBG_Log("@{11:123}@{23:---}");
 DBG_Log("@{23:X}");
  

...