Adapted to Lora Semtech + Nucleo
Dependents: LoRaWAN-lmic-app LoRaWAN-lmic-app LoRaWAN-test-10secs LoRaPersonalizedDeviceForEverynet ... more
Fork of lwip_ppp_ethernet by
arch/lpc_types.h@0:8e01dca41002, 2012-05-24 (annotated)
- 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?
User | Revision | Line number | New 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 ------------------------------ */ |