Embedded C project:18/12/2014

Dependencies:   DS1307 TextLCD mbed

Committer:
ninoderkinderen
Date:
Thu Dec 18 09:35:49 2014 +0000
Revision:
0:8d87bc453349
Programma embedded C

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ninoderkinderen 0:8d87bc453349 1 /*
ninoderkinderen 0:8d87bc453349 2 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
ninoderkinderen 0:8d87bc453349 3 * All rights reserved.
ninoderkinderen 0:8d87bc453349 4 *
ninoderkinderen 0:8d87bc453349 5 * Redistribution and use in source and binary forms, with or without modification,
ninoderkinderen 0:8d87bc453349 6 * are permitted provided that the following conditions are met:
ninoderkinderen 0:8d87bc453349 7 *
ninoderkinderen 0:8d87bc453349 8 * 1. Redistributions of source code must retain the above copyright notice,
ninoderkinderen 0:8d87bc453349 9 * this list of conditions and the following disclaimer.
ninoderkinderen 0:8d87bc453349 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
ninoderkinderen 0:8d87bc453349 11 * this list of conditions and the following disclaimer in the documentation
ninoderkinderen 0:8d87bc453349 12 * and/or other materials provided with the distribution.
ninoderkinderen 0:8d87bc453349 13 * 3. The name of the author may not be used to endorse or promote products
ninoderkinderen 0:8d87bc453349 14 * derived from this software without specific prior written permission.
ninoderkinderen 0:8d87bc453349 15 *
ninoderkinderen 0:8d87bc453349 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
ninoderkinderen 0:8d87bc453349 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
ninoderkinderen 0:8d87bc453349 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
ninoderkinderen 0:8d87bc453349 19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
ninoderkinderen 0:8d87bc453349 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
ninoderkinderen 0:8d87bc453349 21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
ninoderkinderen 0:8d87bc453349 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
ninoderkinderen 0:8d87bc453349 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
ninoderkinderen 0:8d87bc453349 24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
ninoderkinderen 0:8d87bc453349 25 * OF SUCH DAMAGE.
ninoderkinderen 0:8d87bc453349 26 *
ninoderkinderen 0:8d87bc453349 27 * This file is part of the lwIP TCP/IP stack.
ninoderkinderen 0:8d87bc453349 28 *
ninoderkinderen 0:8d87bc453349 29 * Author: Adam Dunkels <adam@sics.se>
ninoderkinderen 0:8d87bc453349 30 *
ninoderkinderen 0:8d87bc453349 31 */
ninoderkinderen 0:8d87bc453349 32 #ifndef __LWIP_DEBUG_H__
ninoderkinderen 0:8d87bc453349 33 #define __LWIP_DEBUG_H__
ninoderkinderen 0:8d87bc453349 34
ninoderkinderen 0:8d87bc453349 35 #include "lwip/arch.h"
ninoderkinderen 0:8d87bc453349 36
ninoderkinderen 0:8d87bc453349 37 /** lower two bits indicate debug level
ninoderkinderen 0:8d87bc453349 38 * - 0 all
ninoderkinderen 0:8d87bc453349 39 * - 1 warning
ninoderkinderen 0:8d87bc453349 40 * - 2 serious
ninoderkinderen 0:8d87bc453349 41 * - 3 severe
ninoderkinderen 0:8d87bc453349 42 */
ninoderkinderen 0:8d87bc453349 43 #define LWIP_DBG_LEVEL_ALL 0x00
ninoderkinderen 0:8d87bc453349 44 #define LWIP_DBG_LEVEL_OFF LWIP_DBG_LEVEL_ALL /* compatibility define only */
ninoderkinderen 0:8d87bc453349 45 #define LWIP_DBG_LEVEL_WARNING 0x01 /* bad checksums, dropped packets, ... */
ninoderkinderen 0:8d87bc453349 46 #define LWIP_DBG_LEVEL_SERIOUS 0x02 /* memory allocation failures, ... */
ninoderkinderen 0:8d87bc453349 47 #define LWIP_DBG_LEVEL_SEVERE 0x03
ninoderkinderen 0:8d87bc453349 48 #define LWIP_DBG_MASK_LEVEL 0x03
ninoderkinderen 0:8d87bc453349 49
ninoderkinderen 0:8d87bc453349 50 /** flag for LWIP_DEBUGF to enable that debug message */
ninoderkinderen 0:8d87bc453349 51 #define LWIP_DBG_ON 0x80U
ninoderkinderen 0:8d87bc453349 52 /** flag for LWIP_DEBUGF to disable that debug message */
ninoderkinderen 0:8d87bc453349 53 #define LWIP_DBG_OFF 0x00U
ninoderkinderen 0:8d87bc453349 54
ninoderkinderen 0:8d87bc453349 55 /** flag for LWIP_DEBUGF indicating a tracing message (to follow program flow) */
ninoderkinderen 0:8d87bc453349 56 #define LWIP_DBG_TRACE 0x40U
ninoderkinderen 0:8d87bc453349 57 /** flag for LWIP_DEBUGF indicating a state debug message (to follow module states) */
ninoderkinderen 0:8d87bc453349 58 #define LWIP_DBG_STATE 0x20U
ninoderkinderen 0:8d87bc453349 59 /** flag for LWIP_DEBUGF indicating newly added code, not thoroughly tested yet */
ninoderkinderen 0:8d87bc453349 60 #define LWIP_DBG_FRESH 0x10U
ninoderkinderen 0:8d87bc453349 61 /** flag for LWIP_DEBUGF to halt after printing this debug message */
ninoderkinderen 0:8d87bc453349 62 #define LWIP_DBG_HALT 0x08U
ninoderkinderen 0:8d87bc453349 63
ninoderkinderen 0:8d87bc453349 64 #ifndef LWIP_NOASSERT
ninoderkinderen 0:8d87bc453349 65 #define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \
ninoderkinderen 0:8d87bc453349 66 LWIP_PLATFORM_ASSERT(message); } while(0)
ninoderkinderen 0:8d87bc453349 67 #else /* LWIP_NOASSERT */
ninoderkinderen 0:8d87bc453349 68 #define LWIP_ASSERT(message, assertion)
ninoderkinderen 0:8d87bc453349 69 #endif /* LWIP_NOASSERT */
ninoderkinderen 0:8d87bc453349 70
ninoderkinderen 0:8d87bc453349 71 /** if "expression" isn't true, then print "message" and execute "handler" expression */
ninoderkinderen 0:8d87bc453349 72 #ifndef LWIP_ERROR
ninoderkinderen 0:8d87bc453349 73 #define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \
ninoderkinderen 0:8d87bc453349 74 LWIP_PLATFORM_ASSERT(message); handler;}} while(0)
ninoderkinderen 0:8d87bc453349 75 #endif /* LWIP_ERROR */
ninoderkinderen 0:8d87bc453349 76
ninoderkinderen 0:8d87bc453349 77 #ifdef LWIP_DEBUG
ninoderkinderen 0:8d87bc453349 78 /** print debug message only if debug message type is enabled...
ninoderkinderen 0:8d87bc453349 79 * AND is of correct type AND is at least LWIP_DBG_LEVEL
ninoderkinderen 0:8d87bc453349 80 */
ninoderkinderen 0:8d87bc453349 81 #define LWIP_DEBUGF(debug, message) do { \
ninoderkinderen 0:8d87bc453349 82 if ( \
ninoderkinderen 0:8d87bc453349 83 ((debug) & LWIP_DBG_ON) && \
ninoderkinderen 0:8d87bc453349 84 ((debug) & LWIP_DBG_TYPES_ON) && \
ninoderkinderen 0:8d87bc453349 85 ((s16_t)((debug) & LWIP_DBG_MASK_LEVEL) >= LWIP_DBG_MIN_LEVEL)) { \
ninoderkinderen 0:8d87bc453349 86 LWIP_PLATFORM_DIAG(message); \
ninoderkinderen 0:8d87bc453349 87 if ((debug) & LWIP_DBG_HALT) { \
ninoderkinderen 0:8d87bc453349 88 while(1); \
ninoderkinderen 0:8d87bc453349 89 } \
ninoderkinderen 0:8d87bc453349 90 } \
ninoderkinderen 0:8d87bc453349 91 } while(0)
ninoderkinderen 0:8d87bc453349 92
ninoderkinderen 0:8d87bc453349 93 #else /* LWIP_DEBUG */
ninoderkinderen 0:8d87bc453349 94 #define LWIP_DEBUGF(debug, message)
ninoderkinderen 0:8d87bc453349 95 #endif /* LWIP_DEBUG */
ninoderkinderen 0:8d87bc453349 96
ninoderkinderen 0:8d87bc453349 97 #endif /* __LWIP_DEBUG_H__ */
ninoderkinderen 0:8d87bc453349 98