mirror of
https://github.com/espressif/openthread.git
synced 2026-08-07 19:27:46 +00:00
fix error logging; add otThreadErrorToString (#1085)
This commit is contained in:
committed by
Jonathan Hui
parent
1a1acc9f71
commit
5dec993626
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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, ...)
|
||||
|
||||
Reference in New Issue
Block a user