Dependencies:   keypad SDHCFileSystem TextLCD mbed FPointer wave_player

Committer:
daryl2110
Date:
Mon Feb 20 07:32:56 2012 +0000
Revision:
0:57ece500234e

        

Who changed what in which revision?

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