Benoît Locher / mbedNet
Committer:
Benoit
Date:
Sun Jun 26 09:56:31 2011 +0000
Revision:
7:8e12f7357b9f
Parent:
1:f4040665bc61
Added IPv4 global broadcast address to processed frames inside IPv4 layer.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Benoit 1:f4040665bc61 1 /*
Benoit 1:f4040665bc61 2 * $Id: Debug.c 26 2011-06-09 10:24:02Z benoit $
Benoit 1:f4040665bc61 3 * $Author: benoit $
Benoit 1:f4040665bc61 4 * $Date: 2011-06-09 12:24:02 +0200 (jeu., 09 juin 2011) $
Benoit 1:f4040665bc61 5 * $Rev: 26 $
Benoit 1:f4040665bc61 6 *
Benoit 1:f4040665bc61 7 *
Benoit 1:f4040665bc61 8 *
Benoit 1:f4040665bc61 9 *
Benoit 1:f4040665bc61 10 *
Benoit 1:f4040665bc61 11 */
Benoit 1:f4040665bc61 12
Benoit 1:f4040665bc61 13 #include "Debug.h"
Benoit 1:f4040665bc61 14
Benoit 1:f4040665bc61 15
Benoit 1:f4040665bc61 16 Debug_LevelMask_t debug_LevelMask = DEBUG_LEVEL_WARNING | DEBUG_LEVEL_ERROR | DEBUG_LEVEL_PANIC;
Benoit 1:f4040665bc61 17 Debug_ModuleMask_t debug_ModuleMask = DEBUG_MODULE_ALL;
Benoit 1:f4040665bc61 18
Benoit 1:f4040665bc61 19
Benoit 1:f4040665bc61 20 void Debug_SetMasks(Debug_ModuleMask_t moduleMask, Debug_LevelMask_t levelMask)
Benoit 1:f4040665bc61 21 {
Benoit 1:f4040665bc61 22 debug_LevelMask = levelMask;
Benoit 1:f4040665bc61 23 debug_ModuleMask = moduleMask;
Benoit 1:f4040665bc61 24 }
Benoit 1:f4040665bc61 25
Benoit 1:f4040665bc61 26 const char *Debug_GetText(uint32_t level)
Benoit 1:f4040665bc61 27 {
Benoit 1:f4040665bc61 28 char *result;
Benoit 1:f4040665bc61 29
Benoit 1:f4040665bc61 30 switch(level)
Benoit 1:f4040665bc61 31 {
Benoit 1:f4040665bc61 32 case DEBUG_LEVEL_INFO:
Benoit 1:f4040665bc61 33 result = "INFO";
Benoit 1:f4040665bc61 34 break;
Benoit 1:f4040665bc61 35
Benoit 1:f4040665bc61 36 case DEBUG_LEVEL_WARNING:
Benoit 1:f4040665bc61 37 result = "WARNING";
Benoit 1:f4040665bc61 38 break;
Benoit 1:f4040665bc61 39
Benoit 1:f4040665bc61 40 case DEBUG_LEVEL_ERROR:
Benoit 1:f4040665bc61 41 result = "ERROR";
Benoit 1:f4040665bc61 42 break;
Benoit 1:f4040665bc61 43
Benoit 1:f4040665bc61 44 case DEBUG_LEVEL_PANIC:
Benoit 1:f4040665bc61 45 result = "PANIC";
Benoit 1:f4040665bc61 46 break;
Benoit 1:f4040665bc61 47
Benoit 1:f4040665bc61 48 case DEBUG_LEVEL_VERBOSE0:
Benoit 1:f4040665bc61 49 result = "VERBOSE0";
Benoit 1:f4040665bc61 50 break;
Benoit 1:f4040665bc61 51
Benoit 1:f4040665bc61 52 case DEBUG_LEVEL_VERBOSE1:
Benoit 1:f4040665bc61 53 result = "VERBOSE1";
Benoit 1:f4040665bc61 54 break;
Benoit 1:f4040665bc61 55
Benoit 1:f4040665bc61 56 case DEBUG_LEVEL_VERBOSE2:
Benoit 1:f4040665bc61 57 result = "VERBOSE2";
Benoit 1:f4040665bc61 58 break;
Benoit 1:f4040665bc61 59
Benoit 1:f4040665bc61 60 default:
Benoit 1:f4040665bc61 61 result = "<unknown>";
Benoit 1:f4040665bc61 62 break;
Benoit 1:f4040665bc61 63 }
Benoit 1:f4040665bc61 64
Benoit 1:f4040665bc61 65 return result;
Benoit 1:f4040665bc61 66 }
Benoit 1:f4040665bc61 67
Benoit 1:f4040665bc61 68
Benoit 1:f4040665bc61 69 void Debug_DumpBufferHex(uint8_t *buffer, int32_t length)
Benoit 1:f4040665bc61 70 {
Benoit 1:f4040665bc61 71 int32_t i, address, index, tmpIndex;
Benoit 1:f4040665bc61 72
Benoit 1:f4040665bc61 73 index = 0;
Benoit 1:f4040665bc61 74 address = 0;
Benoit 1:f4040665bc61 75 while(index < length)
Benoit 1:f4040665bc61 76 {
Benoit 1:f4040665bc61 77 /* Print buffer relative address */
Benoit 1:f4040665bc61 78 DEBUG_RAW_NOCRLF(("%03X ", address));
Benoit 1:f4040665bc61 79
Benoit 1:f4040665bc61 80 /* Print hex bytes */
Benoit 1:f4040665bc61 81 for (i = 0; i < DEBUG_BUFFER_DUMP_LINE_LEN; i++)
Benoit 1:f4040665bc61 82 {
Benoit 1:f4040665bc61 83 tmpIndex = index + i;
Benoit 1:f4040665bc61 84 if (tmpIndex < length)
Benoit 1:f4040665bc61 85 {
Benoit 1:f4040665bc61 86 DEBUG_RAW_NOCRLF(("%02X ", buffer[tmpIndex]));
Benoit 1:f4040665bc61 87 }
Benoit 1:f4040665bc61 88 else
Benoit 1:f4040665bc61 89 {
Benoit 1:f4040665bc61 90 DEBUG_RAW_NOCRLF((" "));
Benoit 1:f4040665bc61 91 }
Benoit 1:f4040665bc61 92 }
Benoit 1:f4040665bc61 93
Benoit 1:f4040665bc61 94 DEBUG_RAW_NOCRLF((" - "));
Benoit 1:f4040665bc61 95
Benoit 1:f4040665bc61 96 /* Print ascii chars */
Benoit 1:f4040665bc61 97 for (i = 0; i < DEBUG_BUFFER_DUMP_LINE_LEN; i++)
Benoit 1:f4040665bc61 98 {
Benoit 1:f4040665bc61 99 tmpIndex = index + i;
Benoit 1:f4040665bc61 100 if (tmpIndex < length)
Benoit 1:f4040665bc61 101 {
Benoit 1:f4040665bc61 102 DEBUG_RAW_NOCRLF(("%c", buffer[tmpIndex] >= 32 ? buffer[tmpIndex] : '.'));
Benoit 1:f4040665bc61 103 }
Benoit 1:f4040665bc61 104 }
Benoit 1:f4040665bc61 105
Benoit 1:f4040665bc61 106 index += DEBUG_BUFFER_DUMP_LINE_LEN;
Benoit 1:f4040665bc61 107 address += DEBUG_BUFFER_DUMP_LINE_LEN;
Benoit 1:f4040665bc61 108
Benoit 1:f4040665bc61 109 DEBUG_RAW_NOCRLF(("\r\n"));
Benoit 1:f4040665bc61 110 }
Benoit 1:f4040665bc61 111
Benoit 1:f4040665bc61 112 }
Benoit 1:f4040665bc61 113