fix error logging; add otThreadErrorToString (#1085)

This commit is contained in:
Marcin K Szczodrak
2016-12-16 12:56:20 -08:00
committed by Jonathan Hui
parent 1a1acc9f71
commit 5dec993626
3 changed files with 159 additions and 2 deletions
+10
View File
@@ -2007,6 +2007,16 @@ OTAPI ThreadError OTCALL otIp6AddressFromString(const char *aString, otIp6Addres
*/
OTAPI uint8_t OTCALL otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond);
/**
* This function converts a ThreadError enum into a string.
*
* @param[in] aError A ThreadError enum.
*
* @returns A string representation of a ThreadError.
*
*/
OTAPI const char *OTCALL otThreadErrorToString(ThreadError aError);
#ifdef __cplusplus
} // extern "C"
#endif
+147
View File
@@ -39,6 +39,7 @@
#include <openthread-config.h>
#endif
#include <openthread.h>
#include <common/logging.hpp>
#ifndef WINDOWS_LOGGING
@@ -248,6 +249,152 @@ const char *otLogRegionToString(otLogRegion aRegion)
}
#endif // OPENTHREAD_CONFIG_LOG_PREPEND_REGION
const char *otThreadErrorToString(ThreadError aError)
{
const char *retval;
switch (aError)
{
case kThreadError_None:
retval = "None";
break;
case kThreadError_Failed:
retval = "Failed";
break;
case kThreadError_Drop:
retval = "Drop";
break;
case kThreadError_NoBufs:
retval = "NoBufs";
break;
case kThreadError_NoRoute:
retval = "NoRoute";
break;
case kThreadError_Busy:
retval = "Busy";
break;
case kThreadError_Parse:
retval = "Parse";
break;
case kThreadError_InvalidArgs:
retval = "InvalidArgs";
break;
case kThreadError_Security:
retval = "Security";
break;
case kThreadError_AddressQuery:
retval = "AddressQuery";
break;
case kThreadError_NoAddress:
retval = "NoAddress";
break;
case kThreadError_NotReceiving:
retval = "NotReceiving";
break;
case kThreadError_Abort:
retval = "Abort";
break;
case kThreadError_NotImplemented:
retval = "NotImplemented";
break;
case kThreadError_InvalidState:
retval = "InvalidState";
break;
case kThreadError_NoTasklets:
retval = "NoTasklets";
break;
case kThreadError_NoAck:
retval = "NoAck";
break;
case kThreadError_ChannelAccessFailure:
retval = "ChannelAccessFailure";
break;
case kThreadError_Detached:
retval = "Detached";
break;
case kThreadError_FcsErr:
retval = "FcsErr";
break;
case kThreadError_NoFrameReceived:
retval = "NoFrameReceived";
break;
case kThreadError_UnknownNeighbor:
retval = "UnknownNeighbor";
break;
case kThreadError_InvalidSourceAddress:
retval = "InvalidSourceAddress";
break;
case kThreadError_WhitelistFiltered:
retval = "WhitelistFiltered";
break;
case kThreadError_DestinationAddressFiltered:
retval = "DestinationAddressFiltered";
break;
case kThreadError_NotFound:
retval = "NotFound";
break;
case kThreadError_Already:
retval = "Already";
break;
case kThreadError_BlacklistFiltered:
retval = "BlacklistFiltered";
break;
case kThreadError_Ipv6AddressCreationFailure:
retval = "Ipv6AddressCreationFailure";
break;
case kThreadError_NotCapable:
retval = "NotCapable";
break;
case kThreadError_ResponseTimeout:
retval = "ResponseTimeout";
break;
case kThreadError_Duplicated:
retval = "Duplicated";
break;
case kThreadError_Error:
retval = "GenericError";
break;
default:
retval = "UnknownErrorType";
break;
}
return retval;
}
#ifdef __cplusplus
};
#endif
+2 -2
View File
@@ -278,7 +278,7 @@ extern "C" {
#ifdef OPENTHREAD_CONFIG_LOG_MLE
#define otLogCritMle(aFormat, ...) otLogCrit(kLogRegionMle, aFormat, ## __VA_ARGS__)
#define otLogWarnMle(aFormat, ...) otLogWarn(kLogRegionMle, aFormat, ## __VA_ARGS__)
#define otLogWarnMleErr(aError, aFormat, ...) otLogWarn(kLogRegionMle, aFormat ", 0x%x", ## __VA_ARGS__)
#define otLogWarnMleErr(aError, aFormat, ...) otLogWarn(kLogRegionMac, "Error %s: " aFormat, otThreadErrorToString(aError), ## __VA_ARGS__)
#define otLogInfoMle(aFormat, ...) otLogInfo(kLogRegionMle, aFormat, ## __VA_ARGS__)
#define otLogDebgMle(aFormat, ...) otLogDebg(kLogRegionMle, aFormat, ## __VA_ARGS__)
#else
@@ -537,7 +537,7 @@ extern "C" {
#define otLogWarnMac(aFormat, ...) otLogWarn(kLogRegionMac, aFormat, ## __VA_ARGS__)
#define otLogInfoMac(aFormat, ...) otLogInfo(kLogRegionMac, aFormat, ## __VA_ARGS__)
#define otLogDebgMac(aFormat, ...) otLogDebg(kLogRegionMac, aFormat, ## __VA_ARGS__)
#define otLogDebgMacErr(aError, aFormat, ...) otLogWarn(kLogRegionMac, aFormat ", 0x%x", ## __VA_ARGS__)
#define otLogDebgMacErr(aError, aFormat, ...) otLogWarn(kLogRegionMac, "Error %s: " aFormat, otThreadErrorToString(aError), ## __VA_ARGS__)
#else
#define otLogCritMac(aFormat, ...)
#define otLogWarnMac(aFormat, ...)