See Debugging Utilities for documentation.
License#
Copyright 2018 Silicon Laboratories Inc. www.silabs.com
The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.
/***************************************************************************/
#ifndef SILABS_EMBER_DEBUG_H
#define SILABS_EMBER_DEBUG_H
// Define the values for DEBUG_LEVEL
#define NO_DEBUG 0
#define BASIC_DEBUG 1
#define FULL_DEBUG 2
#define emberDebugInit(port) do {} while (false)
#if (DEBUG_LEVEL >= BASIC_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
void emberDebugAssert(const char * filename, int linenumber);
void emberDebugMemoryDump(uint8_t *start, uint8_t *end);
void emberDebugBinaryPrintf(const char * formatString, ...);
void emDebugSendVuartMessage(uint8_t *buff, uint8_t len);
//#if (DEBUG_LEVEL == FULL_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
void emberDebugError(EmberStatus code);
bool emberDebugReportOff(void);
void emberDebugReportRestore(bool state);
// Format: Same as emberSerialPrintf
// emberDebugPrintf("format string"[, parameters ...])
void emberDebugPrintf(const char * formatString, ...);
#else // (DEBUG_LEVEL >= BASIC_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
#define emberDebugAssert(filename, linenumber) do {} while (false)
#define emberDebugMemoryDump(start, end) do {} while (false)
#define emberDebugBinaryPrintf(formatstring, ...) do {} while (false)
#define emDebugSendVuartMessage(buff, len) do {} while (false)
#define emberDebugError(code) do {} while (false)
// Note the following doesn't have a do{}while(false)
// because it has a return value
#define emberDebugReportOff() (false)
#define emberDebugReportRestore(state) do {} while (false)
#define emberDebugPrintf(...) do {} while (false)
#endif // (DEBUG_LEVEL >= BASIC_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
//#else (DEBUG_LEVEL == FULL_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
//#endif (DEBUG_LEVEL == FULL_DEBUG) || defined(DOXYGEN_SHOULD_SKIP_THIS)
#endif // SILABS_EMBER_DEBUG_H
Macros#
This function is obsolete and no longer required to initialize the debug system.
Functions#
Prints the filename and line number to the debug serial port.
Prints the contents of RAM to the debug serial port.
Prints binary data to the debug channel.
Sends VUART data out the debug channel.
Prints an EmberStatus return code to the serial port.
Turns off all debug output.
Restores the state of the debug output.
Prints text debug messages.
Macro Definition Documentation#
NO_DEBUG#
#define NO_DEBUGValue:
0
30
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
BASIC_DEBUG#
#define BASIC_DEBUGValue:
1
31
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
FULL_DEBUG#
#define FULL_DEBUGValue:
2
32
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugInit#
#define emberDebugInitValue:
(port)
This function is obsolete and no longer required to initialize the debug system.
40
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
Function Documentation#
emberDebugAssert#
void emberDebugAssert (const char * filename, int linenumber)
Prints the filename and line number to the debug serial port.
N/A | filename | The name of the file where the assert occurred. |
N/A | linenumber | The line number in the file where the assert occurred. |
49
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugMemoryDump#
void emberDebugMemoryDump (uint8_t * start, uint8_t * end)
Prints the contents of RAM to the debug serial port.
N/A | start | The start address of the block of RAM to dump. |
N/A | end | The end address of the block of RAM to dump (address of the last byte). |
58
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugBinaryPrintf#
void emberDebugBinaryPrintf (const char * formatString, ... )
Prints binary data to the debug channel.
N/A | formatString | A string of conversion specification characters describing the arguments to be printed. |
N/A | The arguments to be printed. |
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);
86
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emDebugSendVuartMessage#
void emDebugSendVuartMessage (uint8_t * buff, uint8_t len)
Sends VUART data out the debug channel.
N/A | buff | A pointer to the data to send. |
N/A | len | The length of the data to send. |
94
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugError#
void emberDebugError (EmberStatus code)
Prints an EmberStatus return code to the serial port.
N/A | code | The EmberStatus code to print. |
101
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugReportOff#
bool emberDebugReportOff (void )
Turns off all debug output.
N/A |
Returns
The current state (true for on, false for off).
107
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugReportRestore#
void emberDebugReportRestore (bool state)
Restores the state of the debug output.
N/A | state | The state returned from emberDebugReportOff(). This is done so that debug output is not blindly turned on. |
114
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h
emberDebugPrintf#
void emberDebugPrintf (const char * formatString, ... )
Prints text debug messages.
N/A | formatString | Takes the following: |
N/A |
%% | Percent sign |
---|---|
%c | Single-byte char |
%s | RAM string |
%p | Flash string (does not follow the printf standard) |
%u | Two-byte unsigned decimal |
%d | Two-byte signed decimal |
%x, %%2x, %%4x | 1-, 2-, 4-byte hex value (always 0 padded; does not follow the printf standard) |
133
of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/stack/include/ember-debug.h