Committer:
segundo
Date:
Thu Nov 11 10:30:39 2010 +0000
Revision:
7:6fab7e5aa489
Parent:
0:d7810ff946c1

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
segundo 0:d7810ff946c1 1 //******************************************************************************
segundo 0:d7810ff946c1 2 //*
segundo 0:d7810ff946c1 3 //* FULLNAME: Single-Chip Microcontroller Real-Time Operating System
segundo 0:d7810ff946c1 4 //*
segundo 0:d7810ff946c1 5 //* NICKNAME: scmRTOS
segundo 0:d7810ff946c1 6 //*
segundo 0:d7810ff946c1 7 //* PURPOSE: Macros And Common Definitions
segundo 0:d7810ff946c1 8 //*
segundo 0:d7810ff946c1 9 //* Version: 3.10
segundo 0:d7810ff946c1 10 //*
segundo 0:d7810ff946c1 11 //* $Revision: 256 $
segundo 0:d7810ff946c1 12 //* $Date:: 2010-01-22 #$
segundo 0:d7810ff946c1 13 //*
segundo 0:d7810ff946c1 14 //* Copyright (c) 2003-2010, Harry E. Zhurov
segundo 0:d7810ff946c1 15 //*
segundo 0:d7810ff946c1 16 //* Permission is hereby granted, free of charge, to any person
segundo 0:d7810ff946c1 17 //* obtaining a copy of this software and associated documentation
segundo 0:d7810ff946c1 18 //* files (the "Software"), to deal in the Software without restriction,
segundo 0:d7810ff946c1 19 //* including without limitation the rights to use, copy, modify, merge,
segundo 0:d7810ff946c1 20 //* publish, distribute, sublicense, and/or sell copies of the Software,
segundo 0:d7810ff946c1 21 //* and to permit persons to whom the Software is furnished to do so,
segundo 0:d7810ff946c1 22 //* subject to the following conditions:
segundo 0:d7810ff946c1 23 //*
segundo 0:d7810ff946c1 24 //* The above copyright notice and this permission notice shall be included
segundo 0:d7810ff946c1 25 //* in all copies or substantial portions of the Software.
segundo 0:d7810ff946c1 26 //*
segundo 0:d7810ff946c1 27 //* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
segundo 0:d7810ff946c1 28 //* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
segundo 0:d7810ff946c1 29 //* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
segundo 0:d7810ff946c1 30 //* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
segundo 0:d7810ff946c1 31 //* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
segundo 0:d7810ff946c1 32 //* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
segundo 0:d7810ff946c1 33 //* THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
segundo 0:d7810ff946c1 34 //*
segundo 0:d7810ff946c1 35 //* =================================================================
segundo 0:d7810ff946c1 36 //* See http://scmrtos.sourceforge.net for documentation, latest
segundo 0:d7810ff946c1 37 //* information, license and contact details.
segundo 0:d7810ff946c1 38 //* =================================================================
segundo 0:d7810ff946c1 39 //*
segundo 0:d7810ff946c1 40 //******************************************************************************
segundo 0:d7810ff946c1 41
segundo 0:d7810ff946c1 42 #ifndef scmRTOS_DEFS_H
segundo 0:d7810ff946c1 43 #define scmRTOS_DEFS_H
segundo 0:d7810ff946c1 44
segundo 0:d7810ff946c1 45 #include <commdefs.h>
segundo 0:d7810ff946c1 46
segundo 0:d7810ff946c1 47 //------------------------------------------------------------------------------
segundo 0:d7810ff946c1 48
segundo 0:d7810ff946c1 49 //-----------------------------------------------------------------------------
segundo 0:d7810ff946c1 50 //
segundo 0:d7810ff946c1 51 //
segundo 0:d7810ff946c1 52 /// Macro for Channel Type definition
segundo 0:d7810ff946c1 53 //
segundo 0:d7810ff946c1 54 //
segundo 0:d7810ff946c1 55 #define DefineChannel(Name, Capacity) \
segundo 0:d7810ff946c1 56 class Name : public OS::TChannel \
segundo 0:d7810ff946c1 57 { \
segundo 0:d7810ff946c1 58 public: \
segundo 0:d7810ff946c1 59 Name() : OS::TChannel(buf, sizeof(buf)) { } \
segundo 0:d7810ff946c1 60 \
segundo 0:d7810ff946c1 61 private: \
segundo 0:d7810ff946c1 62 byte buf[Capacity]; \
segundo 0:d7810ff946c1 63 \
segundo 0:d7810ff946c1 64 }
segundo 0:d7810ff946c1 65 //-----------------------------------------------------------------------------
segundo 0:d7810ff946c1 66 //
segundo 0:d7810ff946c1 67 // Check CONFIG Macro Definitions
segundo 0:d7810ff946c1 68 //
segundo 0:d7810ff946c1 69 //
segundo 0:d7810ff946c1 70
segundo 0:d7810ff946c1 71 //----------------- scmRTOS_SYSTIMER_NEST_INTS_ENABLE -------------------------
segundo 0:d7810ff946c1 72 #ifndef scmRTOS_SYSTIMER_NEST_INTS_ENABLE
segundo 0:d7810ff946c1 73 #error "Error: Config macro scmRTOS_SYSTIMER_NEST_INTS_ENABLE must be defined!"
segundo 0:d7810ff946c1 74 #endif
segundo 0:d7810ff946c1 75
segundo 0:d7810ff946c1 76 #if (scmRTOS_SYSTIMER_NEST_INTS_ENABLE < 0) || (scmRTOS_SYSTIMER_NEST_INTS_ENABLE > 1)
segundo 0:d7810ff946c1 77 #error "Error: scmRTOS_SYSTIMER_NEST_INTS_ENABLE must have values 0 or 1 only!"
segundo 0:d7810ff946c1 78 #endif
segundo 0:d7810ff946c1 79
segundo 0:d7810ff946c1 80 //----------------- scmRTOS_SYSTEM_TICKS_ENABLE -------------------------------
segundo 0:d7810ff946c1 81 #ifndef scmRTOS_SYSTEM_TICKS_ENABLE
segundo 0:d7810ff946c1 82 #error "Error: Config macro scmRTOS_SYSTEM_TICKS_ENABLE must be defined!"
segundo 0:d7810ff946c1 83 #endif
segundo 0:d7810ff946c1 84
segundo 0:d7810ff946c1 85 #if (scmRTOS_SYSTEM_TICKS_ENABLE < 0) || (scmRTOS_SYSTEM_TICKS_ENABLE > 1)
segundo 0:d7810ff946c1 86 #error "Error: scmRTOS_SYSTEM_TICKS_ENABLE must have values 0 or 1 only!"
segundo 0:d7810ff946c1 87 #endif
segundo 0:d7810ff946c1 88
segundo 0:d7810ff946c1 89
segundo 0:d7810ff946c1 90 //----------------- scmRTOS_SYSTIMER_HOOK_ENABLE ------------------------------
segundo 0:d7810ff946c1 91 #ifndef scmRTOS_SYSTIMER_HOOK_ENABLE
segundo 0:d7810ff946c1 92 #error "Error: Config macro scmRTOS_SYSTIMER_HOOK_ENABLE must be defined!"
segundo 0:d7810ff946c1 93 #endif
segundo 0:d7810ff946c1 94
segundo 0:d7810ff946c1 95 #if (scmRTOS_SYSTIMER_HOOK_ENABLE < 0) || (scmRTOS_SYSTIMER_HOOK_ENABLE > 1)
segundo 0:d7810ff946c1 96 #error "Error: scmRTOS_SYSTIMER_HOOK_ENABLE must have values 0 or 1 only!"
segundo 0:d7810ff946c1 97 #endif
segundo 0:d7810ff946c1 98
segundo 0:d7810ff946c1 99 //-------------- scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE ----------------------
segundo 0:d7810ff946c1 100 #ifndef scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE
segundo 0:d7810ff946c1 101 #error "Error: Config macro scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE must be defined!"
segundo 0:d7810ff946c1 102 #endif
segundo 0:d7810ff946c1 103
segundo 0:d7810ff946c1 104 #if (scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE < 0) || (scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE > 1)
segundo 0:d7810ff946c1 105 #error "Error: scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE must have values 0 or 1 only!"
segundo 0:d7810ff946c1 106 #endif
segundo 0:d7810ff946c1 107
segundo 0:d7810ff946c1 108 //----------------- scmRTOS_IDLE_HOOK_ENABLE ----------------------------------
segundo 0:d7810ff946c1 109 #ifndef scmRTOS_IDLE_HOOK_ENABLE
segundo 0:d7810ff946c1 110 #error "Error: Config macro scmRTOS_IDLE_HOOK_ENABLE must be defined!"
segundo 0:d7810ff946c1 111 #endif
segundo 0:d7810ff946c1 112
segundo 0:d7810ff946c1 113 #if (scmRTOS_IDLE_HOOK_ENABLE < 0) || (scmRTOS_IDLE_HOOK_ENABLE > 1)
segundo 0:d7810ff946c1 114 #error "Error: scmRTOS_IDLE_HOOK_ENABLE must have values 0 or 1 only!"
segundo 0:d7810ff946c1 115 #endif
segundo 0:d7810ff946c1 116
segundo 0:d7810ff946c1 117 //----------------- scmRTOS_CONTEXT_SWITCH_SCHEME -----------------------------
segundo 0:d7810ff946c1 118 #ifndef scmRTOS_CONTEXT_SWITCH_SCHEME
segundo 0:d7810ff946c1 119 #error "Error: Config macro scmRTOS_CONTEXT_SWITCH_SCHEME must be defined!"
segundo 0:d7810ff946c1 120 #endif
segundo 0:d7810ff946c1 121
segundo 0:d7810ff946c1 122 #if (scmRTOS_CONTEXT_SWITCH_SCHEME < 0) || (scmRTOS_CONTEXT_SWITCH_SCHEME > 1)
segundo 0:d7810ff946c1 123 #error "Error: scmRTOS_CONTEXT_SWITCH_SCHEME must have values 0 or 1 only!"
segundo 0:d7810ff946c1 124 #endif
segundo 0:d7810ff946c1 125
segundo 0:d7810ff946c1 126
segundo 0:d7810ff946c1 127 //----------------- scmRTOS_PRIORITY_ORDER ------------------------------------
segundo 0:d7810ff946c1 128 #ifndef scmRTOS_PRIORITY_ORDER
segundo 0:d7810ff946c1 129 #error "Error: Config macro scmRTOS_PRIORITY_ORDER must be defined!"
segundo 0:d7810ff946c1 130 #endif
segundo 0:d7810ff946c1 131
segundo 0:d7810ff946c1 132 #if (scmRTOS_PRIORITY_ORDER < 0) || (scmRTOS_PRIORITY_ORDER > 1)
segundo 0:d7810ff946c1 133 #error "Error: scmRTOS_PRIORITY_ORDER must have values 0 or 1 only!"
segundo 0:d7810ff946c1 134 #endif
segundo 0:d7810ff946c1 135
segundo 0:d7810ff946c1 136 //----------------- User Hooks inlining ------------------------------------
segundo 0:d7810ff946c1 137 #ifndef INLINE_SYS_TIMER_HOOK
segundo 0:d7810ff946c1 138 #define INLINE_SYS_TIMER_HOOK
segundo 0:d7810ff946c1 139 #endif
segundo 0:d7810ff946c1 140
segundo 0:d7810ff946c1 141 #ifndef INLINE_CONTEXT_SWITCH_HOOK
segundo 0:d7810ff946c1 142 #define INLINE_CONTEXT_SWITCH_HOOK
segundo 0:d7810ff946c1 143 #endif
segundo 0:d7810ff946c1 144
segundo 0:d7810ff946c1 145
segundo 0:d7810ff946c1 146 //-----------------------------------------------------------------------------
segundo 0:d7810ff946c1 147 //
segundo 0:d7810ff946c1 148 /// Priority and process map type definitions
segundo 0:d7810ff946c1 149 //
segundo 0:d7810ff946c1 150 //
segundo 0:d7810ff946c1 151 namespace OS
segundo 0:d7810ff946c1 152 {
segundo 0:d7810ff946c1 153 #if scmRTOS_PROCESS_COUNT < 8
segundo 0:d7810ff946c1 154 typedef byte TProcessMap;
segundo 0:d7810ff946c1 155 #elif scmRTOS_PROCESS_COUNT < 16
segundo 0:d7810ff946c1 156 typedef word TProcessMap;
segundo 0:d7810ff946c1 157 #else
segundo 0:d7810ff946c1 158 typedef dword TProcessMap;
segundo 0:d7810ff946c1 159 #endif
segundo 0:d7810ff946c1 160 //------------------------------------------------------
segundo 0:d7810ff946c1 161 #if scmRTOS_PRIORITY_ORDER == 0
segundo 0:d7810ff946c1 162 enum TPriority {
segundo 0:d7810ff946c1 163 #if scmRTOS_PROCESS_COUNT > 0
segundo 0:d7810ff946c1 164 pr0,
segundo 0:d7810ff946c1 165 #endif
segundo 0:d7810ff946c1 166 #if scmRTOS_PROCESS_COUNT > 1
segundo 0:d7810ff946c1 167 pr1,
segundo 0:d7810ff946c1 168 #endif
segundo 0:d7810ff946c1 169 #if scmRTOS_PROCESS_COUNT > 2
segundo 0:d7810ff946c1 170 pr2,
segundo 0:d7810ff946c1 171 #endif
segundo 0:d7810ff946c1 172 #if scmRTOS_PROCESS_COUNT > 3
segundo 0:d7810ff946c1 173 pr3,
segundo 0:d7810ff946c1 174 #endif
segundo 0:d7810ff946c1 175 #if scmRTOS_PROCESS_COUNT > 4
segundo 0:d7810ff946c1 176 pr4,
segundo 0:d7810ff946c1 177 #endif
segundo 0:d7810ff946c1 178 #if scmRTOS_PROCESS_COUNT > 5
segundo 0:d7810ff946c1 179 pr5,
segundo 0:d7810ff946c1 180 #endif
segundo 0:d7810ff946c1 181 #if scmRTOS_PROCESS_COUNT > 6
segundo 0:d7810ff946c1 182 pr6,
segundo 0:d7810ff946c1 183 #endif
segundo 0:d7810ff946c1 184 #if scmRTOS_PROCESS_COUNT > 7
segundo 0:d7810ff946c1 185 pr7,
segundo 0:d7810ff946c1 186 #endif
segundo 0:d7810ff946c1 187 #if scmRTOS_PROCESS_COUNT > 8
segundo 0:d7810ff946c1 188 pr8,
segundo 0:d7810ff946c1 189 #endif
segundo 0:d7810ff946c1 190 #if scmRTOS_PROCESS_COUNT > 9
segundo 0:d7810ff946c1 191 pr9,
segundo 0:d7810ff946c1 192 #endif
segundo 0:d7810ff946c1 193 #if scmRTOS_PROCESS_COUNT > 10
segundo 0:d7810ff946c1 194 pr10,
segundo 0:d7810ff946c1 195 #endif
segundo 0:d7810ff946c1 196 #if scmRTOS_PROCESS_COUNT > 11
segundo 0:d7810ff946c1 197 pr11,
segundo 0:d7810ff946c1 198 #endif
segundo 0:d7810ff946c1 199 #if scmRTOS_PROCESS_COUNT > 12
segundo 0:d7810ff946c1 200 pr12,
segundo 0:d7810ff946c1 201 #endif
segundo 0:d7810ff946c1 202 #if scmRTOS_PROCESS_COUNT > 13
segundo 0:d7810ff946c1 203 pr13,
segundo 0:d7810ff946c1 204 #endif
segundo 0:d7810ff946c1 205 #if scmRTOS_PROCESS_COUNT > 14
segundo 0:d7810ff946c1 206 pr14,
segundo 0:d7810ff946c1 207 #endif
segundo 0:d7810ff946c1 208 #if scmRTOS_PROCESS_COUNT > 15
segundo 0:d7810ff946c1 209 pr15,
segundo 0:d7810ff946c1 210 #endif
segundo 0:d7810ff946c1 211 #if scmRTOS_PROCESS_COUNT > 16
segundo 0:d7810ff946c1 212 pr16,
segundo 0:d7810ff946c1 213 #endif
segundo 0:d7810ff946c1 214 #if scmRTOS_PROCESS_COUNT > 17
segundo 0:d7810ff946c1 215 pr17,
segundo 0:d7810ff946c1 216 #endif
segundo 0:d7810ff946c1 217 #if scmRTOS_PROCESS_COUNT > 18
segundo 0:d7810ff946c1 218 pr18,
segundo 0:d7810ff946c1 219 #endif
segundo 0:d7810ff946c1 220 #if scmRTOS_PROCESS_COUNT > 19
segundo 0:d7810ff946c1 221 pr19,
segundo 0:d7810ff946c1 222 #endif
segundo 0:d7810ff946c1 223 #if scmRTOS_PROCESS_COUNT > 20
segundo 0:d7810ff946c1 224 pr20,
segundo 0:d7810ff946c1 225 #endif
segundo 0:d7810ff946c1 226 #if scmRTOS_PROCESS_COUNT > 21
segundo 0:d7810ff946c1 227 pr21,
segundo 0:d7810ff946c1 228 #endif
segundo 0:d7810ff946c1 229 #if scmRTOS_PROCESS_COUNT > 22
segundo 0:d7810ff946c1 230 pr22,
segundo 0:d7810ff946c1 231 #endif
segundo 0:d7810ff946c1 232 #if scmRTOS_PROCESS_COUNT > 23
segundo 0:d7810ff946c1 233 pr23,
segundo 0:d7810ff946c1 234 #endif
segundo 0:d7810ff946c1 235 #if scmRTOS_PROCESS_COUNT > 24
segundo 0:d7810ff946c1 236 pr24,
segundo 0:d7810ff946c1 237 #endif
segundo 0:d7810ff946c1 238 #if scmRTOS_PROCESS_COUNT > 25
segundo 0:d7810ff946c1 239 pr25,
segundo 0:d7810ff946c1 240 #endif
segundo 0:d7810ff946c1 241 #if scmRTOS_PROCESS_COUNT > 26
segundo 0:d7810ff946c1 242 pr26,
segundo 0:d7810ff946c1 243 #endif
segundo 0:d7810ff946c1 244 #if scmRTOS_PROCESS_COUNT > 27
segundo 0:d7810ff946c1 245 pr27,
segundo 0:d7810ff946c1 246 #endif
segundo 0:d7810ff946c1 247 #if scmRTOS_PROCESS_COUNT > 28
segundo 0:d7810ff946c1 248 pr28,
segundo 0:d7810ff946c1 249 #endif
segundo 0:d7810ff946c1 250 #if scmRTOS_PROCESS_COUNT > 29
segundo 0:d7810ff946c1 251 pr29,
segundo 0:d7810ff946c1 252 #endif
segundo 0:d7810ff946c1 253 #if scmRTOS_PROCESS_COUNT > 30
segundo 0:d7810ff946c1 254 pr30,
segundo 0:d7810ff946c1 255 #endif
segundo 0:d7810ff946c1 256 #if (scmRTOS_PROCESS_COUNT > 31) || (scmRTOS_PROCESS_COUNT < 1)
segundo 0:d7810ff946c1 257 #error "Invalid Process Count specification! Must be from 1 to 31."
segundo 0:d7810ff946c1 258 #endif
segundo 0:d7810ff946c1 259 prIDLE
segundo 0:d7810ff946c1 260 };
segundo 0:d7810ff946c1 261 #else // scmRTOS_PRIORITY_ORDER == 1
segundo 0:d7810ff946c1 262 enum TPriority {
segundo 0:d7810ff946c1 263 prIDLE,
segundo 0:d7810ff946c1 264 #if scmRTOS_PROCESS_COUNT > 30
segundo 0:d7810ff946c1 265 pr30,
segundo 0:d7810ff946c1 266 #endif
segundo 0:d7810ff946c1 267 #if scmRTOS_PROCESS_COUNT > 29
segundo 0:d7810ff946c1 268 pr29,
segundo 0:d7810ff946c1 269 #endif
segundo 0:d7810ff946c1 270 #if scmRTOS_PROCESS_COUNT > 28
segundo 0:d7810ff946c1 271 pr28,
segundo 0:d7810ff946c1 272 #endif
segundo 0:d7810ff946c1 273 #if scmRTOS_PROCESS_COUNT > 27
segundo 0:d7810ff946c1 274 pr27,
segundo 0:d7810ff946c1 275 #endif
segundo 0:d7810ff946c1 276 #if scmRTOS_PROCESS_COUNT > 26
segundo 0:d7810ff946c1 277 pr26,
segundo 0:d7810ff946c1 278 #endif
segundo 0:d7810ff946c1 279 #if scmRTOS_PROCESS_COUNT > 25
segundo 0:d7810ff946c1 280 pr25,
segundo 0:d7810ff946c1 281 #endif
segundo 0:d7810ff946c1 282 #if scmRTOS_PROCESS_COUNT > 24
segundo 0:d7810ff946c1 283 pr24,
segundo 0:d7810ff946c1 284 #endif
segundo 0:d7810ff946c1 285 #if scmRTOS_PROCESS_COUNT > 23
segundo 0:d7810ff946c1 286 pr23,
segundo 0:d7810ff946c1 287 #endif
segundo 0:d7810ff946c1 288 #if scmRTOS_PROCESS_COUNT > 22
segundo 0:d7810ff946c1 289 pr22,
segundo 0:d7810ff946c1 290 #endif
segundo 0:d7810ff946c1 291 #if scmRTOS_PROCESS_COUNT > 21
segundo 0:d7810ff946c1 292 pr21,
segundo 0:d7810ff946c1 293 #endif
segundo 0:d7810ff946c1 294 #if scmRTOS_PROCESS_COUNT > 20
segundo 0:d7810ff946c1 295 pr20,
segundo 0:d7810ff946c1 296 #endif
segundo 0:d7810ff946c1 297 #if scmRTOS_PROCESS_COUNT > 19
segundo 0:d7810ff946c1 298 pr19,
segundo 0:d7810ff946c1 299 #endif
segundo 0:d7810ff946c1 300 #if scmRTOS_PROCESS_COUNT > 18
segundo 0:d7810ff946c1 301 pr18,
segundo 0:d7810ff946c1 302 #endif
segundo 0:d7810ff946c1 303 #if scmRTOS_PROCESS_COUNT > 17
segundo 0:d7810ff946c1 304 pr17,
segundo 0:d7810ff946c1 305 #endif
segundo 0:d7810ff946c1 306 #if scmRTOS_PROCESS_COUNT > 16
segundo 0:d7810ff946c1 307 pr16,
segundo 0:d7810ff946c1 308 #endif
segundo 0:d7810ff946c1 309 #if scmRTOS_PROCESS_COUNT > 15
segundo 0:d7810ff946c1 310 pr15,
segundo 0:d7810ff946c1 311 #endif
segundo 0:d7810ff946c1 312 #if scmRTOS_PROCESS_COUNT > 14
segundo 0:d7810ff946c1 313 pr14,
segundo 0:d7810ff946c1 314 #endif
segundo 0:d7810ff946c1 315 #if scmRTOS_PROCESS_COUNT > 13
segundo 0:d7810ff946c1 316 pr13,
segundo 0:d7810ff946c1 317 #endif
segundo 0:d7810ff946c1 318 #if scmRTOS_PROCESS_COUNT > 12
segundo 0:d7810ff946c1 319 pr12,
segundo 0:d7810ff946c1 320 #endif
segundo 0:d7810ff946c1 321 #if scmRTOS_PROCESS_COUNT > 11
segundo 0:d7810ff946c1 322 pr11,
segundo 0:d7810ff946c1 323 #endif
segundo 0:d7810ff946c1 324 #if scmRTOS_PROCESS_COUNT > 10
segundo 0:d7810ff946c1 325 pr10,
segundo 0:d7810ff946c1 326 #endif
segundo 0:d7810ff946c1 327 #if scmRTOS_PROCESS_COUNT > 9
segundo 0:d7810ff946c1 328 pr9,
segundo 0:d7810ff946c1 329 #endif
segundo 0:d7810ff946c1 330 #if scmRTOS_PROCESS_COUNT > 8
segundo 0:d7810ff946c1 331 pr8,
segundo 0:d7810ff946c1 332 #endif
segundo 0:d7810ff946c1 333 #if scmRTOS_PROCESS_COUNT > 7
segundo 0:d7810ff946c1 334 pr7,
segundo 0:d7810ff946c1 335 #endif
segundo 0:d7810ff946c1 336 #if scmRTOS_PROCESS_COUNT > 6
segundo 0:d7810ff946c1 337 pr6,
segundo 0:d7810ff946c1 338 #endif
segundo 0:d7810ff946c1 339 #if scmRTOS_PROCESS_COUNT > 5
segundo 0:d7810ff946c1 340 pr5,
segundo 0:d7810ff946c1 341 #endif
segundo 0:d7810ff946c1 342 #if scmRTOS_PROCESS_COUNT > 4
segundo 0:d7810ff946c1 343 pr4,
segundo 0:d7810ff946c1 344 #endif
segundo 0:d7810ff946c1 345 #if scmRTOS_PROCESS_COUNT > 3
segundo 0:d7810ff946c1 346 pr3,
segundo 0:d7810ff946c1 347 #endif
segundo 0:d7810ff946c1 348 #if scmRTOS_PROCESS_COUNT > 2
segundo 0:d7810ff946c1 349 pr2,
segundo 0:d7810ff946c1 350 #endif
segundo 0:d7810ff946c1 351 #if scmRTOS_PROCESS_COUNT > 1
segundo 0:d7810ff946c1 352 pr1,
segundo 0:d7810ff946c1 353 #endif
segundo 0:d7810ff946c1 354 #if scmRTOS_PROCESS_COUNT > 0
segundo 0:d7810ff946c1 355 pr0
segundo 0:d7810ff946c1 356 #endif
segundo 0:d7810ff946c1 357 #if (scmRTOS_PROCESS_COUNT > 31) || (scmRTOS_PROCESS_COUNT < 1)
segundo 0:d7810ff946c1 358 #error "Invalid Process Count specification! Must be from 1 to 31."
segundo 0:d7810ff946c1 359 #endif
segundo 0:d7810ff946c1 360 };
segundo 0:d7810ff946c1 361 #endif //scmRTOS_PRIORITY_ORDER
segundo 0:d7810ff946c1 362 }
segundo 0:d7810ff946c1 363 //-----------------------------------------------------------------------------
segundo 0:d7810ff946c1 364 //
segundo 0:d7810ff946c1 365 // Process's constructor inlining control: default behaviour
segundo 0:d7810ff946c1 366 //
segundo 0:d7810ff946c1 367 #ifndef INLINE_PROCESS_CTOR
segundo 0:d7810ff946c1 368 #define INLINE_PROCESS_CTOR
segundo 0:d7810ff946c1 369 #endif
segundo 0:d7810ff946c1 370
segundo 0:d7810ff946c1 371
segundo 0:d7810ff946c1 372 //-----------------------------------------------------------------------------
segundo 0:d7810ff946c1 373
segundo 0:d7810ff946c1 374 #endif // scmRTOS_DEFS_H