Debugging Utilities

EmberZNet debugging utilities.

Macros

#define NO_DEBUG   0
 
#define BASIC_DEBUG   1
 
#define FULL_DEBUG   2
 
#define emberDebugInit(port)   do {} while (false)
 This function is obsolete and no longer required to initialize the debug system.

Functions

void emberDebugAssert (const char *filename, int linenumber)
 Prints the filename and line number to the debug serial port.
 
void emberDebugMemoryDump (uint8_t *start, uint8_t *end)
 Prints the contents of RAM to the debug serial port.
 
void emberDebugBinaryPrintf (const char *formatString,...)
 Prints binary data to the debug channel.
 
void emDebugSendVuartMessage (uint8_t *buff, uint8_t len)
 Sends VUART data out the debug channel.
 
void emberDebugError (EmberStatus code)
 Prints an EmberStatus return code to the serial port.
 
bool emberDebugReportOff (void)
 Turns off all debug output.
 
void emberDebugReportRestore (bool state)
 Restores the state of the debug output.
 
void emberDebugPrintf (const char *formatString,...)
 Prints text debug messages.

Detailed Description

EmberZNet debugging utilities.

See ember-debug.h for source code.

Macro Definition Documentation

◆ BASIC_DEBUG

#define BASIC_DEBUG   1

◆ emberDebugInit

#define emberDebugInit (   port)    do {} while (false)

This function is obsolete and no longer required to initialize the debug system.

Parameters
portIgnored because the port used for debug communication is automatically determined for each platform.

◆ FULL_DEBUG

#define FULL_DEBUG   2

◆ NO_DEBUG

#define NO_DEBUG   0

Function Documentation

◆ emberDebugAssert()

void emberDebugAssert ( const char *  filename,
int  linenumber 
)

Prints the filename and line number to the debug serial port.

Parameters
filenameThe name of the file where the assert occurred.
linenumberThe line number in the file where the assert occurred.

◆ emberDebugBinaryPrintf()

void emberDebugBinaryPrintf ( const char *  formatString,
  ... 
)

Prints binary data to the debug channel.

This function does not use the normal printf format conventions. To print text debug messages, use emberDebugPrintf(). The format string must contain only these conversion specification characters:

  • B - uint8_t value.
  • W - uint16_t value, printed least significant byte first.
  • D - uint32_t value, printed least significant byte first.
  • F - pointer to null terminated string in Flash (const char *).
  • xxxp - pointer to RAM, length is xxx (max 255).
  • lp - pointer to RAM, length is uint8_t argument.
  • xxxf - pointer to Flash (const char *), length is xxx (max 255).
  • lf - pointer to Flash (const char *), length is uint8_t argument.
  • b - EmberMessageBuffer.

Examples:

emberDebugBinaryPrintf("BWD", status, panId, channelMask);
emberDebugBinaryPrintf("F8p", "string example", eui64);
emberDebugBinaryPrintf("lp64fb", length, bytes, dataTable, buffer);
Parameters
formatStringA string of conversion specification characters describing the arguments to be printed.
...The arguments to be printed.

◆ emberDebugError()

void emberDebugError ( EmberStatus  code)

Prints an EmberStatus return code to the serial port.

Parameters
codeThe EmberStatus code to print.

◆ emberDebugMemoryDump()

void emberDebugMemoryDump ( uint8_t *  start,
uint8_t *  end 
)

Prints the contents of RAM to the debug serial port.

Parameters
startThe start address of the block of RAM to dump.
endThe end address of the block of RAM to dump (address of the last byte).

◆ emberDebugPrintf()

void emberDebugPrintf ( const char *  formatString,
  ... 
)

Prints text debug messages.

Parameters
formatStringTakes the following:
%%Percent sign
%cSingle-byte char
%sRAM string
%pFlash string (does not follow the printf standard)
%uTwo-byte unsigned decimal
%dTwo-byte signed decimal
%x, %%2x, %%4x 1-, 2-, 4-byte hex value (always 0 padded; does not follow the printf standard)

◆ emberDebugReportOff()

bool emberDebugReportOff ( void  )

Turns off all debug output.

Returns
The current state (true for on, false for off).

◆ emberDebugReportRestore()

void emberDebugReportRestore ( bool  state)

Restores the state of the debug output.

Parameters
stateThe state returned from emberDebugReportOff(). This is done so that debug output is not blindly turned on.

◆ emDebugSendVuartMessage()

void emDebugSendVuartMessage ( uint8_t *  buff,
uint8_t  len 
)

Sends VUART data out the debug channel.

Parameters
buffA pointer to the data to send.
lenThe length of the data to send.