Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sun May 14 23:18:57 2017 +0000
Revision:
18:6a4db94011d3
Publishing again

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 #ifndef ATMEL_PARTS_H
sahilmgandhi 18:6a4db94011d3 2 #define ATMEL_PARTS_H
sahilmgandhi 18:6a4db94011d3 3
sahilmgandhi 18:6a4db94011d3 4 /**
sahilmgandhi 18:6a4db94011d3 5 * \defgroup part_macros_group Atmel part identification macros
sahilmgandhi 18:6a4db94011d3 6 *
sahilmgandhi 18:6a4db94011d3 7 * This collection of macros identify which series and families that the various
sahilmgandhi 18:6a4db94011d3 8 * Atmel parts belong to. These can be used to select part-dependent sections of
sahilmgandhi 18:6a4db94011d3 9 * code at compile time.
sahilmgandhi 18:6a4db94011d3 10 *
sahilmgandhi 18:6a4db94011d3 11 * @{
sahilmgandhi 18:6a4db94011d3 12 */
sahilmgandhi 18:6a4db94011d3 13
sahilmgandhi 18:6a4db94011d3 14 /**
sahilmgandhi 18:6a4db94011d3 15 * \name Convenience macros for part checking
sahilmgandhi 18:6a4db94011d3 16 * @{
sahilmgandhi 18:6a4db94011d3 17 */
sahilmgandhi 18:6a4db94011d3 18 /* ! Check GCC and IAR part definition for 8-bit AVR */
sahilmgandhi 18:6a4db94011d3 19 #define AVR8_PART_IS_DEFINED(part) \
sahilmgandhi 18:6a4db94011d3 20 (defined(__ ## part ## __) || defined(__AVR_ ## part ## __))
sahilmgandhi 18:6a4db94011d3 21
sahilmgandhi 18:6a4db94011d3 22 /* ! Check GCC and IAR part definition for 32-bit AVR */
sahilmgandhi 18:6a4db94011d3 23 #define AVR32_PART_IS_DEFINED(part) \
sahilmgandhi 18:6a4db94011d3 24 (defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __))
sahilmgandhi 18:6a4db94011d3 25
sahilmgandhi 18:6a4db94011d3 26 /* ! Check GCC and IAR part definition for SAM */
sahilmgandhi 18:6a4db94011d3 27 #define SAM_PART_IS_DEFINED(part) (defined(__ ## part ## __))
sahilmgandhi 18:6a4db94011d3 28 /** @} */
sahilmgandhi 18:6a4db94011d3 29
sahilmgandhi 18:6a4db94011d3 30 /**
sahilmgandhi 18:6a4db94011d3 31 * \defgroup uc3_part_macros_group AVR UC3 parts
sahilmgandhi 18:6a4db94011d3 32 * @{
sahilmgandhi 18:6a4db94011d3 33 */
sahilmgandhi 18:6a4db94011d3 34
sahilmgandhi 18:6a4db94011d3 35 /**
sahilmgandhi 18:6a4db94011d3 36 * \name AVR UC3 A series
sahilmgandhi 18:6a4db94011d3 37 * @{
sahilmgandhi 18:6a4db94011d3 38 */
sahilmgandhi 18:6a4db94011d3 39 #define UC3A0 ( \
sahilmgandhi 18:6a4db94011d3 40 AVR32_PART_IS_DEFINED(UC3A0128) || \
sahilmgandhi 18:6a4db94011d3 41 AVR32_PART_IS_DEFINED(UC3A0256) || \
sahilmgandhi 18:6a4db94011d3 42 AVR32_PART_IS_DEFINED(UC3A0512) \
sahilmgandhi 18:6a4db94011d3 43 )
sahilmgandhi 18:6a4db94011d3 44
sahilmgandhi 18:6a4db94011d3 45 #define UC3A1 ( \
sahilmgandhi 18:6a4db94011d3 46 AVR32_PART_IS_DEFINED(UC3A1128) || \
sahilmgandhi 18:6a4db94011d3 47 AVR32_PART_IS_DEFINED(UC3A1256) || \
sahilmgandhi 18:6a4db94011d3 48 AVR32_PART_IS_DEFINED(UC3A1512) \
sahilmgandhi 18:6a4db94011d3 49 )
sahilmgandhi 18:6a4db94011d3 50
sahilmgandhi 18:6a4db94011d3 51 #define UC3A3 ( \
sahilmgandhi 18:6a4db94011d3 52 AVR32_PART_IS_DEFINED(UC3A364) || \
sahilmgandhi 18:6a4db94011d3 53 AVR32_PART_IS_DEFINED(UC3A364S) || \
sahilmgandhi 18:6a4db94011d3 54 AVR32_PART_IS_DEFINED(UC3A3128) || \
sahilmgandhi 18:6a4db94011d3 55 AVR32_PART_IS_DEFINED(UC3A3128S) || \
sahilmgandhi 18:6a4db94011d3 56 AVR32_PART_IS_DEFINED(UC3A3256) || \
sahilmgandhi 18:6a4db94011d3 57 AVR32_PART_IS_DEFINED(UC3A3256S) \
sahilmgandhi 18:6a4db94011d3 58 )
sahilmgandhi 18:6a4db94011d3 59
sahilmgandhi 18:6a4db94011d3 60 #define UC3A4 ( \
sahilmgandhi 18:6a4db94011d3 61 AVR32_PART_IS_DEFINED(UC3A464) || \
sahilmgandhi 18:6a4db94011d3 62 AVR32_PART_IS_DEFINED(UC3A464S) || \
sahilmgandhi 18:6a4db94011d3 63 AVR32_PART_IS_DEFINED(UC3A4128) || \
sahilmgandhi 18:6a4db94011d3 64 AVR32_PART_IS_DEFINED(UC3A4128S) || \
sahilmgandhi 18:6a4db94011d3 65 AVR32_PART_IS_DEFINED(UC3A4256) || \
sahilmgandhi 18:6a4db94011d3 66 AVR32_PART_IS_DEFINED(UC3A4256S) \
sahilmgandhi 18:6a4db94011d3 67 )
sahilmgandhi 18:6a4db94011d3 68 /** @} */
sahilmgandhi 18:6a4db94011d3 69
sahilmgandhi 18:6a4db94011d3 70 /**
sahilmgandhi 18:6a4db94011d3 71 * \name AVR UC3 B series
sahilmgandhi 18:6a4db94011d3 72 * @{
sahilmgandhi 18:6a4db94011d3 73 */
sahilmgandhi 18:6a4db94011d3 74 #define UC3B0 ( \
sahilmgandhi 18:6a4db94011d3 75 AVR32_PART_IS_DEFINED(UC3B064) || \
sahilmgandhi 18:6a4db94011d3 76 AVR32_PART_IS_DEFINED(UC3B0128) || \
sahilmgandhi 18:6a4db94011d3 77 AVR32_PART_IS_DEFINED(UC3B0256) || \
sahilmgandhi 18:6a4db94011d3 78 AVR32_PART_IS_DEFINED(UC3B0512) \
sahilmgandhi 18:6a4db94011d3 79 )
sahilmgandhi 18:6a4db94011d3 80
sahilmgandhi 18:6a4db94011d3 81 #define UC3B1 ( \
sahilmgandhi 18:6a4db94011d3 82 AVR32_PART_IS_DEFINED(UC3B164) || \
sahilmgandhi 18:6a4db94011d3 83 AVR32_PART_IS_DEFINED(UC3B1128) || \
sahilmgandhi 18:6a4db94011d3 84 AVR32_PART_IS_DEFINED(UC3B1256) || \
sahilmgandhi 18:6a4db94011d3 85 AVR32_PART_IS_DEFINED(UC3B1512) \
sahilmgandhi 18:6a4db94011d3 86 )
sahilmgandhi 18:6a4db94011d3 87 /** @} */
sahilmgandhi 18:6a4db94011d3 88
sahilmgandhi 18:6a4db94011d3 89 /**
sahilmgandhi 18:6a4db94011d3 90 * \name AVR UC3 C series
sahilmgandhi 18:6a4db94011d3 91 * @{
sahilmgandhi 18:6a4db94011d3 92 */
sahilmgandhi 18:6a4db94011d3 93 #define UC3C0 ( \
sahilmgandhi 18:6a4db94011d3 94 AVR32_PART_IS_DEFINED(UC3C064C) || \
sahilmgandhi 18:6a4db94011d3 95 AVR32_PART_IS_DEFINED(UC3C0128C) || \
sahilmgandhi 18:6a4db94011d3 96 AVR32_PART_IS_DEFINED(UC3C0256C) || \
sahilmgandhi 18:6a4db94011d3 97 AVR32_PART_IS_DEFINED(UC3C0512C) \
sahilmgandhi 18:6a4db94011d3 98 )
sahilmgandhi 18:6a4db94011d3 99
sahilmgandhi 18:6a4db94011d3 100 #define UC3C1 ( \
sahilmgandhi 18:6a4db94011d3 101 AVR32_PART_IS_DEFINED(UC3C164C) || \
sahilmgandhi 18:6a4db94011d3 102 AVR32_PART_IS_DEFINED(UC3C1128C) || \
sahilmgandhi 18:6a4db94011d3 103 AVR32_PART_IS_DEFINED(UC3C1256C) || \
sahilmgandhi 18:6a4db94011d3 104 AVR32_PART_IS_DEFINED(UC3C1512C) \
sahilmgandhi 18:6a4db94011d3 105 )
sahilmgandhi 18:6a4db94011d3 106
sahilmgandhi 18:6a4db94011d3 107 #define UC3C2 ( \
sahilmgandhi 18:6a4db94011d3 108 AVR32_PART_IS_DEFINED(UC3C264C) || \
sahilmgandhi 18:6a4db94011d3 109 AVR32_PART_IS_DEFINED(UC3C2128C) || \
sahilmgandhi 18:6a4db94011d3 110 AVR32_PART_IS_DEFINED(UC3C2256C) || \
sahilmgandhi 18:6a4db94011d3 111 AVR32_PART_IS_DEFINED(UC3C2512C) \
sahilmgandhi 18:6a4db94011d3 112 )
sahilmgandhi 18:6a4db94011d3 113 /** @} */
sahilmgandhi 18:6a4db94011d3 114
sahilmgandhi 18:6a4db94011d3 115 /**
sahilmgandhi 18:6a4db94011d3 116 * \name AVR UC3 D series
sahilmgandhi 18:6a4db94011d3 117 * @{
sahilmgandhi 18:6a4db94011d3 118 */
sahilmgandhi 18:6a4db94011d3 119 #define UC3D3 ( \
sahilmgandhi 18:6a4db94011d3 120 AVR32_PART_IS_DEFINED(UC64D3) || \
sahilmgandhi 18:6a4db94011d3 121 AVR32_PART_IS_DEFINED(UC128D3) \
sahilmgandhi 18:6a4db94011d3 122 )
sahilmgandhi 18:6a4db94011d3 123
sahilmgandhi 18:6a4db94011d3 124 #define UC3D4 ( \
sahilmgandhi 18:6a4db94011d3 125 AVR32_PART_IS_DEFINED(UC64D4) || \
sahilmgandhi 18:6a4db94011d3 126 AVR32_PART_IS_DEFINED(UC128D4) \
sahilmgandhi 18:6a4db94011d3 127 )
sahilmgandhi 18:6a4db94011d3 128 /** @} */
sahilmgandhi 18:6a4db94011d3 129
sahilmgandhi 18:6a4db94011d3 130 /**
sahilmgandhi 18:6a4db94011d3 131 * \name AVR UC3 L series
sahilmgandhi 18:6a4db94011d3 132 * @{
sahilmgandhi 18:6a4db94011d3 133 */
sahilmgandhi 18:6a4db94011d3 134 #define UC3L0 ( \
sahilmgandhi 18:6a4db94011d3 135 AVR32_PART_IS_DEFINED(UC3L016) || \
sahilmgandhi 18:6a4db94011d3 136 AVR32_PART_IS_DEFINED(UC3L032) || \
sahilmgandhi 18:6a4db94011d3 137 AVR32_PART_IS_DEFINED(UC3L064) \
sahilmgandhi 18:6a4db94011d3 138 )
sahilmgandhi 18:6a4db94011d3 139
sahilmgandhi 18:6a4db94011d3 140 #define UC3L0128 ( \
sahilmgandhi 18:6a4db94011d3 141 AVR32_PART_IS_DEFINED(UC3L0128) \
sahilmgandhi 18:6a4db94011d3 142 )
sahilmgandhi 18:6a4db94011d3 143
sahilmgandhi 18:6a4db94011d3 144 #define UC3L0256 ( \
sahilmgandhi 18:6a4db94011d3 145 AVR32_PART_IS_DEFINED(UC3L0256) \
sahilmgandhi 18:6a4db94011d3 146 )
sahilmgandhi 18:6a4db94011d3 147
sahilmgandhi 18:6a4db94011d3 148 #define UC3L3 ( \
sahilmgandhi 18:6a4db94011d3 149 AVR32_PART_IS_DEFINED(UC64L3U) || \
sahilmgandhi 18:6a4db94011d3 150 AVR32_PART_IS_DEFINED(UC128L3U) || \
sahilmgandhi 18:6a4db94011d3 151 AVR32_PART_IS_DEFINED(UC256L3U) \
sahilmgandhi 18:6a4db94011d3 152 )
sahilmgandhi 18:6a4db94011d3 153
sahilmgandhi 18:6a4db94011d3 154 #define UC3L4 ( \
sahilmgandhi 18:6a4db94011d3 155 AVR32_PART_IS_DEFINED(UC64L4U) || \
sahilmgandhi 18:6a4db94011d3 156 AVR32_PART_IS_DEFINED(UC128L4U) || \
sahilmgandhi 18:6a4db94011d3 157 AVR32_PART_IS_DEFINED(UC256L4U) \
sahilmgandhi 18:6a4db94011d3 158 )
sahilmgandhi 18:6a4db94011d3 159
sahilmgandhi 18:6a4db94011d3 160 #define UC3L3_L4 (UC3L3 || UC3L4)
sahilmgandhi 18:6a4db94011d3 161 /** @} */
sahilmgandhi 18:6a4db94011d3 162
sahilmgandhi 18:6a4db94011d3 163 /**
sahilmgandhi 18:6a4db94011d3 164 * \name AVR UC3 families
sahilmgandhi 18:6a4db94011d3 165 * @{
sahilmgandhi 18:6a4db94011d3 166 */
sahilmgandhi 18:6a4db94011d3 167 /** AVR UC3 A family */
sahilmgandhi 18:6a4db94011d3 168 #define UC3A (UC3A0 || UC3A1 || UC3A3 || UC3A4)
sahilmgandhi 18:6a4db94011d3 169
sahilmgandhi 18:6a4db94011d3 170 /** AVR UC3 B family */
sahilmgandhi 18:6a4db94011d3 171 #define UC3B (UC3B0 || UC3B1)
sahilmgandhi 18:6a4db94011d3 172
sahilmgandhi 18:6a4db94011d3 173 /** AVR UC3 C family */
sahilmgandhi 18:6a4db94011d3 174 #define UC3C (UC3C0 || UC3C1 || UC3C2)
sahilmgandhi 18:6a4db94011d3 175
sahilmgandhi 18:6a4db94011d3 176 /** AVR UC3 D family */
sahilmgandhi 18:6a4db94011d3 177 #define UC3D (UC3D3 || UC3D4)
sahilmgandhi 18:6a4db94011d3 178
sahilmgandhi 18:6a4db94011d3 179 /** AVR UC3 L family */
sahilmgandhi 18:6a4db94011d3 180 #define UC3L (UC3L0 || UC3L0128 || UC3L0256 || UC3L3_L4)
sahilmgandhi 18:6a4db94011d3 181 /** @} */
sahilmgandhi 18:6a4db94011d3 182
sahilmgandhi 18:6a4db94011d3 183 /** AVR UC3 product line */
sahilmgandhi 18:6a4db94011d3 184 #define UC3 (UC3A || UC3B || UC3C || UC3D || UC3L)
sahilmgandhi 18:6a4db94011d3 185
sahilmgandhi 18:6a4db94011d3 186 /** @} */
sahilmgandhi 18:6a4db94011d3 187
sahilmgandhi 18:6a4db94011d3 188 /**
sahilmgandhi 18:6a4db94011d3 189 * \defgroup xmega_part_macros_group AVR XMEGA parts
sahilmgandhi 18:6a4db94011d3 190 * @{
sahilmgandhi 18:6a4db94011d3 191 */
sahilmgandhi 18:6a4db94011d3 192
sahilmgandhi 18:6a4db94011d3 193 /**
sahilmgandhi 18:6a4db94011d3 194 * \name AVR XMEGA A series
sahilmgandhi 18:6a4db94011d3 195 * @{
sahilmgandhi 18:6a4db94011d3 196 */
sahilmgandhi 18:6a4db94011d3 197 #define XMEGA_A1 ( \
sahilmgandhi 18:6a4db94011d3 198 AVR8_PART_IS_DEFINED(ATxmega64A1) || \
sahilmgandhi 18:6a4db94011d3 199 AVR8_PART_IS_DEFINED(ATxmega128A1) \
sahilmgandhi 18:6a4db94011d3 200 )
sahilmgandhi 18:6a4db94011d3 201
sahilmgandhi 18:6a4db94011d3 202 #define XMEGA_A3 ( \
sahilmgandhi 18:6a4db94011d3 203 AVR8_PART_IS_DEFINED(ATxmega64A3) || \
sahilmgandhi 18:6a4db94011d3 204 AVR8_PART_IS_DEFINED(ATxmega128A3) || \
sahilmgandhi 18:6a4db94011d3 205 AVR8_PART_IS_DEFINED(ATxmega192A3) || \
sahilmgandhi 18:6a4db94011d3 206 AVR8_PART_IS_DEFINED(ATxmega256A3) \
sahilmgandhi 18:6a4db94011d3 207 )
sahilmgandhi 18:6a4db94011d3 208
sahilmgandhi 18:6a4db94011d3 209 #define XMEGA_A3B ( \
sahilmgandhi 18:6a4db94011d3 210 AVR8_PART_IS_DEFINED(ATxmega256A3B) \
sahilmgandhi 18:6a4db94011d3 211 )
sahilmgandhi 18:6a4db94011d3 212
sahilmgandhi 18:6a4db94011d3 213 #define XMEGA_A4 ( \
sahilmgandhi 18:6a4db94011d3 214 AVR8_PART_IS_DEFINED(ATxmega16A4) || \
sahilmgandhi 18:6a4db94011d3 215 AVR8_PART_IS_DEFINED(ATxmega32A4) \
sahilmgandhi 18:6a4db94011d3 216 )
sahilmgandhi 18:6a4db94011d3 217 /** @} */
sahilmgandhi 18:6a4db94011d3 218
sahilmgandhi 18:6a4db94011d3 219 /**
sahilmgandhi 18:6a4db94011d3 220 * \name AVR XMEGA AU series
sahilmgandhi 18:6a4db94011d3 221 * @{
sahilmgandhi 18:6a4db94011d3 222 */
sahilmgandhi 18:6a4db94011d3 223 #define XMEGA_A1U ( \
sahilmgandhi 18:6a4db94011d3 224 AVR8_PART_IS_DEFINED(ATxmega64A1U) || \
sahilmgandhi 18:6a4db94011d3 225 AVR8_PART_IS_DEFINED(ATxmega128A1U) \
sahilmgandhi 18:6a4db94011d3 226 )
sahilmgandhi 18:6a4db94011d3 227
sahilmgandhi 18:6a4db94011d3 228 #define XMEGA_A3U ( \
sahilmgandhi 18:6a4db94011d3 229 AVR8_PART_IS_DEFINED(ATxmega64A3U) || \
sahilmgandhi 18:6a4db94011d3 230 AVR8_PART_IS_DEFINED(ATxmega128A3U) || \
sahilmgandhi 18:6a4db94011d3 231 AVR8_PART_IS_DEFINED(ATxmega192A3U) || \
sahilmgandhi 18:6a4db94011d3 232 AVR8_PART_IS_DEFINED(ATxmega256A3U) \
sahilmgandhi 18:6a4db94011d3 233 )
sahilmgandhi 18:6a4db94011d3 234
sahilmgandhi 18:6a4db94011d3 235 #define XMEGA_A3BU ( \
sahilmgandhi 18:6a4db94011d3 236 AVR8_PART_IS_DEFINED(ATxmega256A3BU) \
sahilmgandhi 18:6a4db94011d3 237 )
sahilmgandhi 18:6a4db94011d3 238
sahilmgandhi 18:6a4db94011d3 239 #define XMEGA_A4U ( \
sahilmgandhi 18:6a4db94011d3 240 AVR8_PART_IS_DEFINED(ATxmega16A4U) || \
sahilmgandhi 18:6a4db94011d3 241 AVR8_PART_IS_DEFINED(ATxmega32A4U) || \
sahilmgandhi 18:6a4db94011d3 242 AVR8_PART_IS_DEFINED(ATxmega64A4U) || \
sahilmgandhi 18:6a4db94011d3 243 AVR8_PART_IS_DEFINED(ATxmega128A4U) \
sahilmgandhi 18:6a4db94011d3 244 )
sahilmgandhi 18:6a4db94011d3 245 /** @} */
sahilmgandhi 18:6a4db94011d3 246
sahilmgandhi 18:6a4db94011d3 247 /**
sahilmgandhi 18:6a4db94011d3 248 * \name AVR XMEGA B series
sahilmgandhi 18:6a4db94011d3 249 * @{
sahilmgandhi 18:6a4db94011d3 250 */
sahilmgandhi 18:6a4db94011d3 251 #define XMEGA_B1 ( \
sahilmgandhi 18:6a4db94011d3 252 AVR8_PART_IS_DEFINED(ATxmega64B1) || \
sahilmgandhi 18:6a4db94011d3 253 AVR8_PART_IS_DEFINED(ATxmega128B1) \
sahilmgandhi 18:6a4db94011d3 254 )
sahilmgandhi 18:6a4db94011d3 255
sahilmgandhi 18:6a4db94011d3 256 #define XMEGA_B3 ( \
sahilmgandhi 18:6a4db94011d3 257 AVR8_PART_IS_DEFINED(ATxmega64B3) || \
sahilmgandhi 18:6a4db94011d3 258 AVR8_PART_IS_DEFINED(ATxmega128B3) \
sahilmgandhi 18:6a4db94011d3 259 )
sahilmgandhi 18:6a4db94011d3 260 /** @} */
sahilmgandhi 18:6a4db94011d3 261
sahilmgandhi 18:6a4db94011d3 262 /**
sahilmgandhi 18:6a4db94011d3 263 * \name AVR XMEGA C series
sahilmgandhi 18:6a4db94011d3 264 * @{
sahilmgandhi 18:6a4db94011d3 265 */
sahilmgandhi 18:6a4db94011d3 266 #define XMEGA_C3 ( \
sahilmgandhi 18:6a4db94011d3 267 AVR8_PART_IS_DEFINED(ATxmega384C3) || \
sahilmgandhi 18:6a4db94011d3 268 AVR8_PART_IS_DEFINED(ATxmega256C3) || \
sahilmgandhi 18:6a4db94011d3 269 AVR8_PART_IS_DEFINED(ATxmega192C3) || \
sahilmgandhi 18:6a4db94011d3 270 AVR8_PART_IS_DEFINED(ATxmega128C3) || \
sahilmgandhi 18:6a4db94011d3 271 AVR8_PART_IS_DEFINED(ATxmega64C3) || \
sahilmgandhi 18:6a4db94011d3 272 AVR8_PART_IS_DEFINED(ATxmega32C3) \
sahilmgandhi 18:6a4db94011d3 273 )
sahilmgandhi 18:6a4db94011d3 274
sahilmgandhi 18:6a4db94011d3 275 #define XMEGA_C4 ( \
sahilmgandhi 18:6a4db94011d3 276 AVR8_PART_IS_DEFINED(ATxmega32C4) || \
sahilmgandhi 18:6a4db94011d3 277 AVR8_PART_IS_DEFINED(ATxmega16C4) \
sahilmgandhi 18:6a4db94011d3 278 )
sahilmgandhi 18:6a4db94011d3 279 /** @} */
sahilmgandhi 18:6a4db94011d3 280
sahilmgandhi 18:6a4db94011d3 281 /**
sahilmgandhi 18:6a4db94011d3 282 * \name AVR XMEGA D series
sahilmgandhi 18:6a4db94011d3 283 * @{
sahilmgandhi 18:6a4db94011d3 284 */
sahilmgandhi 18:6a4db94011d3 285 #define XMEGA_D3 ( \
sahilmgandhi 18:6a4db94011d3 286 AVR8_PART_IS_DEFINED(ATxmega32D3) || \
sahilmgandhi 18:6a4db94011d3 287 AVR8_PART_IS_DEFINED(ATxmega64D3) || \
sahilmgandhi 18:6a4db94011d3 288 AVR8_PART_IS_DEFINED(ATxmega128D3) || \
sahilmgandhi 18:6a4db94011d3 289 AVR8_PART_IS_DEFINED(ATxmega192D3) || \
sahilmgandhi 18:6a4db94011d3 290 AVR8_PART_IS_DEFINED(ATxmega256D3) || \
sahilmgandhi 18:6a4db94011d3 291 AVR8_PART_IS_DEFINED(ATxmega384D3) \
sahilmgandhi 18:6a4db94011d3 292 )
sahilmgandhi 18:6a4db94011d3 293
sahilmgandhi 18:6a4db94011d3 294 #define XMEGA_D4 ( \
sahilmgandhi 18:6a4db94011d3 295 AVR8_PART_IS_DEFINED(ATxmega16D4) || \
sahilmgandhi 18:6a4db94011d3 296 AVR8_PART_IS_DEFINED(ATxmega32D4) || \
sahilmgandhi 18:6a4db94011d3 297 AVR8_PART_IS_DEFINED(ATxmega64D4) || \
sahilmgandhi 18:6a4db94011d3 298 AVR8_PART_IS_DEFINED(ATxmega128D4) \
sahilmgandhi 18:6a4db94011d3 299 )
sahilmgandhi 18:6a4db94011d3 300 /** @} */
sahilmgandhi 18:6a4db94011d3 301
sahilmgandhi 18:6a4db94011d3 302 /**
sahilmgandhi 18:6a4db94011d3 303 * \name AVR XMEGA E series
sahilmgandhi 18:6a4db94011d3 304 * @{
sahilmgandhi 18:6a4db94011d3 305 */
sahilmgandhi 18:6a4db94011d3 306 #define XMEGA_E5 ( \
sahilmgandhi 18:6a4db94011d3 307 AVR8_PART_IS_DEFINED(ATxmega8E5) || \
sahilmgandhi 18:6a4db94011d3 308 AVR8_PART_IS_DEFINED(ATxmega16E5) || \
sahilmgandhi 18:6a4db94011d3 309 AVR8_PART_IS_DEFINED(ATxmega32E5) \
sahilmgandhi 18:6a4db94011d3 310 )
sahilmgandhi 18:6a4db94011d3 311 /** @} */
sahilmgandhi 18:6a4db94011d3 312
sahilmgandhi 18:6a4db94011d3 313
sahilmgandhi 18:6a4db94011d3 314 /**
sahilmgandhi 18:6a4db94011d3 315 * \name AVR XMEGA families
sahilmgandhi 18:6a4db94011d3 316 * @{
sahilmgandhi 18:6a4db94011d3 317 */
sahilmgandhi 18:6a4db94011d3 318 /** AVR XMEGA A family */
sahilmgandhi 18:6a4db94011d3 319 #define XMEGA_A (XMEGA_A1 || XMEGA_A3 || XMEGA_A3B || XMEGA_A4)
sahilmgandhi 18:6a4db94011d3 320
sahilmgandhi 18:6a4db94011d3 321 /** AVR XMEGA AU family */
sahilmgandhi 18:6a4db94011d3 322 #define XMEGA_AU (XMEGA_A1U || XMEGA_A3U || XMEGA_A3BU || XMEGA_A4U)
sahilmgandhi 18:6a4db94011d3 323
sahilmgandhi 18:6a4db94011d3 324 /** AVR XMEGA B family */
sahilmgandhi 18:6a4db94011d3 325 #define XMEGA_B (XMEGA_B1 || XMEGA_B3)
sahilmgandhi 18:6a4db94011d3 326
sahilmgandhi 18:6a4db94011d3 327 /** AVR XMEGA C family */
sahilmgandhi 18:6a4db94011d3 328 #define XMEGA_C (XMEGA_C3 || XMEGA_C4)
sahilmgandhi 18:6a4db94011d3 329
sahilmgandhi 18:6a4db94011d3 330 /** AVR XMEGA D family */
sahilmgandhi 18:6a4db94011d3 331 #define XMEGA_D (XMEGA_D3 || XMEGA_D4)
sahilmgandhi 18:6a4db94011d3 332
sahilmgandhi 18:6a4db94011d3 333 /** AVR XMEGA E family */
sahilmgandhi 18:6a4db94011d3 334 #define XMEGA_E (XMEGA_E5)
sahilmgandhi 18:6a4db94011d3 335 /** @} */
sahilmgandhi 18:6a4db94011d3 336
sahilmgandhi 18:6a4db94011d3 337
sahilmgandhi 18:6a4db94011d3 338 /** AVR XMEGA product line */
sahilmgandhi 18:6a4db94011d3 339 #define XMEGA (XMEGA_A || XMEGA_AU || XMEGA_B || XMEGA_C || XMEGA_D || XMEGA_E)
sahilmgandhi 18:6a4db94011d3 340
sahilmgandhi 18:6a4db94011d3 341 /** @} */
sahilmgandhi 18:6a4db94011d3 342
sahilmgandhi 18:6a4db94011d3 343 /**
sahilmgandhi 18:6a4db94011d3 344 * \defgroup mega_part_macros_group megaAVR parts
sahilmgandhi 18:6a4db94011d3 345 *
sahilmgandhi 18:6a4db94011d3 346 * \note These megaAVR groupings are based on the groups in AVR Libc for the
sahilmgandhi 18:6a4db94011d3 347 * part header files. They are not names of official megaAVR device series or
sahilmgandhi 18:6a4db94011d3 348 * families.
sahilmgandhi 18:6a4db94011d3 349 *
sahilmgandhi 18:6a4db94011d3 350 * @{
sahilmgandhi 18:6a4db94011d3 351 */
sahilmgandhi 18:6a4db94011d3 352
sahilmgandhi 18:6a4db94011d3 353 /**
sahilmgandhi 18:6a4db94011d3 354 * \name ATmegaxx0/xx1 subgroups
sahilmgandhi 18:6a4db94011d3 355 * @{
sahilmgandhi 18:6a4db94011d3 356 */
sahilmgandhi 18:6a4db94011d3 357 #define MEGA_XX0 ( \
sahilmgandhi 18:6a4db94011d3 358 AVR8_PART_IS_DEFINED(ATmega640) || \
sahilmgandhi 18:6a4db94011d3 359 AVR8_PART_IS_DEFINED(ATmega1280) || \
sahilmgandhi 18:6a4db94011d3 360 AVR8_PART_IS_DEFINED(ATmega2560) \
sahilmgandhi 18:6a4db94011d3 361 )
sahilmgandhi 18:6a4db94011d3 362
sahilmgandhi 18:6a4db94011d3 363 #define MEGA_XX1 ( \
sahilmgandhi 18:6a4db94011d3 364 AVR8_PART_IS_DEFINED(ATmega1281) || \
sahilmgandhi 18:6a4db94011d3 365 AVR8_PART_IS_DEFINED(ATmega2561) \
sahilmgandhi 18:6a4db94011d3 366 )
sahilmgandhi 18:6a4db94011d3 367 /** @} */
sahilmgandhi 18:6a4db94011d3 368
sahilmgandhi 18:6a4db94011d3 369 /**
sahilmgandhi 18:6a4db94011d3 370 * \name megaAVR groups
sahilmgandhi 18:6a4db94011d3 371 * @{
sahilmgandhi 18:6a4db94011d3 372 */
sahilmgandhi 18:6a4db94011d3 373 /** ATmegaxx0/xx1 group */
sahilmgandhi 18:6a4db94011d3 374 #define MEGA_XX0_1 (MEGA_XX0 || MEGA_XX1)
sahilmgandhi 18:6a4db94011d3 375
sahilmgandhi 18:6a4db94011d3 376 /** ATmegaxx4 group */
sahilmgandhi 18:6a4db94011d3 377 #define MEGA_XX4 ( \
sahilmgandhi 18:6a4db94011d3 378 AVR8_PART_IS_DEFINED(ATmega164A) || \
sahilmgandhi 18:6a4db94011d3 379 AVR8_PART_IS_DEFINED(ATmega164PA) || \
sahilmgandhi 18:6a4db94011d3 380 AVR8_PART_IS_DEFINED(ATmega324A) || \
sahilmgandhi 18:6a4db94011d3 381 AVR8_PART_IS_DEFINED(ATmega324PA) || \
sahilmgandhi 18:6a4db94011d3 382 AVR8_PART_IS_DEFINED(ATmega644) || \
sahilmgandhi 18:6a4db94011d3 383 AVR8_PART_IS_DEFINED(ATmega644A) || \
sahilmgandhi 18:6a4db94011d3 384 AVR8_PART_IS_DEFINED(ATmega644PA) || \
sahilmgandhi 18:6a4db94011d3 385 AVR8_PART_IS_DEFINED(ATmega1284P) || \
sahilmgandhi 18:6a4db94011d3 386 AVR8_PART_IS_DEFINED(ATmega128RFA1) \
sahilmgandhi 18:6a4db94011d3 387 )
sahilmgandhi 18:6a4db94011d3 388
sahilmgandhi 18:6a4db94011d3 389 /** ATmegaxx4 group */
sahilmgandhi 18:6a4db94011d3 390 #define MEGA_XX4_A ( \
sahilmgandhi 18:6a4db94011d3 391 AVR8_PART_IS_DEFINED(ATmega164A) || \
sahilmgandhi 18:6a4db94011d3 392 AVR8_PART_IS_DEFINED(ATmega164PA) || \
sahilmgandhi 18:6a4db94011d3 393 AVR8_PART_IS_DEFINED(ATmega324A) || \
sahilmgandhi 18:6a4db94011d3 394 AVR8_PART_IS_DEFINED(ATmega324PA) || \
sahilmgandhi 18:6a4db94011d3 395 AVR8_PART_IS_DEFINED(ATmega644A) || \
sahilmgandhi 18:6a4db94011d3 396 AVR8_PART_IS_DEFINED(ATmega644PA) || \
sahilmgandhi 18:6a4db94011d3 397 AVR8_PART_IS_DEFINED(ATmega1284P) \
sahilmgandhi 18:6a4db94011d3 398 )
sahilmgandhi 18:6a4db94011d3 399
sahilmgandhi 18:6a4db94011d3 400 /** ATmegaxx8 group */
sahilmgandhi 18:6a4db94011d3 401 #define MEGA_XX8 ( \
sahilmgandhi 18:6a4db94011d3 402 AVR8_PART_IS_DEFINED(ATmega48) || \
sahilmgandhi 18:6a4db94011d3 403 AVR8_PART_IS_DEFINED(ATmega48A) || \
sahilmgandhi 18:6a4db94011d3 404 AVR8_PART_IS_DEFINED(ATmega48PA) || \
sahilmgandhi 18:6a4db94011d3 405 AVR8_PART_IS_DEFINED(ATmega88) || \
sahilmgandhi 18:6a4db94011d3 406 AVR8_PART_IS_DEFINED(ATmega88A) || \
sahilmgandhi 18:6a4db94011d3 407 AVR8_PART_IS_DEFINED(ATmega88PA) || \
sahilmgandhi 18:6a4db94011d3 408 AVR8_PART_IS_DEFINED(ATmega168) || \
sahilmgandhi 18:6a4db94011d3 409 AVR8_PART_IS_DEFINED(ATmega168A) || \
sahilmgandhi 18:6a4db94011d3 410 AVR8_PART_IS_DEFINED(ATmega168PA) || \
sahilmgandhi 18:6a4db94011d3 411 AVR8_PART_IS_DEFINED(ATmega328) || \
sahilmgandhi 18:6a4db94011d3 412 AVR8_PART_IS_DEFINED(ATmega328P) \
sahilmgandhi 18:6a4db94011d3 413 )
sahilmgandhi 18:6a4db94011d3 414
sahilmgandhi 18:6a4db94011d3 415 /** ATmegaxx8A/P/PA group */
sahilmgandhi 18:6a4db94011d3 416 #define MEGA_XX8_A ( \
sahilmgandhi 18:6a4db94011d3 417 AVR8_PART_IS_DEFINED(ATmega48A) || \
sahilmgandhi 18:6a4db94011d3 418 AVR8_PART_IS_DEFINED(ATmega48PA) || \
sahilmgandhi 18:6a4db94011d3 419 AVR8_PART_IS_DEFINED(ATmega88A) || \
sahilmgandhi 18:6a4db94011d3 420 AVR8_PART_IS_DEFINED(ATmega88PA) || \
sahilmgandhi 18:6a4db94011d3 421 AVR8_PART_IS_DEFINED(ATmega168A) || \
sahilmgandhi 18:6a4db94011d3 422 AVR8_PART_IS_DEFINED(ATmega168PA) || \
sahilmgandhi 18:6a4db94011d3 423 AVR8_PART_IS_DEFINED(ATmega328P) \
sahilmgandhi 18:6a4db94011d3 424 )
sahilmgandhi 18:6a4db94011d3 425
sahilmgandhi 18:6a4db94011d3 426 /** ATmegaxx group */
sahilmgandhi 18:6a4db94011d3 427 #define MEGA_XX ( \
sahilmgandhi 18:6a4db94011d3 428 AVR8_PART_IS_DEFINED(ATmega16) || \
sahilmgandhi 18:6a4db94011d3 429 AVR8_PART_IS_DEFINED(ATmega16A) || \
sahilmgandhi 18:6a4db94011d3 430 AVR8_PART_IS_DEFINED(ATmega32) || \
sahilmgandhi 18:6a4db94011d3 431 AVR8_PART_IS_DEFINED(ATmega32A) || \
sahilmgandhi 18:6a4db94011d3 432 AVR8_PART_IS_DEFINED(ATmega64) || \
sahilmgandhi 18:6a4db94011d3 433 AVR8_PART_IS_DEFINED(ATmega64A) || \
sahilmgandhi 18:6a4db94011d3 434 AVR8_PART_IS_DEFINED(ATmega128) || \
sahilmgandhi 18:6a4db94011d3 435 AVR8_PART_IS_DEFINED(ATmega128A) \
sahilmgandhi 18:6a4db94011d3 436 )
sahilmgandhi 18:6a4db94011d3 437
sahilmgandhi 18:6a4db94011d3 438 /** ATmegaxxA/P/PA group */
sahilmgandhi 18:6a4db94011d3 439 #define MEGA_XX_A ( \
sahilmgandhi 18:6a4db94011d3 440 AVR8_PART_IS_DEFINED(ATmega16A) || \
sahilmgandhi 18:6a4db94011d3 441 AVR8_PART_IS_DEFINED(ATmega32A) || \
sahilmgandhi 18:6a4db94011d3 442 AVR8_PART_IS_DEFINED(ATmega64A) || \
sahilmgandhi 18:6a4db94011d3 443 AVR8_PART_IS_DEFINED(ATmega128A) \
sahilmgandhi 18:6a4db94011d3 444 )
sahilmgandhi 18:6a4db94011d3 445 /** ATmegaxxRFA1 group */
sahilmgandhi 18:6a4db94011d3 446 #define MEGA_RFA1 ( \
sahilmgandhi 18:6a4db94011d3 447 AVR8_PART_IS_DEFINED(ATmega128RFA1) \
sahilmgandhi 18:6a4db94011d3 448 )
sahilmgandhi 18:6a4db94011d3 449
sahilmgandhi 18:6a4db94011d3 450 /** ATmegaxxRFR2 group */
sahilmgandhi 18:6a4db94011d3 451 #define MEGA_RFR2 ( \
sahilmgandhi 18:6a4db94011d3 452 AVR8_PART_IS_DEFINED(ATmega64RFR2) || \
sahilmgandhi 18:6a4db94011d3 453 AVR8_PART_IS_DEFINED(ATmega128RFR2) || \
sahilmgandhi 18:6a4db94011d3 454 AVR8_PART_IS_DEFINED(ATmega256RFR2) || \
sahilmgandhi 18:6a4db94011d3 455 AVR8_PART_IS_DEFINED(ATmega644RFR2) || \
sahilmgandhi 18:6a4db94011d3 456 AVR8_PART_IS_DEFINED(ATmega1284RFR2) || \
sahilmgandhi 18:6a4db94011d3 457 AVR8_PART_IS_DEFINED(ATmega2564RFR2) \
sahilmgandhi 18:6a4db94011d3 458 )
sahilmgandhi 18:6a4db94011d3 459
sahilmgandhi 18:6a4db94011d3 460
sahilmgandhi 18:6a4db94011d3 461 /** ATmegaxxRFxx group */
sahilmgandhi 18:6a4db94011d3 462 #define MEGA_RF (MEGA_RFA1 || MEGA_RFR2)
sahilmgandhi 18:6a4db94011d3 463
sahilmgandhi 18:6a4db94011d3 464 /**
sahilmgandhi 18:6a4db94011d3 465 * \name ATmegaxx_un0/un1/un2 subgroups
sahilmgandhi 18:6a4db94011d3 466 * @{
sahilmgandhi 18:6a4db94011d3 467 */
sahilmgandhi 18:6a4db94011d3 468 #define MEGA_XX_UN0 ( \
sahilmgandhi 18:6a4db94011d3 469 AVR8_PART_IS_DEFINED(ATmega16) || \
sahilmgandhi 18:6a4db94011d3 470 AVR8_PART_IS_DEFINED(ATmega16A) || \
sahilmgandhi 18:6a4db94011d3 471 AVR8_PART_IS_DEFINED(ATmega32) || \
sahilmgandhi 18:6a4db94011d3 472 AVR8_PART_IS_DEFINED(ATmega32A) \
sahilmgandhi 18:6a4db94011d3 473 )
sahilmgandhi 18:6a4db94011d3 474
sahilmgandhi 18:6a4db94011d3 475 /** ATmegaxx group without power reduction and
sahilmgandhi 18:6a4db94011d3 476 * And interrupt sense register.
sahilmgandhi 18:6a4db94011d3 477 */
sahilmgandhi 18:6a4db94011d3 478 #define MEGA_XX_UN1 ( \
sahilmgandhi 18:6a4db94011d3 479 AVR8_PART_IS_DEFINED(ATmega64) || \
sahilmgandhi 18:6a4db94011d3 480 AVR8_PART_IS_DEFINED(ATmega64A) || \
sahilmgandhi 18:6a4db94011d3 481 AVR8_PART_IS_DEFINED(ATmega128) || \
sahilmgandhi 18:6a4db94011d3 482 AVR8_PART_IS_DEFINED(ATmega128A) \
sahilmgandhi 18:6a4db94011d3 483 )
sahilmgandhi 18:6a4db94011d3 484
sahilmgandhi 18:6a4db94011d3 485 /** ATmegaxx group without power reduction and
sahilmgandhi 18:6a4db94011d3 486 * And interrupt sense register.
sahilmgandhi 18:6a4db94011d3 487 */
sahilmgandhi 18:6a4db94011d3 488 #define MEGA_XX_UN2 ( \
sahilmgandhi 18:6a4db94011d3 489 AVR8_PART_IS_DEFINED(ATmega169P) || \
sahilmgandhi 18:6a4db94011d3 490 AVR8_PART_IS_DEFINED(ATmega169PA) || \
sahilmgandhi 18:6a4db94011d3 491 AVR8_PART_IS_DEFINED(ATmega329P) || \
sahilmgandhi 18:6a4db94011d3 492 AVR8_PART_IS_DEFINED(ATmega329PA) \
sahilmgandhi 18:6a4db94011d3 493 )
sahilmgandhi 18:6a4db94011d3 494
sahilmgandhi 18:6a4db94011d3 495 /** Devices added to complete megaAVR offering.
sahilmgandhi 18:6a4db94011d3 496 * Please do not use this group symbol as it is not intended
sahilmgandhi 18:6a4db94011d3 497 * to be permanent: the devices should be regrouped.
sahilmgandhi 18:6a4db94011d3 498 */
sahilmgandhi 18:6a4db94011d3 499 #define MEGA_UNCATEGORIZED ( \
sahilmgandhi 18:6a4db94011d3 500 AVR8_PART_IS_DEFINED(AT90CAN128) || \
sahilmgandhi 18:6a4db94011d3 501 AVR8_PART_IS_DEFINED(AT90CAN32) || \
sahilmgandhi 18:6a4db94011d3 502 AVR8_PART_IS_DEFINED(AT90CAN64) || \
sahilmgandhi 18:6a4db94011d3 503 AVR8_PART_IS_DEFINED(AT90PWM1) || \
sahilmgandhi 18:6a4db94011d3 504 AVR8_PART_IS_DEFINED(AT90PWM216) || \
sahilmgandhi 18:6a4db94011d3 505 AVR8_PART_IS_DEFINED(AT90PWM2B) || \
sahilmgandhi 18:6a4db94011d3 506 AVR8_PART_IS_DEFINED(AT90PWM316) || \
sahilmgandhi 18:6a4db94011d3 507 AVR8_PART_IS_DEFINED(AT90PWM3B) || \
sahilmgandhi 18:6a4db94011d3 508 AVR8_PART_IS_DEFINED(AT90PWM81) || \
sahilmgandhi 18:6a4db94011d3 509 AVR8_PART_IS_DEFINED(AT90USB1286) || \
sahilmgandhi 18:6a4db94011d3 510 AVR8_PART_IS_DEFINED(AT90USB1287) || \
sahilmgandhi 18:6a4db94011d3 511 AVR8_PART_IS_DEFINED(AT90USB162) || \
sahilmgandhi 18:6a4db94011d3 512 AVR8_PART_IS_DEFINED(AT90USB646) || \
sahilmgandhi 18:6a4db94011d3 513 AVR8_PART_IS_DEFINED(AT90USB647) || \
sahilmgandhi 18:6a4db94011d3 514 AVR8_PART_IS_DEFINED(AT90USB82) || \
sahilmgandhi 18:6a4db94011d3 515 AVR8_PART_IS_DEFINED(ATmega1284) || \
sahilmgandhi 18:6a4db94011d3 516 AVR8_PART_IS_DEFINED(ATmega162) || \
sahilmgandhi 18:6a4db94011d3 517 AVR8_PART_IS_DEFINED(ATmega164P) || \
sahilmgandhi 18:6a4db94011d3 518 AVR8_PART_IS_DEFINED(ATmega165A) || \
sahilmgandhi 18:6a4db94011d3 519 AVR8_PART_IS_DEFINED(ATmega165P) || \
sahilmgandhi 18:6a4db94011d3 520 AVR8_PART_IS_DEFINED(ATmega165PA) || \
sahilmgandhi 18:6a4db94011d3 521 AVR8_PART_IS_DEFINED(ATmega168P) || \
sahilmgandhi 18:6a4db94011d3 522 AVR8_PART_IS_DEFINED(ATmega169A) || \
sahilmgandhi 18:6a4db94011d3 523 AVR8_PART_IS_DEFINED(ATmega16M1) || \
sahilmgandhi 18:6a4db94011d3 524 AVR8_PART_IS_DEFINED(ATmega16U2) || \
sahilmgandhi 18:6a4db94011d3 525 AVR8_PART_IS_DEFINED(ATmega16U4) || \
sahilmgandhi 18:6a4db94011d3 526 AVR8_PART_IS_DEFINED(ATmega256RFA2) || \
sahilmgandhi 18:6a4db94011d3 527 AVR8_PART_IS_DEFINED(ATmega324P) || \
sahilmgandhi 18:6a4db94011d3 528 AVR8_PART_IS_DEFINED(ATmega325) || \
sahilmgandhi 18:6a4db94011d3 529 AVR8_PART_IS_DEFINED(ATmega3250) || \
sahilmgandhi 18:6a4db94011d3 530 AVR8_PART_IS_DEFINED(ATmega3250A) || \
sahilmgandhi 18:6a4db94011d3 531 AVR8_PART_IS_DEFINED(ATmega3250P) || \
sahilmgandhi 18:6a4db94011d3 532 AVR8_PART_IS_DEFINED(ATmega3250PA) || \
sahilmgandhi 18:6a4db94011d3 533 AVR8_PART_IS_DEFINED(ATmega325A) || \
sahilmgandhi 18:6a4db94011d3 534 AVR8_PART_IS_DEFINED(ATmega325P) || \
sahilmgandhi 18:6a4db94011d3 535 AVR8_PART_IS_DEFINED(ATmega325PA) || \
sahilmgandhi 18:6a4db94011d3 536 AVR8_PART_IS_DEFINED(ATmega329) || \
sahilmgandhi 18:6a4db94011d3 537 AVR8_PART_IS_DEFINED(ATmega3290) || \
sahilmgandhi 18:6a4db94011d3 538 AVR8_PART_IS_DEFINED(ATmega3290A) || \
sahilmgandhi 18:6a4db94011d3 539 AVR8_PART_IS_DEFINED(ATmega3290P) || \
sahilmgandhi 18:6a4db94011d3 540 AVR8_PART_IS_DEFINED(ATmega3290PA) || \
sahilmgandhi 18:6a4db94011d3 541 AVR8_PART_IS_DEFINED(ATmega329A) || \
sahilmgandhi 18:6a4db94011d3 542 AVR8_PART_IS_DEFINED(ATmega32M1) || \
sahilmgandhi 18:6a4db94011d3 543 AVR8_PART_IS_DEFINED(ATmega32U2) || \
sahilmgandhi 18:6a4db94011d3 544 AVR8_PART_IS_DEFINED(ATmega32U4) || \
sahilmgandhi 18:6a4db94011d3 545 AVR8_PART_IS_DEFINED(ATmega48P) || \
sahilmgandhi 18:6a4db94011d3 546 AVR8_PART_IS_DEFINED(ATmega644P) || \
sahilmgandhi 18:6a4db94011d3 547 AVR8_PART_IS_DEFINED(ATmega645) || \
sahilmgandhi 18:6a4db94011d3 548 AVR8_PART_IS_DEFINED(ATmega6450) || \
sahilmgandhi 18:6a4db94011d3 549 AVR8_PART_IS_DEFINED(ATmega6450A) || \
sahilmgandhi 18:6a4db94011d3 550 AVR8_PART_IS_DEFINED(ATmega6450P) || \
sahilmgandhi 18:6a4db94011d3 551 AVR8_PART_IS_DEFINED(ATmega645A) || \
sahilmgandhi 18:6a4db94011d3 552 AVR8_PART_IS_DEFINED(ATmega645P) || \
sahilmgandhi 18:6a4db94011d3 553 AVR8_PART_IS_DEFINED(ATmega649) || \
sahilmgandhi 18:6a4db94011d3 554 AVR8_PART_IS_DEFINED(ATmega6490) || \
sahilmgandhi 18:6a4db94011d3 555 AVR8_PART_IS_DEFINED(ATmega6490A) || \
sahilmgandhi 18:6a4db94011d3 556 AVR8_PART_IS_DEFINED(ATmega6490P) || \
sahilmgandhi 18:6a4db94011d3 557 AVR8_PART_IS_DEFINED(ATmega649A) || \
sahilmgandhi 18:6a4db94011d3 558 AVR8_PART_IS_DEFINED(ATmega649P) || \
sahilmgandhi 18:6a4db94011d3 559 AVR8_PART_IS_DEFINED(ATmega64M1) || \
sahilmgandhi 18:6a4db94011d3 560 AVR8_PART_IS_DEFINED(ATmega64RFA2) || \
sahilmgandhi 18:6a4db94011d3 561 AVR8_PART_IS_DEFINED(ATmega8) || \
sahilmgandhi 18:6a4db94011d3 562 AVR8_PART_IS_DEFINED(ATmega8515) || \
sahilmgandhi 18:6a4db94011d3 563 AVR8_PART_IS_DEFINED(ATmega8535) || \
sahilmgandhi 18:6a4db94011d3 564 AVR8_PART_IS_DEFINED(ATmega88P) || \
sahilmgandhi 18:6a4db94011d3 565 AVR8_PART_IS_DEFINED(ATmega8A) || \
sahilmgandhi 18:6a4db94011d3 566 AVR8_PART_IS_DEFINED(ATmega8U2) \
sahilmgandhi 18:6a4db94011d3 567 )
sahilmgandhi 18:6a4db94011d3 568
sahilmgandhi 18:6a4db94011d3 569 /** Unspecified group */
sahilmgandhi 18:6a4db94011d3 570 #define MEGA_UNSPECIFIED (MEGA_XX_UN0 || MEGA_XX_UN1 || MEGA_XX_UN2 || \
sahilmgandhi 18:6a4db94011d3 571 MEGA_UNCATEGORIZED)
sahilmgandhi 18:6a4db94011d3 572
sahilmgandhi 18:6a4db94011d3 573 /** @} */
sahilmgandhi 18:6a4db94011d3 574
sahilmgandhi 18:6a4db94011d3 575 /** megaAVR product line */
sahilmgandhi 18:6a4db94011d3 576 #define MEGA (MEGA_XX0_1 || MEGA_XX4 || MEGA_XX8 || MEGA_XX || MEGA_RF || \
sahilmgandhi 18:6a4db94011d3 577 MEGA_UNSPECIFIED)
sahilmgandhi 18:6a4db94011d3 578
sahilmgandhi 18:6a4db94011d3 579 /** @} */
sahilmgandhi 18:6a4db94011d3 580
sahilmgandhi 18:6a4db94011d3 581 /**
sahilmgandhi 18:6a4db94011d3 582 * \defgroup tiny_part_macros_group tinyAVR parts
sahilmgandhi 18:6a4db94011d3 583 *
sahilmgandhi 18:6a4db94011d3 584 * @{
sahilmgandhi 18:6a4db94011d3 585 */
sahilmgandhi 18:6a4db94011d3 586
sahilmgandhi 18:6a4db94011d3 587 /**
sahilmgandhi 18:6a4db94011d3 588 * \name tinyAVR groups
sahilmgandhi 18:6a4db94011d3 589 * @{
sahilmgandhi 18:6a4db94011d3 590 */
sahilmgandhi 18:6a4db94011d3 591
sahilmgandhi 18:6a4db94011d3 592 /** Devices added to complete tinyAVR offering.
sahilmgandhi 18:6a4db94011d3 593 * Please do not use this group symbol as it is not intended
sahilmgandhi 18:6a4db94011d3 594 * to be permanent: the devices should be regrouped.
sahilmgandhi 18:6a4db94011d3 595 */
sahilmgandhi 18:6a4db94011d3 596 #define TINY_UNCATEGORIZED ( \
sahilmgandhi 18:6a4db94011d3 597 AVR8_PART_IS_DEFINED(ATtiny10) || \
sahilmgandhi 18:6a4db94011d3 598 AVR8_PART_IS_DEFINED(ATtiny13) || \
sahilmgandhi 18:6a4db94011d3 599 AVR8_PART_IS_DEFINED(ATtiny13A) || \
sahilmgandhi 18:6a4db94011d3 600 AVR8_PART_IS_DEFINED(ATtiny1634) || \
sahilmgandhi 18:6a4db94011d3 601 AVR8_PART_IS_DEFINED(ATtiny167) || \
sahilmgandhi 18:6a4db94011d3 602 AVR8_PART_IS_DEFINED(ATtiny20) || \
sahilmgandhi 18:6a4db94011d3 603 AVR8_PART_IS_DEFINED(ATtiny2313) || \
sahilmgandhi 18:6a4db94011d3 604 AVR8_PART_IS_DEFINED(ATtiny2313A) || \
sahilmgandhi 18:6a4db94011d3 605 AVR8_PART_IS_DEFINED(ATtiny24) || \
sahilmgandhi 18:6a4db94011d3 606 AVR8_PART_IS_DEFINED(ATtiny24A) || \
sahilmgandhi 18:6a4db94011d3 607 AVR8_PART_IS_DEFINED(ATtiny25) || \
sahilmgandhi 18:6a4db94011d3 608 AVR8_PART_IS_DEFINED(ATtiny26) || \
sahilmgandhi 18:6a4db94011d3 609 AVR8_PART_IS_DEFINED(ATtiny261) || \
sahilmgandhi 18:6a4db94011d3 610 AVR8_PART_IS_DEFINED(ATtiny261A) || \
sahilmgandhi 18:6a4db94011d3 611 AVR8_PART_IS_DEFINED(ATtiny4) || \
sahilmgandhi 18:6a4db94011d3 612 AVR8_PART_IS_DEFINED(ATtiny40) || \
sahilmgandhi 18:6a4db94011d3 613 AVR8_PART_IS_DEFINED(ATtiny4313) || \
sahilmgandhi 18:6a4db94011d3 614 AVR8_PART_IS_DEFINED(ATtiny43U) || \
sahilmgandhi 18:6a4db94011d3 615 AVR8_PART_IS_DEFINED(ATtiny44) || \
sahilmgandhi 18:6a4db94011d3 616 AVR8_PART_IS_DEFINED(ATtiny44A) || \
sahilmgandhi 18:6a4db94011d3 617 AVR8_PART_IS_DEFINED(ATtiny45) || \
sahilmgandhi 18:6a4db94011d3 618 AVR8_PART_IS_DEFINED(ATtiny461) || \
sahilmgandhi 18:6a4db94011d3 619 AVR8_PART_IS_DEFINED(ATtiny461A) || \
sahilmgandhi 18:6a4db94011d3 620 AVR8_PART_IS_DEFINED(ATtiny48) || \
sahilmgandhi 18:6a4db94011d3 621 AVR8_PART_IS_DEFINED(ATtiny5) || \
sahilmgandhi 18:6a4db94011d3 622 AVR8_PART_IS_DEFINED(ATtiny828) || \
sahilmgandhi 18:6a4db94011d3 623 AVR8_PART_IS_DEFINED(ATtiny84) || \
sahilmgandhi 18:6a4db94011d3 624 AVR8_PART_IS_DEFINED(ATtiny84A) || \
sahilmgandhi 18:6a4db94011d3 625 AVR8_PART_IS_DEFINED(ATtiny85) || \
sahilmgandhi 18:6a4db94011d3 626 AVR8_PART_IS_DEFINED(ATtiny861) || \
sahilmgandhi 18:6a4db94011d3 627 AVR8_PART_IS_DEFINED(ATtiny861A) || \
sahilmgandhi 18:6a4db94011d3 628 AVR8_PART_IS_DEFINED(ATtiny87) || \
sahilmgandhi 18:6a4db94011d3 629 AVR8_PART_IS_DEFINED(ATtiny88) || \
sahilmgandhi 18:6a4db94011d3 630 AVR8_PART_IS_DEFINED(ATtiny9) \
sahilmgandhi 18:6a4db94011d3 631 )
sahilmgandhi 18:6a4db94011d3 632
sahilmgandhi 18:6a4db94011d3 633 /** @} */
sahilmgandhi 18:6a4db94011d3 634
sahilmgandhi 18:6a4db94011d3 635 /** tinyAVR product line */
sahilmgandhi 18:6a4db94011d3 636 #define TINY (TINY_UNCATEGORIZED)
sahilmgandhi 18:6a4db94011d3 637
sahilmgandhi 18:6a4db94011d3 638 /** @} */
sahilmgandhi 18:6a4db94011d3 639
sahilmgandhi 18:6a4db94011d3 640 /**
sahilmgandhi 18:6a4db94011d3 641 * \defgroup sam_part_macros_group SAM parts
sahilmgandhi 18:6a4db94011d3 642 * @{
sahilmgandhi 18:6a4db94011d3 643 */
sahilmgandhi 18:6a4db94011d3 644
sahilmgandhi 18:6a4db94011d3 645 /**
sahilmgandhi 18:6a4db94011d3 646 * \name SAM3S series
sahilmgandhi 18:6a4db94011d3 647 * @{
sahilmgandhi 18:6a4db94011d3 648 */
sahilmgandhi 18:6a4db94011d3 649 #define SAM3S1 ( \
sahilmgandhi 18:6a4db94011d3 650 SAM_PART_IS_DEFINED(SAM3S1A) || \
sahilmgandhi 18:6a4db94011d3 651 SAM_PART_IS_DEFINED(SAM3S1B) || \
sahilmgandhi 18:6a4db94011d3 652 SAM_PART_IS_DEFINED(SAM3S1C) \
sahilmgandhi 18:6a4db94011d3 653 )
sahilmgandhi 18:6a4db94011d3 654
sahilmgandhi 18:6a4db94011d3 655 #define SAM3S2 ( \
sahilmgandhi 18:6a4db94011d3 656 SAM_PART_IS_DEFINED(SAM3S2A) || \
sahilmgandhi 18:6a4db94011d3 657 SAM_PART_IS_DEFINED(SAM3S2B) || \
sahilmgandhi 18:6a4db94011d3 658 SAM_PART_IS_DEFINED(SAM3S2C) \
sahilmgandhi 18:6a4db94011d3 659 )
sahilmgandhi 18:6a4db94011d3 660
sahilmgandhi 18:6a4db94011d3 661 #define SAM3S4 ( \
sahilmgandhi 18:6a4db94011d3 662 SAM_PART_IS_DEFINED(SAM3S4A) || \
sahilmgandhi 18:6a4db94011d3 663 SAM_PART_IS_DEFINED(SAM3S4B) || \
sahilmgandhi 18:6a4db94011d3 664 SAM_PART_IS_DEFINED(SAM3S4C) \
sahilmgandhi 18:6a4db94011d3 665 )
sahilmgandhi 18:6a4db94011d3 666
sahilmgandhi 18:6a4db94011d3 667 #define SAM3S8 ( \
sahilmgandhi 18:6a4db94011d3 668 SAM_PART_IS_DEFINED(SAM3S8B) || \
sahilmgandhi 18:6a4db94011d3 669 SAM_PART_IS_DEFINED(SAM3S8C) \
sahilmgandhi 18:6a4db94011d3 670 )
sahilmgandhi 18:6a4db94011d3 671
sahilmgandhi 18:6a4db94011d3 672 #define SAM3SD8 ( \
sahilmgandhi 18:6a4db94011d3 673 SAM_PART_IS_DEFINED(SAM3SD8B) || \
sahilmgandhi 18:6a4db94011d3 674 SAM_PART_IS_DEFINED(SAM3SD8C) \
sahilmgandhi 18:6a4db94011d3 675 )
sahilmgandhi 18:6a4db94011d3 676 /** @} */
sahilmgandhi 18:6a4db94011d3 677
sahilmgandhi 18:6a4db94011d3 678 /**
sahilmgandhi 18:6a4db94011d3 679 * \name SAM3U series
sahilmgandhi 18:6a4db94011d3 680 * @{
sahilmgandhi 18:6a4db94011d3 681 */
sahilmgandhi 18:6a4db94011d3 682 #define SAM3U1 ( \
sahilmgandhi 18:6a4db94011d3 683 SAM_PART_IS_DEFINED(SAM3U1C) || \
sahilmgandhi 18:6a4db94011d3 684 SAM_PART_IS_DEFINED(SAM3U1E) \
sahilmgandhi 18:6a4db94011d3 685 )
sahilmgandhi 18:6a4db94011d3 686
sahilmgandhi 18:6a4db94011d3 687 #define SAM3U2 ( \
sahilmgandhi 18:6a4db94011d3 688 SAM_PART_IS_DEFINED(SAM3U2C) || \
sahilmgandhi 18:6a4db94011d3 689 SAM_PART_IS_DEFINED(SAM3U2E) \
sahilmgandhi 18:6a4db94011d3 690 )
sahilmgandhi 18:6a4db94011d3 691
sahilmgandhi 18:6a4db94011d3 692 #define SAM3U4 ( \
sahilmgandhi 18:6a4db94011d3 693 SAM_PART_IS_DEFINED(SAM3U4C) || \
sahilmgandhi 18:6a4db94011d3 694 SAM_PART_IS_DEFINED(SAM3U4E) \
sahilmgandhi 18:6a4db94011d3 695 )
sahilmgandhi 18:6a4db94011d3 696 /** @} */
sahilmgandhi 18:6a4db94011d3 697
sahilmgandhi 18:6a4db94011d3 698 /**
sahilmgandhi 18:6a4db94011d3 699 * \name SAM3N series
sahilmgandhi 18:6a4db94011d3 700 * @{
sahilmgandhi 18:6a4db94011d3 701 */
sahilmgandhi 18:6a4db94011d3 702 #define SAM3N00 ( \
sahilmgandhi 18:6a4db94011d3 703 SAM_PART_IS_DEFINED(SAM3N00A) || \
sahilmgandhi 18:6a4db94011d3 704 SAM_PART_IS_DEFINED(SAM3N00B) \
sahilmgandhi 18:6a4db94011d3 705 )
sahilmgandhi 18:6a4db94011d3 706
sahilmgandhi 18:6a4db94011d3 707 #define SAM3N0 ( \
sahilmgandhi 18:6a4db94011d3 708 SAM_PART_IS_DEFINED(SAM3N0A) || \
sahilmgandhi 18:6a4db94011d3 709 SAM_PART_IS_DEFINED(SAM3N0B) || \
sahilmgandhi 18:6a4db94011d3 710 SAM_PART_IS_DEFINED(SAM3N0C) \
sahilmgandhi 18:6a4db94011d3 711 )
sahilmgandhi 18:6a4db94011d3 712
sahilmgandhi 18:6a4db94011d3 713 #define SAM3N1 ( \
sahilmgandhi 18:6a4db94011d3 714 SAM_PART_IS_DEFINED(SAM3N1A) || \
sahilmgandhi 18:6a4db94011d3 715 SAM_PART_IS_DEFINED(SAM3N1B) || \
sahilmgandhi 18:6a4db94011d3 716 SAM_PART_IS_DEFINED(SAM3N1C) \
sahilmgandhi 18:6a4db94011d3 717 )
sahilmgandhi 18:6a4db94011d3 718
sahilmgandhi 18:6a4db94011d3 719 #define SAM3N2 ( \
sahilmgandhi 18:6a4db94011d3 720 SAM_PART_IS_DEFINED(SAM3N2A) || \
sahilmgandhi 18:6a4db94011d3 721 SAM_PART_IS_DEFINED(SAM3N2B) || \
sahilmgandhi 18:6a4db94011d3 722 SAM_PART_IS_DEFINED(SAM3N2C) \
sahilmgandhi 18:6a4db94011d3 723 )
sahilmgandhi 18:6a4db94011d3 724
sahilmgandhi 18:6a4db94011d3 725 #define SAM3N4 ( \
sahilmgandhi 18:6a4db94011d3 726 SAM_PART_IS_DEFINED(SAM3N4A) || \
sahilmgandhi 18:6a4db94011d3 727 SAM_PART_IS_DEFINED(SAM3N4B) || \
sahilmgandhi 18:6a4db94011d3 728 SAM_PART_IS_DEFINED(SAM3N4C) \
sahilmgandhi 18:6a4db94011d3 729 )
sahilmgandhi 18:6a4db94011d3 730 /** @} */
sahilmgandhi 18:6a4db94011d3 731
sahilmgandhi 18:6a4db94011d3 732 /**
sahilmgandhi 18:6a4db94011d3 733 * \name SAM3X series
sahilmgandhi 18:6a4db94011d3 734 * @{
sahilmgandhi 18:6a4db94011d3 735 */
sahilmgandhi 18:6a4db94011d3 736 #define SAM3X4 ( \
sahilmgandhi 18:6a4db94011d3 737 SAM_PART_IS_DEFINED(SAM3X4C) || \
sahilmgandhi 18:6a4db94011d3 738 SAM_PART_IS_DEFINED(SAM3X4E) \
sahilmgandhi 18:6a4db94011d3 739 )
sahilmgandhi 18:6a4db94011d3 740
sahilmgandhi 18:6a4db94011d3 741 #define SAM3X8 ( \
sahilmgandhi 18:6a4db94011d3 742 SAM_PART_IS_DEFINED(SAM3X8C) || \
sahilmgandhi 18:6a4db94011d3 743 SAM_PART_IS_DEFINED(SAM3X8E) || \
sahilmgandhi 18:6a4db94011d3 744 SAM_PART_IS_DEFINED(SAM3X8H) \
sahilmgandhi 18:6a4db94011d3 745 )
sahilmgandhi 18:6a4db94011d3 746 /** @} */
sahilmgandhi 18:6a4db94011d3 747
sahilmgandhi 18:6a4db94011d3 748 /**
sahilmgandhi 18:6a4db94011d3 749 * \name SAM3A series
sahilmgandhi 18:6a4db94011d3 750 * @{
sahilmgandhi 18:6a4db94011d3 751 */
sahilmgandhi 18:6a4db94011d3 752 #define SAM3A4 ( \
sahilmgandhi 18:6a4db94011d3 753 SAM_PART_IS_DEFINED(SAM3A4C) \
sahilmgandhi 18:6a4db94011d3 754 )
sahilmgandhi 18:6a4db94011d3 755
sahilmgandhi 18:6a4db94011d3 756 #define SAM3A8 ( \
sahilmgandhi 18:6a4db94011d3 757 SAM_PART_IS_DEFINED(SAM3A8C) \
sahilmgandhi 18:6a4db94011d3 758 )
sahilmgandhi 18:6a4db94011d3 759 /** @} */
sahilmgandhi 18:6a4db94011d3 760
sahilmgandhi 18:6a4db94011d3 761 /**
sahilmgandhi 18:6a4db94011d3 762 * \name SAM4S series
sahilmgandhi 18:6a4db94011d3 763 * @{
sahilmgandhi 18:6a4db94011d3 764 */
sahilmgandhi 18:6a4db94011d3 765 #define SAM4S2 ( \
sahilmgandhi 18:6a4db94011d3 766 SAM_PART_IS_DEFINED(SAM4S2A) || \
sahilmgandhi 18:6a4db94011d3 767 SAM_PART_IS_DEFINED(SAM4S2B) || \
sahilmgandhi 18:6a4db94011d3 768 SAM_PART_IS_DEFINED(SAM4S2C) \
sahilmgandhi 18:6a4db94011d3 769 )
sahilmgandhi 18:6a4db94011d3 770
sahilmgandhi 18:6a4db94011d3 771 #define SAM4S4 ( \
sahilmgandhi 18:6a4db94011d3 772 SAM_PART_IS_DEFINED(SAM4S4A) || \
sahilmgandhi 18:6a4db94011d3 773 SAM_PART_IS_DEFINED(SAM4S4B) || \
sahilmgandhi 18:6a4db94011d3 774 SAM_PART_IS_DEFINED(SAM4S4C) \
sahilmgandhi 18:6a4db94011d3 775 )
sahilmgandhi 18:6a4db94011d3 776
sahilmgandhi 18:6a4db94011d3 777 #define SAM4S8 ( \
sahilmgandhi 18:6a4db94011d3 778 SAM_PART_IS_DEFINED(SAM4S8B) || \
sahilmgandhi 18:6a4db94011d3 779 SAM_PART_IS_DEFINED(SAM4S8C) \
sahilmgandhi 18:6a4db94011d3 780 )
sahilmgandhi 18:6a4db94011d3 781
sahilmgandhi 18:6a4db94011d3 782 #define SAM4S16 ( \
sahilmgandhi 18:6a4db94011d3 783 SAM_PART_IS_DEFINED(SAM4S16B) || \
sahilmgandhi 18:6a4db94011d3 784 SAM_PART_IS_DEFINED(SAM4S16C) \
sahilmgandhi 18:6a4db94011d3 785 )
sahilmgandhi 18:6a4db94011d3 786
sahilmgandhi 18:6a4db94011d3 787 #define SAM4SA16 ( \
sahilmgandhi 18:6a4db94011d3 788 SAM_PART_IS_DEFINED(SAM4SA16B) || \
sahilmgandhi 18:6a4db94011d3 789 SAM_PART_IS_DEFINED(SAM4SA16C) \
sahilmgandhi 18:6a4db94011d3 790 )
sahilmgandhi 18:6a4db94011d3 791
sahilmgandhi 18:6a4db94011d3 792 #define SAM4SD16 ( \
sahilmgandhi 18:6a4db94011d3 793 SAM_PART_IS_DEFINED(SAM4SD16B) || \
sahilmgandhi 18:6a4db94011d3 794 SAM_PART_IS_DEFINED(SAM4SD16C) \
sahilmgandhi 18:6a4db94011d3 795 )
sahilmgandhi 18:6a4db94011d3 796
sahilmgandhi 18:6a4db94011d3 797 #define SAM4SD32 ( \
sahilmgandhi 18:6a4db94011d3 798 SAM_PART_IS_DEFINED(SAM4SD32B) || \
sahilmgandhi 18:6a4db94011d3 799 SAM_PART_IS_DEFINED(SAM4SD32C) \
sahilmgandhi 18:6a4db94011d3 800 )
sahilmgandhi 18:6a4db94011d3 801 /** @} */
sahilmgandhi 18:6a4db94011d3 802
sahilmgandhi 18:6a4db94011d3 803 /**
sahilmgandhi 18:6a4db94011d3 804 * \name SAM4L series
sahilmgandhi 18:6a4db94011d3 805 * @{
sahilmgandhi 18:6a4db94011d3 806 */
sahilmgandhi 18:6a4db94011d3 807 #define SAM4LS ( \
sahilmgandhi 18:6a4db94011d3 808 SAM_PART_IS_DEFINED(SAM4LS2A) || \
sahilmgandhi 18:6a4db94011d3 809 SAM_PART_IS_DEFINED(SAM4LS2B) || \
sahilmgandhi 18:6a4db94011d3 810 SAM_PART_IS_DEFINED(SAM4LS2C) || \
sahilmgandhi 18:6a4db94011d3 811 SAM_PART_IS_DEFINED(SAM4LS4A) || \
sahilmgandhi 18:6a4db94011d3 812 SAM_PART_IS_DEFINED(SAM4LS4B) || \
sahilmgandhi 18:6a4db94011d3 813 SAM_PART_IS_DEFINED(SAM4LS4C) || \
sahilmgandhi 18:6a4db94011d3 814 SAM_PART_IS_DEFINED(SAM4LS8A) || \
sahilmgandhi 18:6a4db94011d3 815 SAM_PART_IS_DEFINED(SAM4LS8B) || \
sahilmgandhi 18:6a4db94011d3 816 SAM_PART_IS_DEFINED(SAM4LS8C) \
sahilmgandhi 18:6a4db94011d3 817 )
sahilmgandhi 18:6a4db94011d3 818
sahilmgandhi 18:6a4db94011d3 819 #define SAM4LC ( \
sahilmgandhi 18:6a4db94011d3 820 SAM_PART_IS_DEFINED(SAM4LC2A) || \
sahilmgandhi 18:6a4db94011d3 821 SAM_PART_IS_DEFINED(SAM4LC2B) || \
sahilmgandhi 18:6a4db94011d3 822 SAM_PART_IS_DEFINED(SAM4LC2C) || \
sahilmgandhi 18:6a4db94011d3 823 SAM_PART_IS_DEFINED(SAM4LC4A) || \
sahilmgandhi 18:6a4db94011d3 824 SAM_PART_IS_DEFINED(SAM4LC4B) || \
sahilmgandhi 18:6a4db94011d3 825 SAM_PART_IS_DEFINED(SAM4LC4C) || \
sahilmgandhi 18:6a4db94011d3 826 SAM_PART_IS_DEFINED(SAM4LC8A) || \
sahilmgandhi 18:6a4db94011d3 827 SAM_PART_IS_DEFINED(SAM4LC8B) || \
sahilmgandhi 18:6a4db94011d3 828 SAM_PART_IS_DEFINED(SAM4LC8C) \
sahilmgandhi 18:6a4db94011d3 829 )
sahilmgandhi 18:6a4db94011d3 830 /** @} */
sahilmgandhi 18:6a4db94011d3 831
sahilmgandhi 18:6a4db94011d3 832 /**
sahilmgandhi 18:6a4db94011d3 833 * \name SAMD20 series
sahilmgandhi 18:6a4db94011d3 834 * @{
sahilmgandhi 18:6a4db94011d3 835 */
sahilmgandhi 18:6a4db94011d3 836 #define SAMD20J ( \
sahilmgandhi 18:6a4db94011d3 837 SAM_PART_IS_DEFINED(SAMD20J14) || \
sahilmgandhi 18:6a4db94011d3 838 SAM_PART_IS_DEFINED(SAMD20J15) || \
sahilmgandhi 18:6a4db94011d3 839 SAM_PART_IS_DEFINED(SAMD20J16) || \
sahilmgandhi 18:6a4db94011d3 840 SAM_PART_IS_DEFINED(SAMD20J17) || \
sahilmgandhi 18:6a4db94011d3 841 SAM_PART_IS_DEFINED(SAMD20J18) \
sahilmgandhi 18:6a4db94011d3 842 )
sahilmgandhi 18:6a4db94011d3 843
sahilmgandhi 18:6a4db94011d3 844 #define SAMD20G ( \
sahilmgandhi 18:6a4db94011d3 845 SAM_PART_IS_DEFINED(SAMD20G14) || \
sahilmgandhi 18:6a4db94011d3 846 SAM_PART_IS_DEFINED(SAMD20G15) || \
sahilmgandhi 18:6a4db94011d3 847 SAM_PART_IS_DEFINED(SAMD20G16) || \
sahilmgandhi 18:6a4db94011d3 848 SAM_PART_IS_DEFINED(SAMD20G17) || \
sahilmgandhi 18:6a4db94011d3 849 SAM_PART_IS_DEFINED(SAMD20G17U) || \
sahilmgandhi 18:6a4db94011d3 850 SAM_PART_IS_DEFINED(SAMD20G18) || \
sahilmgandhi 18:6a4db94011d3 851 SAM_PART_IS_DEFINED(SAMD20G18U) \
sahilmgandhi 18:6a4db94011d3 852 )
sahilmgandhi 18:6a4db94011d3 853
sahilmgandhi 18:6a4db94011d3 854 #define SAMD20E ( \
sahilmgandhi 18:6a4db94011d3 855 SAM_PART_IS_DEFINED(SAMD20E14) || \
sahilmgandhi 18:6a4db94011d3 856 SAM_PART_IS_DEFINED(SAMD20E15) || \
sahilmgandhi 18:6a4db94011d3 857 SAM_PART_IS_DEFINED(SAMD20E16) || \
sahilmgandhi 18:6a4db94011d3 858 SAM_PART_IS_DEFINED(SAMD20E17) || \
sahilmgandhi 18:6a4db94011d3 859 SAM_PART_IS_DEFINED(SAMD20E18) || \
sahilmgandhi 18:6a4db94011d3 860 SAM_PART_IS_DEFINED(SAMD20E1F) \
sahilmgandhi 18:6a4db94011d3 861 )
sahilmgandhi 18:6a4db94011d3 862 /** @} */
sahilmgandhi 18:6a4db94011d3 863
sahilmgandhi 18:6a4db94011d3 864 /**
sahilmgandhi 18:6a4db94011d3 865 * \name SAMD21 series
sahilmgandhi 18:6a4db94011d3 866 * @{
sahilmgandhi 18:6a4db94011d3 867 */
sahilmgandhi 18:6a4db94011d3 868 #define SAMD21J ( \
sahilmgandhi 18:6a4db94011d3 869 SAM_PART_IS_DEFINED(SAMD21J15A) || \
sahilmgandhi 18:6a4db94011d3 870 SAM_PART_IS_DEFINED(SAMD21J16A) || \
sahilmgandhi 18:6a4db94011d3 871 SAM_PART_IS_DEFINED(SAMD21J17A) || \
sahilmgandhi 18:6a4db94011d3 872 SAM_PART_IS_DEFINED(SAMD21J18A) \
sahilmgandhi 18:6a4db94011d3 873 )
sahilmgandhi 18:6a4db94011d3 874
sahilmgandhi 18:6a4db94011d3 875 #define SAMD21G ( \
sahilmgandhi 18:6a4db94011d3 876 SAM_PART_IS_DEFINED(SAMD21G15A) || \
sahilmgandhi 18:6a4db94011d3 877 SAM_PART_IS_DEFINED(SAMD21G16A) || \
sahilmgandhi 18:6a4db94011d3 878 SAM_PART_IS_DEFINED(SAMD21G17A) || \
sahilmgandhi 18:6a4db94011d3 879 SAM_PART_IS_DEFINED(SAMD21G18A) \
sahilmgandhi 18:6a4db94011d3 880 )
sahilmgandhi 18:6a4db94011d3 881
sahilmgandhi 18:6a4db94011d3 882 #define SAMD21E ( \
sahilmgandhi 18:6a4db94011d3 883 SAM_PART_IS_DEFINED(SAMD21E15A) || \
sahilmgandhi 18:6a4db94011d3 884 SAM_PART_IS_DEFINED(SAMD21E16A) || \
sahilmgandhi 18:6a4db94011d3 885 SAM_PART_IS_DEFINED(SAMD21E17A) || \
sahilmgandhi 18:6a4db94011d3 886 SAM_PART_IS_DEFINED(SAMD21E18A) \
sahilmgandhi 18:6a4db94011d3 887 )
sahilmgandhi 18:6a4db94011d3 888 /** @} */
sahilmgandhi 18:6a4db94011d3 889
sahilmgandhi 18:6a4db94011d3 890 /**
sahilmgandhi 18:6a4db94011d3 891 * \name SAMR21 series
sahilmgandhi 18:6a4db94011d3 892 * @{
sahilmgandhi 18:6a4db94011d3 893 */
sahilmgandhi 18:6a4db94011d3 894 #define SAMR21G ( \
sahilmgandhi 18:6a4db94011d3 895 SAM_PART_IS_DEFINED(SAMR21G16A) || \
sahilmgandhi 18:6a4db94011d3 896 SAM_PART_IS_DEFINED(SAMR21G17A) || \
sahilmgandhi 18:6a4db94011d3 897 SAM_PART_IS_DEFINED(SAMR21G18A) \
sahilmgandhi 18:6a4db94011d3 898 )
sahilmgandhi 18:6a4db94011d3 899
sahilmgandhi 18:6a4db94011d3 900 #define SAMR21E ( \
sahilmgandhi 18:6a4db94011d3 901 SAM_PART_IS_DEFINED(SAMR21E16A) || \
sahilmgandhi 18:6a4db94011d3 902 SAM_PART_IS_DEFINED(SAMR21E17A) || \
sahilmgandhi 18:6a4db94011d3 903 SAM_PART_IS_DEFINED(SAMR21E18A) \
sahilmgandhi 18:6a4db94011d3 904 )
sahilmgandhi 18:6a4db94011d3 905 /** @} */
sahilmgandhi 18:6a4db94011d3 906
sahilmgandhi 18:6a4db94011d3 907 /**
sahilmgandhi 18:6a4db94011d3 908 * \name SAMD10 series
sahilmgandhi 18:6a4db94011d3 909 * @{
sahilmgandhi 18:6a4db94011d3 910 */
sahilmgandhi 18:6a4db94011d3 911 #define SAMD10C ( \
sahilmgandhi 18:6a4db94011d3 912 SAM_PART_IS_DEFINED(SAMD10C12A) || \
sahilmgandhi 18:6a4db94011d3 913 SAM_PART_IS_DEFINED(SAMD10C13A) || \
sahilmgandhi 18:6a4db94011d3 914 SAM_PART_IS_DEFINED(SAMD10C14A) \
sahilmgandhi 18:6a4db94011d3 915 )
sahilmgandhi 18:6a4db94011d3 916
sahilmgandhi 18:6a4db94011d3 917 #define SAMD10DS ( \
sahilmgandhi 18:6a4db94011d3 918 SAM_PART_IS_DEFINED(SAMD10D12AS) || \
sahilmgandhi 18:6a4db94011d3 919 SAM_PART_IS_DEFINED(SAMD10D13AS) || \
sahilmgandhi 18:6a4db94011d3 920 SAM_PART_IS_DEFINED(SAMD10D14AS) \
sahilmgandhi 18:6a4db94011d3 921 )
sahilmgandhi 18:6a4db94011d3 922
sahilmgandhi 18:6a4db94011d3 923 #define SAMD10DM ( \
sahilmgandhi 18:6a4db94011d3 924 SAM_PART_IS_DEFINED(SAMD10D12AM) || \
sahilmgandhi 18:6a4db94011d3 925 SAM_PART_IS_DEFINED(SAMD10D13AM) || \
sahilmgandhi 18:6a4db94011d3 926 SAM_PART_IS_DEFINED(SAMD10D14AM) \
sahilmgandhi 18:6a4db94011d3 927 )
sahilmgandhi 18:6a4db94011d3 928 /** @} */
sahilmgandhi 18:6a4db94011d3 929
sahilmgandhi 18:6a4db94011d3 930 /**
sahilmgandhi 18:6a4db94011d3 931 * \name SAMD11 series
sahilmgandhi 18:6a4db94011d3 932 * @{
sahilmgandhi 18:6a4db94011d3 933 */
sahilmgandhi 18:6a4db94011d3 934 #define SAMD11C ( \
sahilmgandhi 18:6a4db94011d3 935 SAM_PART_IS_DEFINED(SAMD11C14A) \
sahilmgandhi 18:6a4db94011d3 936 )
sahilmgandhi 18:6a4db94011d3 937
sahilmgandhi 18:6a4db94011d3 938 #define SAMD11DS ( \
sahilmgandhi 18:6a4db94011d3 939 SAM_PART_IS_DEFINED(SAMD11D14AS) \
sahilmgandhi 18:6a4db94011d3 940 )
sahilmgandhi 18:6a4db94011d3 941
sahilmgandhi 18:6a4db94011d3 942 #define SAMD11DM ( \
sahilmgandhi 18:6a4db94011d3 943 SAM_PART_IS_DEFINED(SAMD11D14AM) \
sahilmgandhi 18:6a4db94011d3 944 )
sahilmgandhi 18:6a4db94011d3 945 /** @} */
sahilmgandhi 18:6a4db94011d3 946
sahilmgandhi 18:6a4db94011d3 947 /**
sahilmgandhi 18:6a4db94011d3 948 * \name SAML21 series
sahilmgandhi 18:6a4db94011d3 949 * @{
sahilmgandhi 18:6a4db94011d3 950 */
sahilmgandhi 18:6a4db94011d3 951 #define SAML21E ( \
sahilmgandhi 18:6a4db94011d3 952 SAM_PART_IS_DEFINED(SAML21E15A) || \
sahilmgandhi 18:6a4db94011d3 953 SAM_PART_IS_DEFINED(SAML21E16A) || \
sahilmgandhi 18:6a4db94011d3 954 SAM_PART_IS_DEFINED(SAML21E17A) || \
sahilmgandhi 18:6a4db94011d3 955 SAM_PART_IS_DEFINED(SAML21E18A) \
sahilmgandhi 18:6a4db94011d3 956 )
sahilmgandhi 18:6a4db94011d3 957
sahilmgandhi 18:6a4db94011d3 958 #define SAML21G ( \
sahilmgandhi 18:6a4db94011d3 959 SAM_PART_IS_DEFINED(SAML21G16A) || \
sahilmgandhi 18:6a4db94011d3 960 SAM_PART_IS_DEFINED(SAML21G17A) || \
sahilmgandhi 18:6a4db94011d3 961 SAM_PART_IS_DEFINED(SAML21G18A) \
sahilmgandhi 18:6a4db94011d3 962 )
sahilmgandhi 18:6a4db94011d3 963
sahilmgandhi 18:6a4db94011d3 964 #define SAML21J ( \
sahilmgandhi 18:6a4db94011d3 965 SAM_PART_IS_DEFINED(SAML21J16A) || \
sahilmgandhi 18:6a4db94011d3 966 SAM_PART_IS_DEFINED(SAML21J17A) || \
sahilmgandhi 18:6a4db94011d3 967 SAM_PART_IS_DEFINED(SAML21J18A) \
sahilmgandhi 18:6a4db94011d3 968 )
sahilmgandhi 18:6a4db94011d3 969 /** @} */
sahilmgandhi 18:6a4db94011d3 970
sahilmgandhi 18:6a4db94011d3 971 /**
sahilmgandhi 18:6a4db94011d3 972 * \name SAM4E series
sahilmgandhi 18:6a4db94011d3 973 * @{
sahilmgandhi 18:6a4db94011d3 974 */
sahilmgandhi 18:6a4db94011d3 975 #define SAM4E8 ( \
sahilmgandhi 18:6a4db94011d3 976 SAM_PART_IS_DEFINED(SAM4E8C) || \
sahilmgandhi 18:6a4db94011d3 977 SAM_PART_IS_DEFINED(SAM4E8E) \
sahilmgandhi 18:6a4db94011d3 978 )
sahilmgandhi 18:6a4db94011d3 979
sahilmgandhi 18:6a4db94011d3 980 #define SAM4E16 ( \
sahilmgandhi 18:6a4db94011d3 981 SAM_PART_IS_DEFINED(SAM4E16C) || \
sahilmgandhi 18:6a4db94011d3 982 SAM_PART_IS_DEFINED(SAM4E16E) \
sahilmgandhi 18:6a4db94011d3 983 )
sahilmgandhi 18:6a4db94011d3 984 /** @} */
sahilmgandhi 18:6a4db94011d3 985
sahilmgandhi 18:6a4db94011d3 986 /**
sahilmgandhi 18:6a4db94011d3 987 * \name SAM4N series
sahilmgandhi 18:6a4db94011d3 988 * @{
sahilmgandhi 18:6a4db94011d3 989 */
sahilmgandhi 18:6a4db94011d3 990 #define SAM4N8 ( \
sahilmgandhi 18:6a4db94011d3 991 SAM_PART_IS_DEFINED(SAM4N8A) || \
sahilmgandhi 18:6a4db94011d3 992 SAM_PART_IS_DEFINED(SAM4N8B) || \
sahilmgandhi 18:6a4db94011d3 993 SAM_PART_IS_DEFINED(SAM4N8C) \
sahilmgandhi 18:6a4db94011d3 994 )
sahilmgandhi 18:6a4db94011d3 995
sahilmgandhi 18:6a4db94011d3 996 #define SAM4N16 ( \
sahilmgandhi 18:6a4db94011d3 997 SAM_PART_IS_DEFINED(SAM4N16B) || \
sahilmgandhi 18:6a4db94011d3 998 SAM_PART_IS_DEFINED(SAM4N16C) \
sahilmgandhi 18:6a4db94011d3 999 )
sahilmgandhi 18:6a4db94011d3 1000 /** @} */
sahilmgandhi 18:6a4db94011d3 1001
sahilmgandhi 18:6a4db94011d3 1002 /**
sahilmgandhi 18:6a4db94011d3 1003 * \name SAM4C series
sahilmgandhi 18:6a4db94011d3 1004 * @{
sahilmgandhi 18:6a4db94011d3 1005 */
sahilmgandhi 18:6a4db94011d3 1006 #define SAM4C8_0 ( \
sahilmgandhi 18:6a4db94011d3 1007 SAM_PART_IS_DEFINED(SAM4C8C_0) \
sahilmgandhi 18:6a4db94011d3 1008 )
sahilmgandhi 18:6a4db94011d3 1009
sahilmgandhi 18:6a4db94011d3 1010 #define SAM4C8_1 ( \
sahilmgandhi 18:6a4db94011d3 1011 SAM_PART_IS_DEFINED(SAM4C8C_1) \
sahilmgandhi 18:6a4db94011d3 1012 )
sahilmgandhi 18:6a4db94011d3 1013
sahilmgandhi 18:6a4db94011d3 1014 #define SAM4C8 (SAM4C8_0 || SAM4C8_1)
sahilmgandhi 18:6a4db94011d3 1015
sahilmgandhi 18:6a4db94011d3 1016 #define SAM4C16_0 ( \
sahilmgandhi 18:6a4db94011d3 1017 SAM_PART_IS_DEFINED(SAM4C16C_0) \
sahilmgandhi 18:6a4db94011d3 1018 )
sahilmgandhi 18:6a4db94011d3 1019
sahilmgandhi 18:6a4db94011d3 1020 #define SAM4C16_1 ( \
sahilmgandhi 18:6a4db94011d3 1021 SAM_PART_IS_DEFINED(SAM4C16C_1) \
sahilmgandhi 18:6a4db94011d3 1022 )
sahilmgandhi 18:6a4db94011d3 1023
sahilmgandhi 18:6a4db94011d3 1024 #define SAM4C16 (SAM4C16_0 || SAM4C16_1)
sahilmgandhi 18:6a4db94011d3 1025
sahilmgandhi 18:6a4db94011d3 1026 #define SAM4C32_0 ( \
sahilmgandhi 18:6a4db94011d3 1027 SAM_PART_IS_DEFINED(SAM4C32C_0) ||\
sahilmgandhi 18:6a4db94011d3 1028 SAM_PART_IS_DEFINED(SAM4C32E_0) \
sahilmgandhi 18:6a4db94011d3 1029 )
sahilmgandhi 18:6a4db94011d3 1030
sahilmgandhi 18:6a4db94011d3 1031 #define SAM4C32_1 ( \
sahilmgandhi 18:6a4db94011d3 1032 SAM_PART_IS_DEFINED(SAM4C32C_1) ||\
sahilmgandhi 18:6a4db94011d3 1033 SAM_PART_IS_DEFINED(SAM4C32E_1) \
sahilmgandhi 18:6a4db94011d3 1034 )
sahilmgandhi 18:6a4db94011d3 1035
sahilmgandhi 18:6a4db94011d3 1036
sahilmgandhi 18:6a4db94011d3 1037 #define SAM4C32 (SAM4C32_0 || SAM4C32_1)
sahilmgandhi 18:6a4db94011d3 1038
sahilmgandhi 18:6a4db94011d3 1039 /** @} */
sahilmgandhi 18:6a4db94011d3 1040
sahilmgandhi 18:6a4db94011d3 1041 /**
sahilmgandhi 18:6a4db94011d3 1042 * \name SAM4CM series
sahilmgandhi 18:6a4db94011d3 1043 * @{
sahilmgandhi 18:6a4db94011d3 1044 */
sahilmgandhi 18:6a4db94011d3 1045 #define SAM4CMP8_0 ( \
sahilmgandhi 18:6a4db94011d3 1046 SAM_PART_IS_DEFINED(SAM4CMP8C_0) \
sahilmgandhi 18:6a4db94011d3 1047 )
sahilmgandhi 18:6a4db94011d3 1048
sahilmgandhi 18:6a4db94011d3 1049 #define SAM4CMP8_1 ( \
sahilmgandhi 18:6a4db94011d3 1050 SAM_PART_IS_DEFINED(SAM4CMP8C_1) \
sahilmgandhi 18:6a4db94011d3 1051 )
sahilmgandhi 18:6a4db94011d3 1052
sahilmgandhi 18:6a4db94011d3 1053 #define SAM4CMP8 (SAM4CMP8_0 || SAM4CMP8_1)
sahilmgandhi 18:6a4db94011d3 1054
sahilmgandhi 18:6a4db94011d3 1055 #define SAM4CMP16_0 ( \
sahilmgandhi 18:6a4db94011d3 1056 SAM_PART_IS_DEFINED(SAM4CMP16C_0) \
sahilmgandhi 18:6a4db94011d3 1057 )
sahilmgandhi 18:6a4db94011d3 1058
sahilmgandhi 18:6a4db94011d3 1059 #define SAM4CMP16_1 ( \
sahilmgandhi 18:6a4db94011d3 1060 SAM_PART_IS_DEFINED(SAM4CMP16C_1) \
sahilmgandhi 18:6a4db94011d3 1061 )
sahilmgandhi 18:6a4db94011d3 1062
sahilmgandhi 18:6a4db94011d3 1063 #define SAM4CMP16 (SAM4CMP16_0 || SAM4CMP16_1)
sahilmgandhi 18:6a4db94011d3 1064
sahilmgandhi 18:6a4db94011d3 1065 #define SAM4CMP32_0 ( \
sahilmgandhi 18:6a4db94011d3 1066 SAM_PART_IS_DEFINED(SAM4CMP32C_0) \
sahilmgandhi 18:6a4db94011d3 1067 )
sahilmgandhi 18:6a4db94011d3 1068
sahilmgandhi 18:6a4db94011d3 1069 #define SAM4CMP32_1 ( \
sahilmgandhi 18:6a4db94011d3 1070 SAM_PART_IS_DEFINED(SAM4CMP32C_1) \
sahilmgandhi 18:6a4db94011d3 1071 )
sahilmgandhi 18:6a4db94011d3 1072
sahilmgandhi 18:6a4db94011d3 1073 #define SAM4CMP32 (SAM4CMP32_0 || SAM4CMP32_1)
sahilmgandhi 18:6a4db94011d3 1074
sahilmgandhi 18:6a4db94011d3 1075 #define SAM4CMS8_0 ( \
sahilmgandhi 18:6a4db94011d3 1076 SAM_PART_IS_DEFINED(SAM4CMS8C_0) \
sahilmgandhi 18:6a4db94011d3 1077 )
sahilmgandhi 18:6a4db94011d3 1078
sahilmgandhi 18:6a4db94011d3 1079 #define SAM4CMS8_1 ( \
sahilmgandhi 18:6a4db94011d3 1080 SAM_PART_IS_DEFINED(SAM4CMS8C_1) \
sahilmgandhi 18:6a4db94011d3 1081 )
sahilmgandhi 18:6a4db94011d3 1082
sahilmgandhi 18:6a4db94011d3 1083 #define SAM4CMS8 (SAM4CMS8_0 || SAM4CMS8_1)
sahilmgandhi 18:6a4db94011d3 1084
sahilmgandhi 18:6a4db94011d3 1085 #define SAM4CMS16_0 ( \
sahilmgandhi 18:6a4db94011d3 1086 SAM_PART_IS_DEFINED(SAM4CMS16C_0) \
sahilmgandhi 18:6a4db94011d3 1087 )
sahilmgandhi 18:6a4db94011d3 1088
sahilmgandhi 18:6a4db94011d3 1089 #define SAM4CMS16_1 ( \
sahilmgandhi 18:6a4db94011d3 1090 SAM_PART_IS_DEFINED(SAM4CMS16C_1) \
sahilmgandhi 18:6a4db94011d3 1091 )
sahilmgandhi 18:6a4db94011d3 1092
sahilmgandhi 18:6a4db94011d3 1093 #define SAM4CMS16 (SAM4CMS16_0 || SAM4CMS16_1)
sahilmgandhi 18:6a4db94011d3 1094
sahilmgandhi 18:6a4db94011d3 1095 #define SAM4CMS32_0 ( \
sahilmgandhi 18:6a4db94011d3 1096 SAM_PART_IS_DEFINED(SAM4CMS32C_0) \
sahilmgandhi 18:6a4db94011d3 1097 )
sahilmgandhi 18:6a4db94011d3 1098
sahilmgandhi 18:6a4db94011d3 1099 #define SAM4CMS32_1 ( \
sahilmgandhi 18:6a4db94011d3 1100 SAM_PART_IS_DEFINED(SAM4CMS32C_1) \
sahilmgandhi 18:6a4db94011d3 1101 )
sahilmgandhi 18:6a4db94011d3 1102
sahilmgandhi 18:6a4db94011d3 1103 #define SAM4CMS32 (SAM4CMS32_0 || SAM4CMS32_1)
sahilmgandhi 18:6a4db94011d3 1104
sahilmgandhi 18:6a4db94011d3 1105 /** @} */
sahilmgandhi 18:6a4db94011d3 1106
sahilmgandhi 18:6a4db94011d3 1107 /**
sahilmgandhi 18:6a4db94011d3 1108 * \name SAM4CP series
sahilmgandhi 18:6a4db94011d3 1109 * @{
sahilmgandhi 18:6a4db94011d3 1110 */
sahilmgandhi 18:6a4db94011d3 1111 #define SAM4CP16_0 ( \
sahilmgandhi 18:6a4db94011d3 1112 SAM_PART_IS_DEFINED(SAM4CP16B_0) \
sahilmgandhi 18:6a4db94011d3 1113 )
sahilmgandhi 18:6a4db94011d3 1114
sahilmgandhi 18:6a4db94011d3 1115 #define SAM4CP16_1 ( \
sahilmgandhi 18:6a4db94011d3 1116 SAM_PART_IS_DEFINED(SAM4CP16B_1) \
sahilmgandhi 18:6a4db94011d3 1117 )
sahilmgandhi 18:6a4db94011d3 1118
sahilmgandhi 18:6a4db94011d3 1119 #define SAM4CP16 (SAM4CP16_0 || SAM4CP16_1)
sahilmgandhi 18:6a4db94011d3 1120 /** @} */
sahilmgandhi 18:6a4db94011d3 1121
sahilmgandhi 18:6a4db94011d3 1122 /**
sahilmgandhi 18:6a4db94011d3 1123 * \name SAMG series
sahilmgandhi 18:6a4db94011d3 1124 * @{
sahilmgandhi 18:6a4db94011d3 1125 */
sahilmgandhi 18:6a4db94011d3 1126 #define SAMG51 ( \
sahilmgandhi 18:6a4db94011d3 1127 SAM_PART_IS_DEFINED(SAMG51G18) \
sahilmgandhi 18:6a4db94011d3 1128 )
sahilmgandhi 18:6a4db94011d3 1129
sahilmgandhi 18:6a4db94011d3 1130 #define SAMG53 ( \
sahilmgandhi 18:6a4db94011d3 1131 SAM_PART_IS_DEFINED(SAMG53G19) ||\
sahilmgandhi 18:6a4db94011d3 1132 SAM_PART_IS_DEFINED(SAMG53N19) \
sahilmgandhi 18:6a4db94011d3 1133 )
sahilmgandhi 18:6a4db94011d3 1134
sahilmgandhi 18:6a4db94011d3 1135 #define SAMG54 ( \
sahilmgandhi 18:6a4db94011d3 1136 SAM_PART_IS_DEFINED(SAMG54G19) ||\
sahilmgandhi 18:6a4db94011d3 1137 SAM_PART_IS_DEFINED(SAMG54J19) ||\
sahilmgandhi 18:6a4db94011d3 1138 SAM_PART_IS_DEFINED(SAMG54N19) \
sahilmgandhi 18:6a4db94011d3 1139 )
sahilmgandhi 18:6a4db94011d3 1140
sahilmgandhi 18:6a4db94011d3 1141 #define SAMG55 ( \
sahilmgandhi 18:6a4db94011d3 1142 SAM_PART_IS_DEFINED(SAMG55G18) ||\
sahilmgandhi 18:6a4db94011d3 1143 SAM_PART_IS_DEFINED(SAMG55G19) ||\
sahilmgandhi 18:6a4db94011d3 1144 SAM_PART_IS_DEFINED(SAMG55J18) ||\
sahilmgandhi 18:6a4db94011d3 1145 SAM_PART_IS_DEFINED(SAMG55J19) ||\
sahilmgandhi 18:6a4db94011d3 1146 SAM_PART_IS_DEFINED(SAMG55N19) \
sahilmgandhi 18:6a4db94011d3 1147 )
sahilmgandhi 18:6a4db94011d3 1148 /** @} */
sahilmgandhi 18:6a4db94011d3 1149 /**
sahilmgandhi 18:6a4db94011d3 1150 * \name SAM families
sahilmgandhi 18:6a4db94011d3 1151 * @{
sahilmgandhi 18:6a4db94011d3 1152 */
sahilmgandhi 18:6a4db94011d3 1153 /** SAM3S Family */
sahilmgandhi 18:6a4db94011d3 1154 #define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8)
sahilmgandhi 18:6a4db94011d3 1155
sahilmgandhi 18:6a4db94011d3 1156 /** SAM3U Family */
sahilmgandhi 18:6a4db94011d3 1157 #define SAM3U (SAM3U1 || SAM3U2 || SAM3U4)
sahilmgandhi 18:6a4db94011d3 1158
sahilmgandhi 18:6a4db94011d3 1159 /** SAM3N Family */
sahilmgandhi 18:6a4db94011d3 1160 #define SAM3N (SAM3N00 || SAM3N0 || SAM3N1 || SAM3N2 || SAM3N4)
sahilmgandhi 18:6a4db94011d3 1161
sahilmgandhi 18:6a4db94011d3 1162 /** SAM3XA Family */
sahilmgandhi 18:6a4db94011d3 1163 #define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8)
sahilmgandhi 18:6a4db94011d3 1164
sahilmgandhi 18:6a4db94011d3 1165 /** SAM4S Family */
sahilmgandhi 18:6a4db94011d3 1166 #define SAM4S (SAM4S2 || SAM4S4 || SAM4S8 || SAM4S16 || SAM4SA16 || SAM4SD16 || SAM4SD32)
sahilmgandhi 18:6a4db94011d3 1167
sahilmgandhi 18:6a4db94011d3 1168 /** SAM4L Family */
sahilmgandhi 18:6a4db94011d3 1169 #define SAM4L (SAM4LS || SAM4LC)
sahilmgandhi 18:6a4db94011d3 1170
sahilmgandhi 18:6a4db94011d3 1171 /** SAMD20 Family */
sahilmgandhi 18:6a4db94011d3 1172 #define SAMD20 (SAMD20J || SAMD20G || SAMD20E)
sahilmgandhi 18:6a4db94011d3 1173
sahilmgandhi 18:6a4db94011d3 1174 /** SAMD21 Family */
sahilmgandhi 18:6a4db94011d3 1175 #define SAMD21 (SAMD21J || SAMD21G || SAMD21E)
sahilmgandhi 18:6a4db94011d3 1176
sahilmgandhi 18:6a4db94011d3 1177 /** SAMD10 Family */
sahilmgandhi 18:6a4db94011d3 1178 #define SAMD10 (SAMD10C || SAMD10DS || SAMD10DM)
sahilmgandhi 18:6a4db94011d3 1179
sahilmgandhi 18:6a4db94011d3 1180 /** SAMD11 Family */
sahilmgandhi 18:6a4db94011d3 1181 #define SAMD11 (SAMD11C || SAMD11DS || SAMD11DM)
sahilmgandhi 18:6a4db94011d3 1182
sahilmgandhi 18:6a4db94011d3 1183 /** SAMD Family */
sahilmgandhi 18:6a4db94011d3 1184 #define SAMD (SAMD20 || SAMD21 || SAMD10 || SAMD11)
sahilmgandhi 18:6a4db94011d3 1185
sahilmgandhi 18:6a4db94011d3 1186 /** SAMR21 Family */
sahilmgandhi 18:6a4db94011d3 1187 #define SAMR21 (SAMR21G || SAMR21E)
sahilmgandhi 18:6a4db94011d3 1188
sahilmgandhi 18:6a4db94011d3 1189 /** SAML21 Family */
sahilmgandhi 18:6a4db94011d3 1190 #define SAML21 (SAML21J || SAML21G || SAML21E)
sahilmgandhi 18:6a4db94011d3 1191
sahilmgandhi 18:6a4db94011d3 1192 /** SAM4E Family */
sahilmgandhi 18:6a4db94011d3 1193 #define SAM4E (SAM4E8 || SAM4E16)
sahilmgandhi 18:6a4db94011d3 1194
sahilmgandhi 18:6a4db94011d3 1195 /** SAM4N Family */
sahilmgandhi 18:6a4db94011d3 1196 #define SAM4N (SAM4N8 || SAM4N16)
sahilmgandhi 18:6a4db94011d3 1197
sahilmgandhi 18:6a4db94011d3 1198 /** SAM4C Family */
sahilmgandhi 18:6a4db94011d3 1199 #define SAM4C_0 (SAM4C8_0 || SAM4C16_0 || SAM4C32_0)
sahilmgandhi 18:6a4db94011d3 1200 #define SAM4C_1 (SAM4C8_1 || SAM4C16_1 || SAM4C32_1)
sahilmgandhi 18:6a4db94011d3 1201 #define SAM4C (SAM4C8 || SAM4C16 || SAM4C32)
sahilmgandhi 18:6a4db94011d3 1202
sahilmgandhi 18:6a4db94011d3 1203 /** SAM4CM Family */
sahilmgandhi 18:6a4db94011d3 1204 #define SAM4CM_0 (SAM4CMP8_0 || SAM4CMP16_0 || SAM4CMP32_0 || SAM4CMS8_0 || \
sahilmgandhi 18:6a4db94011d3 1205 SAM4CMS16_0 || SAM4CMS32_0)
sahilmgandhi 18:6a4db94011d3 1206 #define SAM4CM_1 (SAM4CMP8_1 || SAM4CMP16_1 || SAM4CMP32_1 || SAM4CMS8_1 || \
sahilmgandhi 18:6a4db94011d3 1207 SAM4CMS16_1 || SAM4CMS32_1)
sahilmgandhi 18:6a4db94011d3 1208 #define SAM4CM (SAM4CMP8 || SAM4CMP16 || SAM4CMP32 || SAM4CMS8 || \
sahilmgandhi 18:6a4db94011d3 1209 SAM4CMS16 || SAM4CMS32)
sahilmgandhi 18:6a4db94011d3 1210
sahilmgandhi 18:6a4db94011d3 1211 /** SAM4CP Family */
sahilmgandhi 18:6a4db94011d3 1212 #define SAM4CP_0 (SAM4CP16_0)
sahilmgandhi 18:6a4db94011d3 1213 #define SAM4CP_1 (SAM4CP16_1)
sahilmgandhi 18:6a4db94011d3 1214 #define SAM4CP (SAM4CP16)
sahilmgandhi 18:6a4db94011d3 1215
sahilmgandhi 18:6a4db94011d3 1216 /** SAMG Family */
sahilmgandhi 18:6a4db94011d3 1217 #define SAMG (SAMG51 || SAMG53 || SAMG54 || SAMG55)
sahilmgandhi 18:6a4db94011d3 1218
sahilmgandhi 18:6a4db94011d3 1219 /** SAM0 product line (cortex-m0+) */
sahilmgandhi 18:6a4db94011d3 1220 #define SAM0 (SAMD20 || SAMD21 || SAMR21 || SAMD10 || SAMD11 || SAML21)
sahilmgandhi 18:6a4db94011d3 1221
sahilmgandhi 18:6a4db94011d3 1222 /** @} */
sahilmgandhi 18:6a4db94011d3 1223
sahilmgandhi 18:6a4db94011d3 1224 /** SAM product line */
sahilmgandhi 18:6a4db94011d3 1225 #define SAM (SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S || SAM4L || SAM4E || \
sahilmgandhi 18:6a4db94011d3 1226 SAM0 || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG)
sahilmgandhi 18:6a4db94011d3 1227
sahilmgandhi 18:6a4db94011d3 1228 /** @} */
sahilmgandhi 18:6a4db94011d3 1229
sahilmgandhi 18:6a4db94011d3 1230 /** @} */
sahilmgandhi 18:6a4db94011d3 1231
sahilmgandhi 18:6a4db94011d3 1232 /** @} */
sahilmgandhi 18:6a4db94011d3 1233
sahilmgandhi 18:6a4db94011d3 1234 #endif /* ATMEL_PARTS_H */