Dependencies:   PinDetect TextLCD mbed mRotaryEncoder

Committer:
cicklaus
Date:
Mon Feb 13 02:11:20 2012 +0000
Revision:
0:afb2650fb49a

        

Who changed what in which revision?

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