Dependencies:   EthernetNetIf NetServices mbed HTTPServer

Committer:
etudiant12
Date:
Mon May 23 05:40:11 2011 +0000
Revision:
0:96cf274f19bc

        

Who changed what in which revision?

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