Adapted to Lora Semtech + Nucleo

Dependencies:   DebugLib

Dependents:   LoRaWAN-lmic-app LoRaWAN-lmic-app LoRaWAN-test-10secs LoRaPersonalizedDeviceForEverynet ... more

Fork of lwip_ppp_ethernet by Donatien Garnier

Committer:
donatien
Date:
Thu May 24 15:53:48 2012 +0000
Revision:
0:8e01dca41002
Merge with Emilio's LwIp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:8e01dca41002 1 /**********************************************************************
donatien 0:8e01dca41002 2 * $Id$ lpc_types.h 2008-07-27
donatien 0:8e01dca41002 3 *//**
donatien 0:8e01dca41002 4 * @file lpc_types.h
donatien 0:8e01dca41002 5 * @brief Contains the NXP ABL typedefs for C standard types.
donatien 0:8e01dca41002 6 * It is intended to be used in ISO C conforming development
donatien 0:8e01dca41002 7 * environments and checks for this insofar as it is possible
donatien 0:8e01dca41002 8 * to do so.
donatien 0:8e01dca41002 9 * @version 2.0
donatien 0:8e01dca41002 10 * @date 27 Jul. 2008
donatien 0:8e01dca41002 11 * @author NXP MCU SW Application Team
donatien 0:8e01dca41002 12 *
donatien 0:8e01dca41002 13 * Copyright(C) 2008, NXP Semiconductor
donatien 0:8e01dca41002 14 * All rights reserved.
donatien 0:8e01dca41002 15 *
donatien 0:8e01dca41002 16 ***********************************************************************
donatien 0:8e01dca41002 17 * Software that is described herein is for illustrative purposes only
donatien 0:8e01dca41002 18 * which provides customers with programming information regarding the
donatien 0:8e01dca41002 19 * products. This software is supplied "AS IS" without any warranties.
donatien 0:8e01dca41002 20 * NXP Semiconductors assumes no responsibility or liability for the
donatien 0:8e01dca41002 21 * use of the software, conveys no license or title under any patent,
donatien 0:8e01dca41002 22 * copyright, or mask work right to the product. NXP Semiconductors
donatien 0:8e01dca41002 23 * reserves the right to make changes in the software without
donatien 0:8e01dca41002 24 * notification. NXP Semiconductors also make no representation or
donatien 0:8e01dca41002 25 * warranty that such application will be suitable for the specified
donatien 0:8e01dca41002 26 * use without further testing or modification.
donatien 0:8e01dca41002 27 **********************************************************************/
donatien 0:8e01dca41002 28
donatien 0:8e01dca41002 29 /* Type group ----------------------------------------------------------- */
donatien 0:8e01dca41002 30 /** @defgroup LPC_Types LPC_Types
donatien 0:8e01dca41002 31 * @ingroup LPC1700CMSIS_FwLib_Drivers
donatien 0:8e01dca41002 32 * @{
donatien 0:8e01dca41002 33 */
donatien 0:8e01dca41002 34
donatien 0:8e01dca41002 35 #ifndef LPC_TYPES_H
donatien 0:8e01dca41002 36 #define LPC_TYPES_H
donatien 0:8e01dca41002 37
donatien 0:8e01dca41002 38 /* Includes ------------------------------------------------------------------- */
donatien 0:8e01dca41002 39 #include <stdint.h>
donatien 0:8e01dca41002 40
donatien 0:8e01dca41002 41
donatien 0:8e01dca41002 42 /* Public Types --------------------------------------------------------------- */
donatien 0:8e01dca41002 43 /** @defgroup LPC_Types_Public_Types LPC_Types Public Types
donatien 0:8e01dca41002 44 * @{
donatien 0:8e01dca41002 45 */
donatien 0:8e01dca41002 46
donatien 0:8e01dca41002 47 /**
donatien 0:8e01dca41002 48 * @brief Boolean Type definition
donatien 0:8e01dca41002 49 */
donatien 0:8e01dca41002 50 typedef enum {FALSE = 0, TRUE = !FALSE} Bool;
donatien 0:8e01dca41002 51
donatien 0:8e01dca41002 52 /**
donatien 0:8e01dca41002 53 * @brief Flag Status and Interrupt Flag Status type definition
donatien 0:8e01dca41002 54 */
donatien 0:8e01dca41002 55 typedef enum {RESET = 0, SET = !RESET} FlagStatus, IntStatus, SetState;
donatien 0:8e01dca41002 56 #define PARAM_SETSTATE(State) ((State==RESET) || (State==SET))
donatien 0:8e01dca41002 57
donatien 0:8e01dca41002 58 /**
donatien 0:8e01dca41002 59 * @brief Functional State Definition
donatien 0:8e01dca41002 60 */
donatien 0:8e01dca41002 61 typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
donatien 0:8e01dca41002 62 #define PARAM_FUNCTIONALSTATE(State) ((State==DISABLE) || (State==ENABLE))
donatien 0:8e01dca41002 63
donatien 0:8e01dca41002 64 /**
donatien 0:8e01dca41002 65 * @ Status type definition
donatien 0:8e01dca41002 66 */
donatien 0:8e01dca41002 67 typedef enum {ERROR = 0, SUCCESS = !ERROR} Status;
donatien 0:8e01dca41002 68
donatien 0:8e01dca41002 69
donatien 0:8e01dca41002 70 /**
donatien 0:8e01dca41002 71 * Read/Write transfer type mode (Block or non-block)
donatien 0:8e01dca41002 72 */
donatien 0:8e01dca41002 73 typedef enum
donatien 0:8e01dca41002 74 {
donatien 0:8e01dca41002 75 NONE_BLOCKING = 0, /**< None Blocking type */
donatien 0:8e01dca41002 76 BLOCKING /**< Blocking type */
donatien 0:8e01dca41002 77 } TRANSFER_BLOCK_Type;
donatien 0:8e01dca41002 78
donatien 0:8e01dca41002 79
donatien 0:8e01dca41002 80 /** Pointer to Function returning Void (any number of parameters) */
donatien 0:8e01dca41002 81 typedef void (*PFV)();
donatien 0:8e01dca41002 82
donatien 0:8e01dca41002 83 /** Pointer to Function returning int32_t (any number of parameters) */
donatien 0:8e01dca41002 84 typedef int32_t(*PFI)();
donatien 0:8e01dca41002 85
donatien 0:8e01dca41002 86 /**
donatien 0:8e01dca41002 87 * @}
donatien 0:8e01dca41002 88 */
donatien 0:8e01dca41002 89
donatien 0:8e01dca41002 90
donatien 0:8e01dca41002 91 /* Public Macros -------------------------------------------------------------- */
donatien 0:8e01dca41002 92 /** @defgroup LPC_Types_Public_Macros LPC_Types Public Macros
donatien 0:8e01dca41002 93 * @{
donatien 0:8e01dca41002 94 */
donatien 0:8e01dca41002 95
donatien 0:8e01dca41002 96 /* _BIT(n) sets the bit at position "n"
donatien 0:8e01dca41002 97 * _BIT(n) is intended to be used in "OR" and "AND" expressions:
donatien 0:8e01dca41002 98 * e.g., "(_BIT(3) | _BIT(7))".
donatien 0:8e01dca41002 99 */
donatien 0:8e01dca41002 100 #undef _BIT
donatien 0:8e01dca41002 101 /* Set bit macro */
donatien 0:8e01dca41002 102 #define _BIT(n) (1<<n)
donatien 0:8e01dca41002 103
donatien 0:8e01dca41002 104 /* _SBF(f,v) sets the bit field starting at position "f" to value "v".
donatien 0:8e01dca41002 105 * _SBF(f,v) is intended to be used in "OR" and "AND" expressions:
donatien 0:8e01dca41002 106 * e.g., "((_SBF(5,7) | _SBF(12,0xF)) & 0xFFFF)"
donatien 0:8e01dca41002 107 */
donatien 0:8e01dca41002 108 #undef _SBF
donatien 0:8e01dca41002 109 /* Set bit field macro */
donatien 0:8e01dca41002 110 #define _SBF(f,v) (v<<f)
donatien 0:8e01dca41002 111
donatien 0:8e01dca41002 112 /* _BITMASK constructs a symbol with 'field_width' least significant
donatien 0:8e01dca41002 113 * bits set.
donatien 0:8e01dca41002 114 * e.g., _BITMASK(5) constructs '0x1F', _BITMASK(16) == 0xFFFF
donatien 0:8e01dca41002 115 * The symbol is intended to be used to limit the bit field width
donatien 0:8e01dca41002 116 * thusly:
donatien 0:8e01dca41002 117 * <a_register> = (any_expression) & _BITMASK(x), where 0 < x <= 32.
donatien 0:8e01dca41002 118 * If "any_expression" results in a value that is larger than can be
donatien 0:8e01dca41002 119 * contained in 'x' bits, the bits above 'x - 1' are masked off. When
donatien 0:8e01dca41002 120 * used with the _SBF example above, the example would be written:
donatien 0:8e01dca41002 121 * a_reg = ((_SBF(5,7) | _SBF(12,0xF)) & _BITMASK(16))
donatien 0:8e01dca41002 122 * This ensures that the value written to a_reg is no wider than
donatien 0:8e01dca41002 123 * 16 bits, and makes the code easier to read and understand.
donatien 0:8e01dca41002 124 */
donatien 0:8e01dca41002 125 #undef _BITMASK
donatien 0:8e01dca41002 126 /* Bitmask creation macro */
donatien 0:8e01dca41002 127 #define _BITMASK(field_width) ( _BIT(field_width) - 1)
donatien 0:8e01dca41002 128
donatien 0:8e01dca41002 129 /* NULL pointer */
donatien 0:8e01dca41002 130 #ifndef NULL
donatien 0:8e01dca41002 131 #define NULL ((void*) 0)
donatien 0:8e01dca41002 132 #endif
donatien 0:8e01dca41002 133
donatien 0:8e01dca41002 134 /* Number of elements in an array */
donatien 0:8e01dca41002 135 #define NELEMENTS(array) (sizeof (array) / sizeof (array[0]))
donatien 0:8e01dca41002 136
donatien 0:8e01dca41002 137 /* Static data/function define */
donatien 0:8e01dca41002 138 #define STATIC static
donatien 0:8e01dca41002 139 /* External data/function define */
donatien 0:8e01dca41002 140 #define EXTERN extern
donatien 0:8e01dca41002 141
donatien 0:8e01dca41002 142 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
donatien 0:8e01dca41002 143 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
donatien 0:8e01dca41002 144
donatien 0:8e01dca41002 145 /**
donatien 0:8e01dca41002 146 * @}
donatien 0:8e01dca41002 147 */
donatien 0:8e01dca41002 148
donatien 0:8e01dca41002 149
donatien 0:8e01dca41002 150 /* Old Type Definition compatibility ------------------------------------------ */
donatien 0:8e01dca41002 151 /** @addtogroup LPC_Types_Public_Types LPC_Types Public Types
donatien 0:8e01dca41002 152 * @{
donatien 0:8e01dca41002 153 */
donatien 0:8e01dca41002 154
donatien 0:8e01dca41002 155 /** SMA type for character type */
donatien 0:8e01dca41002 156 typedef char CHAR;
donatien 0:8e01dca41002 157
donatien 0:8e01dca41002 158 /** SMA type for 8 bit unsigned value */
donatien 0:8e01dca41002 159 typedef uint8_t UNS_8;
donatien 0:8e01dca41002 160
donatien 0:8e01dca41002 161 /** SMA type for 8 bit signed value */
donatien 0:8e01dca41002 162 typedef int8_t INT_8;
donatien 0:8e01dca41002 163
donatien 0:8e01dca41002 164 /** SMA type for 16 bit unsigned value */
donatien 0:8e01dca41002 165 typedef uint16_t UNS_16;
donatien 0:8e01dca41002 166
donatien 0:8e01dca41002 167 /** SMA type for 16 bit signed value */
donatien 0:8e01dca41002 168 typedef int16_t INT_16;
donatien 0:8e01dca41002 169
donatien 0:8e01dca41002 170 /** SMA type for 32 bit unsigned value */
donatien 0:8e01dca41002 171 typedef uint32_t UNS_32;
donatien 0:8e01dca41002 172
donatien 0:8e01dca41002 173 /** SMA type for 32 bit signed value */
donatien 0:8e01dca41002 174 typedef int32_t INT_32;
donatien 0:8e01dca41002 175
donatien 0:8e01dca41002 176 /** SMA type for 64 bit signed value */
donatien 0:8e01dca41002 177 typedef int64_t INT_64;
donatien 0:8e01dca41002 178
donatien 0:8e01dca41002 179 /** SMA type for 64 bit unsigned value */
donatien 0:8e01dca41002 180 typedef uint64_t UNS_64;
donatien 0:8e01dca41002 181
donatien 0:8e01dca41002 182 /** 32 bit boolean type */
donatien 0:8e01dca41002 183 typedef Bool BOOL_32;
donatien 0:8e01dca41002 184
donatien 0:8e01dca41002 185 /** 16 bit boolean type */
donatien 0:8e01dca41002 186 typedef Bool BOOL_16;
donatien 0:8e01dca41002 187
donatien 0:8e01dca41002 188 /** 8 bit boolean type */
donatien 0:8e01dca41002 189 typedef Bool BOOL_8;
donatien 0:8e01dca41002 190
donatien 0:8e01dca41002 191 /**
donatien 0:8e01dca41002 192 * @}
donatien 0:8e01dca41002 193 */
donatien 0:8e01dca41002 194
donatien 0:8e01dca41002 195
donatien 0:8e01dca41002 196 #endif /* LPC_TYPES_H */
donatien 0:8e01dca41002 197
donatien 0:8e01dca41002 198 /**
donatien 0:8e01dca41002 199 * @}
donatien 0:8e01dca41002 200 */
donatien 0:8e01dca41002 201
donatien 0:8e01dca41002 202 /* --------------------------------- End Of File ------------------------------ */