kasturi rangan raghavan / Mbed 2 deprecated QRS_cpp

Dependencies:   mbed

Committer:
kasturir
Date:
Mon Sep 27 22:51:19 2010 +0000
Revision:
0:906c21fbf97c

        

Who changed what in which revision?

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