femtoos_source/femtoos_shared.c

Go to the documentation of this file.
00001 /*
00002  * Femto OS v 0.91 - Copyright (C) 2008-2009 Ruud Vlaming
00003  *
00004  * This file is part of the Femto OS distribution.
00005  *
00006  * This program is free software: you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation, version 3 of the License.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017  *
00018  * Please note that, due to the GPLv3 license, for application of this
00019  * work and/or combined work in embedded systems special obligations apply.
00020  * If these are not to you liking, please know the Femto OS is dual
00021  * licensed. A commercial license and support are available.
00022  * See http://www.femtoos.org/ for details.
00023  */
00024 
00025 #ifndef TASKS_H
00026 #define TASKS_H
00027 
00028 #include "femtoos_shared.h"
00029 
00033 Ttickcount  uxTickCount;
00034 
00035 
00036 /* Definitions for the uiOsStatus byte. The whole state of the Femto OS is kept in one byte.
00037  * 8 bit structure: ccnstttt
00038  * cc:   context state of the OS: This indicates in which state the OS is at the moment.
00039  * n:    presence of a near wake: one or more tasks have to waked with 256 ticks.
00040  * s:    switch block,  if set no task switch can be performed.
00041  * tttt: number of the current task: Number of the task that is currently running.
00042  */
00043 Tuint08  uiOsStatus;
00044 
00056 TosData  xOS __attribute__ ((nocommon));
00057 
00070 #if (cfgUseFileSystem  ==  cfgTrue)
00071    Tuint08  uiFsStatus;
00072 #endif
00073 
00074 
00079 #if (cfgCheckTiming == cfgTrue)
00080   Tuint08  uiOsTimeAverage;
00081 #endif
00082 
00083 
00089 #if (cfgUseLoadMonitor == cfgTrue)
00090   Tuint16  uiOsLoadCollect;
00091   Tuint16  uiOsLoadTotal;
00092   Tuint16  uiIdleLoadCollect;
00093   Tuint16  uiIdleLoadTotal;
00094   #if (cfgIntUserDefined == cfgTrue)
00095     Tuint08  uiIsrLoadTemp;
00096     Tuint16  uiIsrLoadCollect;
00097     Tuint16  uiIsrLoadTotal;
00098     #if (cfgIntOsProtected == cfgTrue) && (cfgUseLowPowerSleep == cfgFalse) && (cfgIntTickTrack == cfgFalse)
00099       Tuint08  uiLastOsStatus;
00100     #endif
00101   #endif
00102 #endif
00103 
00104 
00110 #if (cfgCheckWatermarks == cfgTrue)
00111     Tuint08  uiOsStackMax;
00112   #if (defUseIsrStack == cfgTrue)
00113     #if ((StackSizeISR) > 0xFF)
00114       Tuint16  uiIsrStackMax;
00115     #else
00116       Tuint08  uiIsrStackMax;
00117     #endif
00118   #endif
00119 #endif
00120 
00124 #if (defUseIsrStack == cfgTrue)
00125   Tchar StackISR[(StackSizeISR)] __attribute__ ((nocommon));
00126 #endif
00127 
00128 
00132 #if (defUseSharedStack == cfgTrue)
00133   Tchar StackSHR[(StackSizeShared)] __attribute__ ((nocommon));
00134 #endif
00135 
00136 #if   (defRegisterUseConstant == cfgTrue)  &&  (defRegisterCheckConstant == cfgTrue)
00137   #define REGPARAMS(NR)
00138 #elif (defRegisterUseConstant == cfgTrue)  &&  (defRegisterCheckConstant == cfgFalse)
00139   #define REGPARAMS(NR) (RegisterCheckReduced(TN_ ## NR)),
00140 #elif (defRegisterUseConstant == cfgFalse) &&  (defRegisterCheckConstant == cfgTrue)
00141   #define REGPARAMS(NR) (RegisterUse(TN_ ## NR)),
00142 #elif (defRegisterUseConstant == cfgFalse) &&  (defRegisterCheckConstant == cfgFalse)
00143   #define REGPARAMS(NR) (RegisterUse(TN_ ## NR)),(RegisterCheckReduced(TN_ ## NR)),
00144 #else
00145   #error "Inconsistent parameters, you should not arive here."
00146 #endif
00147 
00148 #if (defInitialStatusConstant == cfgTrue)
00149   #define STATUSPARAMS(NR)
00150 #else
00151   #define STATUSPARAMS(NR) ( InitialStartModifier( ((TaskInclude(TN_ ## NR)) & defInitialStartGetMask), (InitialShared(TN_ ## NR))) | ((InterruptStart(TN_ ## NR)) & (defInitialInterruptGetMask)) | ( ((Priority(TN_ ## NR)) << defBasePrioShift) & defInitialPriorityGetMask) ),
00152 #endif
00153 
00154 #if (defStackSizeConstant == cfgFalse) && ( (cfgCheckTaskStack == cfgTrue) || (cfgCheckWatermarks == cfgTrue) || (defStackClean == cfgTrue) )
00155   #define STACKSIZEPARAMS(NR) (StackSize(TN_ ## NR)),
00156 #else
00157   #define STACKSIZEPARAMS(NR)
00158 #endif
00159 
00160 #if (cfgSysStackGrowthUp == cfgTrue)
00161   #define STACKOFFSETPARAMS(NR)       (Stack ## NR)
00162   #define STACKOFFSETPARAMSSHARED     (StackSHR)
00163 #else
00164   #define STACKOFFSETPARAMS(NR)       (&Stack ## NR[StackSize(TN_ ## NR) -1])
00165   #define STACKOFFSETPARAMSSHARED     (&StackSHR[StackSizeShared -1])
00166 #endif
00167 
00168 #if (defTimeSliceConstant == cfgTrue)
00169   #define TIMESLICEPARAMS(NR)
00170 #else
00171   #define TIMESLICEPARAMS(NR) ,(TimeSlice(TN_ ## NR))
00172 #endif
00173 
00174 # if (cfgUseSynchronization != cfgSyncNon) && (defSlotDepthConstant == cfgFalse)
00175   #define SLOTDEPTHPARAMS(NR) ,( (SlotDepth(TN_ ## NR)) & defSlotDepthMask )
00176 #else
00177   #define SLOTDEPTHPARAMS(NR)
00178 #endif
00179 
00180 #if (cfgUseTasknames == cfgTrue)
00181   #define TASKNAMEPARAMS(NR) ,(TaskNameStr ## NR)
00182 #else
00183   #define TASKNAMEPARAMS(NR)
00184 #endif
00185 
00186 
00187 #define TDB_DEF(NR,SOP) { REGPARAMS(NR) STATUSPARAMS(NR) STACKSIZEPARAMS(NR) SOP TIMESLICEPARAMS(NR) SLOTDEPTHPARAMS(NR) TASKNAMEPARAMS(NR) };
00188 
00189 
00190 #if (defUseTaskSlot == cfgTrue)
00191   #define SLOTDEPTHTCBEXTENSION(NR) (SlotDepth(TN_ ## NR))
00192 #else
00193   #define SLOTDEPTHTCBEXTENSION(NR) (0)
00194 #endif
00195 
00196 
00197 #if (defUseQueus == cfgTrue) && (defUseTaskSlot == cfgTrue)
00198   #if (cfgUseSynchronization == cfgSyncDoubleBlock)
00199     #define QEUETCBEXTENSION(NR) (((SlotSize(TN_ ## NR)) == 0) ? 0 : 2)
00200   #else
00201     #define QEUETCBEXTENSION(NR) (((SlotSize(TN_ ## NR)) == 0) ? 0 : 1)
00202   #endif
00203 #else
00204   #define QEUETCBEXTENSION(NR)   (0)
00205 #endif
00206 
00207 
00208 
00209 /* By placing the Stacks in nocommon we force gcc to allocate space directly, making
00210  * sure the stacks are all collected at the beginning of the RAM space, if this file
00211  * is the first object file linked. Now, if the sum  of all stacks does not exceed 0xFF
00212  * we safely ignore the stack pointer __SP_H__ for calculations.
00213  * Note that it is further from the utmost important the linker gets to see the shared.o
00214  * file first, so it can place all stacks before any other static variables.
00215  * */
00216 
00217 
00218 #define TASK_DEF(NR)                                                                                         \
00219   const Tbyte tcb ## NR[(sizeof(TtaskControlBlock) + SLOTDEPTHTCBEXTENSION(NR) + QEUETCBEXTENSION(NR)) ];    \
00220   const Tchar Stack ## NR[StackSizeReal(TN_  ## NR)] __attribute__ ((nocommon));                             \
00221   extern void AppInit(TN_ ## NR) (void);                                                                     \
00222   extern void AppLoop(TN_ ## NR) (void);                                                                     \
00223   extern void AppBark(TN_ ## NR) (void);                                                                     \
00224   const TtaskDefinitionBlock PROGMEM tdb ## NR =  TDB_DEF(NR,STACKOFFSETPARAMS(NR))
00225 
00226 #define TASK_DEF_SHARED(NR)                                                                                  \
00227   const Tbyte tcb ## NR[(sizeof(TtaskControlBlock) + SLOTDEPTHTCBEXTENSION(NR) + QEUETCBEXTENSION(NR)) ];    \
00228   extern void AppInit(TN_ ## NR) (void);                                                                     \
00229   extern void AppLoop(TN_ ## NR) (void);                                                                     \
00230   extern void AppBark(TN_ ## NR) (void);                                                                     \
00231   const TtaskDefinitionBlock PROGMEM tdb ## NR =  TDB_DEF(NR,STACKOFFSETPARAMSSHARED)
00232 
00233 #define QUEU_DEF(NR)                         \
00234   const Tbyte Queu ## NR[QueuSize(LN_ ## NR)];
00235 
00236 #if defNumberOfTasks > 0
00237  #if cfgUseTasknames == cfgTrue
00238   const Tchar TaskNameStr00[] PROGMEM = TaskName(TN_00);
00239  #endif
00240  #if StackIsShared(TN_00)
00241   TASK_DEF_SHARED(00)
00242  #else
00243   TASK_DEF(00)
00244  #endif
00245 #endif
00246 
00247 #if defNumberOfTasks > 1
00248  #if cfgUseTasknames == cfgTrue
00249   const Tchar TaskNameStr01[] PROGMEM = TaskName(TN_01);
00250  #endif
00251  #if StackIsShared(TN_01)
00252   TASK_DEF_SHARED(01)
00253  #else
00254   TASK_DEF(01)
00255  #endif
00256 #endif
00257 
00258 #if defNumberOfTasks > 2
00259  #if cfgUseTasknames == cfgTrue
00260   const Tchar TaskNameStr02[] PROGMEM = TaskName(TN_02);
00261  #endif
00262  #if StackIsShared(TN_02)
00263   TASK_DEF_SHARED(02)
00264  #else
00265   TASK_DEF(02)
00266  #endif
00267 #endif
00268 
00269 #if defNumberOfTasks > 3
00270  #if cfgUseTasknames == cfgTrue
00271   const Tchar TaskNameStr03[] PROGMEM = TaskName(TN_03);
00272  #endif
00273  #if StackIsShared(TN_03)
00274   TASK_DEF_SHARED(03)
00275  #else
00276   TASK_DEF(03)
00277  #endif
00278 #endif
00279 
00280 #if defNumberOfTasks > 4
00281  #if cfgUseTasknames == cfgTrue
00282   const Tchar TaskNameStr04[] PROGMEM = TaskName(TN_04);
00283  #endif
00284  #if StackIsShared(TN_04)
00285   TASK_DEF_SHARED(04)
00286  #else
00287   TASK_DEF(04)
00288  #endif
00289 #endif
00290 
00291 #if defNumberOfTasks > 5
00292  #if cfgUseTasknames == cfgTrue
00293   const Tchar TaskNameStr05[] PROGMEM = TaskName(TN_05);
00294  #endif
00295  #if StackIsShared(TN_05)
00296   TASK_DEF_SHARED(05)
00297  #else
00298   TASK_DEF(05)
00299  #endif
00300 #endif
00301 
00302 #if defNumberOfTasks > 6
00303  #if cfgUseTasknames == cfgTrue
00304   const Tchar TaskNameStr06[] PROGMEM = TaskName(TN_06);
00305  #endif
00306  #if StackIsShared(TN_06)
00307   TASK_DEF_SHARED(06)
00308  #else
00309   TASK_DEF(06)
00310  #endif
00311 #endif
00312 
00313 #if defNumberOfTasks > 7
00314  #if cfgUseTasknames == cfgTrue
00315   const Tchar TaskNameStr07[] PROGMEM = TaskName(TN_07);
00316  #endif
00317  #if StackIsShared(TN_07)
00318   TASK_DEF_SHARED(07)
00319  #else
00320   TASK_DEF(07)
00321  #endif
00322 #endif
00323 
00324 #if defNumberOfTasks > 8
00325  #if cfgUseTasknames == cfgTrue
00326   const Tchar TaskNameStr08[] PROGMEM = TaskName(TN_08);
00327  #endif
00328  #if StackIsShared(TN_08)
00329   TASK_DEF_SHARED(08)
00330  #else
00331   TASK_DEF(08)
00332  #endif
00333 #endif
00334 
00335 #if defNumberOfTasks > 9
00336  #if cfgUseTasknames == cfgTrue
00337   const Tchar TaskNameStr09[] PROGMEM = TaskName(TN_09);
00338  #endif
00339  #if StackIsShared(TN_09)
00340   TASK_DEF_SHARED(09)
00341  #else
00342   TASK_DEF(09)
00343  #endif
00344 #endif
00345 
00346 #if defNumberOfTasks > 10
00347  #if cfgUseTasknames == cfgTrue
00348   const Tchar TaskNameStr10[] PROGMEM = TaskName(TN_10);
00349  #endif
00350  #if StackIsShared(TN_10)
00351   TASK_DEF_SHARED(10)
00352  #else
00353   TASK_DEF(10)
00354  #endif
00355 #endif
00356 
00357 #if defNumberOfTasks > 11
00358  #if cfgUseTasknames == cfgTrue
00359   const Tchar TaskNameStr11[] PROGMEM = TaskName(TN_11);
00360  #endif
00361  #if StackIsShared(TN_11)
00362   TASK_DEF_SHARED(11)
00363  #else
00364   TASK_DEF(11)
00365  #endif
00366 #endif
00367 
00368 #if defNumberOfTasks > 12
00369  #if cfgUseTasknames == cfgTrue
00370   const Tchar TaskNameStr12[] PROGMEM = TaskName(TN_12);
00371  #endif
00372  #if StackIsShared(TN_12)
00373   TASK_DEF_SHARED(12)
00374  #else
00375   TASK_DEF(12)
00376  #endif
00377 #endif
00378 
00379 #if defNumberOfTasks > 13
00380  #if cfgUseTasknames == cfgTrue
00381   const Tchar TaskNameStr13[] PROGMEM = TaskName(TN_13);
00382  #endif
00383  #if StackIsShared(TN_13)
00384   TASK_DEF_SHARED(13)
00385  #else
00386   TASK_DEF(13)
00387  #endif
00388 #endif
00389 
00390 #if defNumberOfTasks > 14
00391  #if cfgUseTasknames == cfgTrue
00392   const Tchar TaskNameStr14[] PROGMEM = TaskName(TN_14);
00393  #endif
00394  #if StackIsShared(TN_14)
00395   TASK_DEF_SHARED(14)
00396  #else
00397   TASK_DEF(14)
00398  #endif
00399 #endif
00400 
00401 #if defNumberOfTasks > 15
00402  #if cfgUseTasknames == cfgTrue
00403   const Tchar TaskNameStr15[] PROGMEM = TaskName(TN_15);
00404  #endif
00405  #if StackIsShared(TN_15)
00406   TASK_DEF_SHARED(15)
00407  #else
00408   TASK_DEF(15)
00409  #endif
00410 #endif
00411 
00412 /* ===================================================================================================================== */
00413 
00414 #if defNumberOfQueus > 0
00415   Tuint08 uiQueuWrite[defNumberOfQueus];
00416   Tuint08 uiQueuRead[defNumberOfQueus];
00417   QUEU_DEF(01)
00418 #endif
00419 
00420 #if defNumberOfQueus > 1
00421   QUEU_DEF(02)
00422 #endif
00423 
00424 #if defNumberOfQueus > 2
00425   QUEU_DEF(03)
00426 #endif
00427 
00428 #if defNumberOfQueus > 3
00429   QUEU_DEF(04)
00430 #endif
00431 
00432 #if defNumberOfQueus > 4
00433   QUEU_DEF(05)
00434 #endif
00435 
00436 #if defNumberOfQueus > 5
00437   QUEU_DEF(06)
00438 #endif
00439 
00440 #if defNumberOfQueus > 6
00441   QUEU_DEF(07)
00442 #endif
00443 
00444 #if defNumberOfQueus > 7
00445   QUEU_DEF(08)
00446 #endif
00447 
00448 #if defNumberOfQueus > 8
00449   QUEU_DEF(09)
00450 #endif
00451 
00452 #if defNumberOfQueus > 9
00453   QUEU_DEF(10)
00454 #endif
00455 
00456 #if defNumberOfQueus > 10
00457   QUEU_DEF(11)
00458 #endif
00459 
00460 #if defNumberOfQueus > 11
00461   QUEU_DEF(12)
00462 #endif
00463 
00464 #if defNumberOfQueus > 12
00465   QUEU_DEF(13)
00466 #endif
00467 
00468 #if defNumberOfQueus > 13
00469   QUEU_DEF(14)
00470 #endif
00471 
00472 #if defNumberOfQueus > 14
00473   QUEU_DEF(15)
00474 #endif
00475 
00476 /* ===================================================================================================================== */
00477 
00478 #if defNumberOfTasks == 0
00479   const Tbyte * pxTCBlist[0] PROGMEM =  { };
00480 #elif defNumberOfTasks == 1
00481   const Tbyte * pxTCBlist[1] PROGMEM =  { tcb00 };
00482 #elif defNumberOfTasks == 2
00483   const Tbyte * pxTCBlist[2] PROGMEM =  { tcb00,tcb01 };
00484 #elif defNumberOfTasks == 3
00485   const Tbyte * pxTCBlist[3] PROGMEM =  { tcb00,tcb01,tcb02 };
00486 #elif defNumberOfTasks == 4
00487   const Tbyte * pxTCBlist[4] PROGMEM =  { tcb00,tcb01,tcb02,tcb03 };
00488 #elif defNumberOfTasks == 5
00489   const Tbyte * pxTCBlist[5] PROGMEM =  { tcb00,tcb01,tcb02,tcb03,tcb04 };
00490 #elif defNumberOfTasks == 6
00491   const Tbyte * pxTCBlist[6] PROGMEM =  { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05 };
00492 #elif defNumberOfTasks == 7
00493   const Tbyte * pxTCBlist[7] PROGMEM =  { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06 };
00494 #elif defNumberOfTasks == 8
00495   const Tbyte * pxTCBlist[8] PROGMEM =  { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07 };
00496 #elif defNumberOfTasks == 9
00497   const Tbyte * pxTCBlist[9] PROGMEM =  { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08 };
00498 #elif defNumberOfTasks == 10
00499   const Tbyte * pxTCBlist[10] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09 };
00500 #elif defNumberOfTasks == 11
00501   const Tbyte * pxTCBlist[11] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10 };
00502 #elif defNumberOfTasks == 12
00503   const Tbyte * pxTCBlist[12] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10,tcb11 };
00504 #elif defNumberOfTasks == 13
00505   const Tbyte * pxTCBlist[13] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10,tcb11,tcb12 };
00506 #elif defNumberOfTasks == 14
00507   const Tbyte * pxTCBlist[14] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10,tcb11,tcb12,tcb13 };
00508 #elif defNumberOfTasks == 15
00509   const Tbyte * pxTCBlist[15] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10,tcb11,tcb12,tcb13,tcb14 };
00510 #elif defNumberOfTasks == 16
00511   const Tbyte * pxTCBlist[16] PROGMEM = { tcb00,tcb01,tcb02,tcb03,tcb04,tcb05,tcb06,tcb07,tcb08,tcb09,tcb10,tcb11,tcb12,tcb13,tcb14,tcb15 };
00512 #endif
00513 
00514 
00515 #if defNumberOfTasks == 0
00516   const TtaskDefinitionBlock * pxTDBlist[0] PROGMEM =  { };
00517 #elif defNumberOfTasks == 1
00518   const TtaskDefinitionBlock * pxTDBlist[1] PROGMEM =  { &tdb00 };
00519 #elif defNumberOfTasks == 2
00520   const TtaskDefinitionBlock * pxTDBlist[2] PROGMEM =  { &tdb00,&tdb01 };
00521 #elif defNumberOfTasks == 3
00522   const TtaskDefinitionBlock * pxTDBlist[3] PROGMEM =  { &tdb00,&tdb01,&tdb02 };
00523 #elif defNumberOfTasks == 4
00524   const TtaskDefinitionBlock * pxTDBlist[4] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03 };
00525 #elif defNumberOfTasks == 5
00526   const TtaskDefinitionBlock * pxTDBlist[5] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04 };
00527 #elif defNumberOfTasks == 6
00528   const TtaskDefinitionBlock * pxTDBlist[6] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05 };
00529 #elif defNumberOfTasks == 7
00530   const TtaskDefinitionBlock * pxTDBlist[7] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06 };
00531 #elif defNumberOfTasks == 8
00532   const TtaskDefinitionBlock * pxTDBlist[8] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07 };
00533 #elif defNumberOfTasks == 9
00534   const TtaskDefinitionBlock * pxTDBlist[9] PROGMEM =  { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08 };
00535 #elif defNumberOfTasks == 10
00536   const TtaskDefinitionBlock * pxTDBlist[10] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09 };
00537 #elif defNumberOfTasks == 11
00538   const TtaskDefinitionBlock * pxTDBlist[11] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10 };
00539 #elif defNumberOfTasks == 12
00540   const TtaskDefinitionBlock * pxTDBlist[12] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10,&tdb11 };
00541 #elif defNumberOfTasks == 13
00542   const TtaskDefinitionBlock * pxTDBlist[13] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10,&tdb11,&tdb12 };
00543 #elif defNumberOfTasks == 14
00544   const TtaskDefinitionBlock * pxTDBlist[14] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10,&tdb11,&tdb12,&tdb13 };
00545 #elif defNumberOfTasks == 15
00546   const TtaskDefinitionBlock * pxTDBlist[15] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10,&tdb11,&tdb12,&tdb13,&tdb14 };
00547 #elif defNumberOfTasks == 16
00548   const TtaskDefinitionBlock * pxTDBlist[16] PROGMEM = { &tdb00,&tdb01,&tdb02,&tdb03,&tdb04,&tdb05,&tdb06,&tdb07,&tdb08,&tdb09,&tdb10,&tdb11,&tdb12,&tdb13,&tdb14,&tdb15 };
00549 #endif
00550 
00551 
00552 #if (callAppInit == cfgTrue )
00553 
00554 #if ( defNumberOfTasks == 0 )
00555   const fpInitTask pxInitlist[0] PROGMEM =  { };
00556 #elif ( defNumberOfTasks == 1 )
00557   const fpInitTask pxInitlist[1] PROGMEM =  { AppInit(TN_00) };
00558 #elif ( defNumberOfTasks == 2 )
00559   const fpInitTask pxInitlist[2] PROGMEM =  { AppInit(TN_00),AppInit(TN_01) };
00560 #elif ( defNumberOfTasks == 3 )
00561   const fpInitTask pxInitlist[3] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02) };
00562 #elif ( defNumberOfTasks == 4 )
00563   const fpInitTask pxInitlist[4] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03) };
00564 #elif ( defNumberOfTasks == 5 )
00565   const fpInitTask pxInitlist[5] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04) };
00566 #elif ( defNumberOfTasks == 6 )
00567   const fpInitTask pxInitlist[6] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05) };
00568 #elif ( defNumberOfTasks == 7 )
00569   const fpInitTask pxInitlist[7] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06) };
00570 #elif ( defNumberOfTasks == 8 )
00571   const fpInitTask pxInitlist[8] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07) };
00572 #elif ( defNumberOfTasks == 9 )
00573   const fpInitTask pxInitlist[9] PROGMEM =  { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08) };
00574 #elif ( defNumberOfTasks == 10 )
00575   const fpInitTask pxInitlist[10] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09) };
00576 #elif ( defNumberOfTasks == 11 )
00577   const fpInitTask pxInitlist[11] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10) };
00578 #elif ( defNumberOfTasks == 12 )
00579   const fpInitTask pxInitlist[12] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11) };
00580 #elif ( defNumberOfTasks == 13 )
00581   const fpInitTask pxInitlist[13] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12) };
00582 #elif ( defNumberOfTasks == 14 )
00583   const fpInitTask pxInitlist[14] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13) };
00584 #elif ( defNumberOfTasks == 15 )
00585   const fpInitTask pxInitlist[15] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13),AppInit(TN_14) };
00586 #elif ( defNumberOfTasks == 16 )
00587   const fpInitTask pxInitlist[16] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13),AppInit(TN_14),AppInit(TN_15) };
00588 #endif
00589 
00590 #endif
00591 
00592 
00593 #if defNumberOfTasks == 0
00594   const fpLoopTask pxLooplist[0] PROGMEM =  { };
00595 #elif defNumberOfTasks == 1
00596   const fpLoopTask pxLooplist[1] PROGMEM =  { AppLoop(TN_00) };
00597 #elif defNumberOfTasks == 2
00598   const fpLoopTask pxLooplist[2] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01) };
00599 #elif defNumberOfTasks == 3
00600   const fpLoopTask pxLooplist[3] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02) };
00601 #elif defNumberOfTasks == 4
00602   const fpLoopTask pxLooplist[4] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03) };
00603 #elif defNumberOfTasks == 5
00604   const fpLoopTask pxLooplist[5] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04) };
00605 #elif defNumberOfTasks == 6
00606   const fpLoopTask pxLooplist[6] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05) };
00607 #elif defNumberOfTasks == 7
00608   const fpLoopTask pxLooplist[7] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06) };
00609 #elif defNumberOfTasks == 8
00610   const fpLoopTask pxLooplist[8] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07) };
00611 #elif defNumberOfTasks == 9
00612   const fpLoopTask pxLooplist[9] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08) };
00613 #elif defNumberOfTasks == 10
00614   const fpLoopTask pxLooplist[10] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09) };
00615 #elif defNumberOfTasks == 11
00616   const fpLoopTask pxLooplist[11] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10) };
00617 #elif defNumberOfTasks == 12
00618   const fpLoopTask pxLooplist[12] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10),AppLoop(TN_11) };
00619 #elif defNumberOfTasks == 13
00620   const fpLoopTask pxLooplist[13] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10),AppLoop(TN_11),AppLoop(TN_12) };
00621 #elif defNumberOfTasks == 14
00622   const fpLoopTask pxLooplist[14] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10),AppLoop(TN_11),AppLoop(TN_12),AppLoop(TN_13) };
00623 #elif defNumberOfTasks == 15
00624   const fpLoopTask pxLooplist[15] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10),AppLoop(TN_11),AppLoop(TN_12),AppLoop(TN_13),AppLoop(TN_14) };
00625 #elif defNumberOfTasks == 16
00626   const fpLoopTask pxLooplist[16] PROGMEM = { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07),AppLoop(TN_08),AppLoop(TN_09),AppLoop(TN_10),AppLoop(TN_11),AppLoop(TN_12),AppLoop(TN_13),AppLoop(TN_14),AppLoop(TN_15) };
00627 #endif
00628 
00629 
00630 #if (cfgUseTaskWatchdog == cfgTrue ) && (callAppBark == cfgTrue)
00631 
00632 #if ( defNumberOfWatchdogTasks == 0 )
00633   const fpBarkTask pxBarklist[0] PROGMEM =  { };
00634 #elif ( defNumberOfWatchdogTasks == 1 )
00635   const fpBarkTask pxBarklist[1] PROGMEM =  { AppBark(BN_00) };
00636 #elif ( defNumberOfWatchdogTasks == 2 )
00637   const fpBarkTask pxBarklist[2] PROGMEM =  { AppBark(BN_00),AppBark(BN_01) };
00638 #elif ( defNumberOfWatchdogTasks == 3 )
00639   const fpBarkTask pxBarklist[3] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02) };
00640 #elif ( defNumberOfWatchdogTasks == 4 )
00641   const fpBarkTask pxBarklist[4] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03) };
00642 #elif ( defNumberOfWatchdogTasks == 5 )
00643   const fpBarkTask pxBarklist[5] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04) };
00644 #elif ( defNumberOfWatchdogTasks == 6 )
00645   const fpBarkTask pxBarklist[6] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05) };
00646 #elif ( defNumberOfWatchdogTasks == 7 )
00647   const fpBarkTask pxBarklist[7] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06) };
00648 #elif ( defNumberOfWatchdogTasks == 8 )
00649   const fpBarkTask pxBarklist[8] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07) };
00650 #elif ( defNumberOfWatchdogTasks == 9 )
00651   const fpBarkTask pxBarklist[9] PROGMEM =  { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08) };
00652 #elif ( defNumberOfWatchdogTasks == 10 )
00653   const fpBarkTask pxBarklist[10] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09) };
00654 #elif ( defNumberOfWatchdogTasks == 11 )
00655   const fpBarkTask pxBarklist[11] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10) };
00656 #elif ( defNumberOfWatchdogTasks == 12 )
00657   const fpBarkTask pxBarklist[12] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10),AppBark(BN_11) };
00658 #elif ( defNumberOfWatchdogTasks == 13 )
00659   const fpBarkTask pxBarklist[13] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10),AppBark(BN_11),AppBark(BN_12) };
00660 #elif ( defNumberOfWatchdogTasks == 14 )
00661   const fpBarkTask pxBarklist[14] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10),AppBark(BN_11),AppBark(BN_12),AppBark(BN_13) };
00662 #elif ( defNumberOfWatchdogTasks == 15 )
00663   const fpBarkTask pxBarklist[15] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10),AppBark(BN_11),AppBark(BN_12),AppBark(BN_13),AppBark(BN_14) };
00664 #elif ( defNumberOfWatchdogTasks == 16 )
00665   const fpBarkTask pxBarklist[16] PROGMEM = { AppBark(BN_00),AppBark(BN_01),AppBark(BN_02),AppBark(BN_03),AppBark(BN_04),AppBark(BN_05),AppBark(BN_06),AppBark(BN_07),AppBark(BN_08),AppBark(BN_09),AppBark(BN_10),AppBark(BN_11),AppBark(BN_12),AppBark(BN_13),AppBark(BN_14),AppBark(BN_15) };
00666 #endif
00667 
00668 #endif
00669 
00670 
00671 #if (cfgUseSynchronization != cfgSyncNon) && (defUseQueus == cfgTrue)
00672 
00673 #if defNumberOfQueus == 1
00674   const Tbyte * pxQueulist[1] PROGMEM = { Queu01 };
00675 #elif defNumberOfQueus == 2
00676   const Tbyte * pxQueulist[2] PROGMEM = { Queu01,Queu02 };
00677 #elif defNumberOfQueus == 3
00678   const Tbyte * pxQueulist[3] PROGMEM = { Queu01,Queu02,Queu03 };
00679 #elif defNumberOfQueus == 4
00680   const Tbyte * pxQueulist[4] PROGMEM = { Queu01,Queu02,Queu03,Queu04 };
00681 #elif defNumberOfQueus == 5
00682   const Tbyte * pxQueulist[5] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05 };
00683 #elif defNumberOfQueus == 6
00684   const Tbyte * pxQueulist[6] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06 };
00685 #elif defNumberOfQueus == 7
00686   const Tbyte * pxQueulist[7] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07 };
00687 #elif defNumberOfQueus == 8
00688   const Tbyte * pxQueulist[8] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08 };
00689 #elif defNumberOfQueus == 9
00690   const Tbyte * pxQueulist[9] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09 };
00691 #elif defNumberOfQueus == 10
00692   const Tbyte * pxQueulist[10] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10 };
00693 #elif defNumberOfQueus == 11
00694   const Tbyte * pxQueulist[11] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10,Queu11 };
00695 #elif defNumberOfQueus == 12
00696   const Tbyte * pxQueulist[12] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10,Queu11,Queu12 };
00697 #elif defNumberOfQueus == 13
00698   const Tbyte * pxQueulist[13] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10,Queu11,Queu12,Queu13 };
00699 #elif defNumberOfQueus == 14
00700   const Tbyte * pxQueulist[14] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10,Queu11,Queu12,Queu13,Queu14 };
00701 #elif defNumberOfQueus == 15
00702   const Tbyte * pxQueulist[15] PROGMEM = { Queu01,Queu02,Queu03,Queu04,Queu05,Queu06,Queu07,Queu08,Queu09,Queu10,Queu11,Queu12,Queu13,Queu14,Queu15 };
00703 #endif
00704 
00705 #endif
00706 
00707 
00708 #if (cfgUseSynchronization != cfgSyncNon) && (defUseQueus == cfgTrue) && (defQueuSizeConstant == cfgFalse)
00709 
00710 #if defNumberOfQueus == 1
00711   const Tuint08 uiQueuSize[1] PROGMEM = { QueuSize(LN_01) };
00712 #elif defNumberOfQueus == 2
00713   const Tuint08 uiQueuSize[2] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02) };
00714 #elif defNumberOfQueus == 3
00715   const Tuint08 uiQueuSize[3] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03) };
00716 #elif defNumberOfQueus == 4
00717   const Tuint08 uiQueuSize[4] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04) };
00718 #elif defNumberOfQueus == 5
00719   const Tuint08 uiQueuSize[5] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05) };
00720 #elif defNumberOfQueus == 6
00721   const Tuint08 uiQueuSize[6] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06) };
00722 #elif defNumberOfQueus == 7
00723   const Tuint08 uiQueuSize[7] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07) };
00724 #elif defNumberOfQueus == 8
00725   const Tuint08 uiQueuSize[8] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08) };
00726 #elif defNumberOfQueus == 9
00727   const Tuint08 uiQueuSize[9] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09) };
00728 #elif defNumberOfQueus == 10
00729   const Tuint08 uiQueuSize[10] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10) };
00730 #elif defNumberOfQueus == 11
00731   const Tuint08 uiQueuSize[11] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10),QueuSize(LN_11) };
00732 #elif defNumberOfQueus == 12
00733   const Tuint08 uiQueuSize[12] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10),QueuSize(LN_11),QueuSize(LN_12) };
00734 #elif defNumberOfQueus == 13
00735   const Tuint08 uiQueuSize[13] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10),QueuSize(LN_11),QueuSize(LN_12),QueuSize(LN_13) };
00736 #elif defNumberOfQueus == 14
00737   const Tuint08 uiQueuSize[14] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10),QueuSize(LN_11),QueuSize(LN_12),QueuSize(LN_13),QueuSize(LN_14) };
00738 #elif defNumberOfQueus == 15
00739   const Tuint08 uiQueuSize[15] PROGMEM = { QueuSize(LN_01),QueuSize(LN_02),QueuSize(LN_03),QueuSize(LN_04),QueuSize(LN_05),QueuSize(LN_06),QueuSize(LN_07),QueuSize(LN_08),QueuSize(LN_09),QueuSize(LN_10),QueuSize(LN_11),QueuSize(LN_12),QueuSize(LN_13),QueuSize(LN_14),QueuSize(LN_15) };
00740 #endif
00741 
00742 #endif
00743 
00744 #if (cfgUseFileSystem == cfgTrue) && (defFilePreSpaceConstant == cfgFalse)
00745 
00746 #if defFsNumberOfPreFiles == 0
00747   const Tuint08 uiFileSpace[0] PROGMEM =  { };
00748 #elif defFsNumberOfPreFiles == 1
00749   const Tuint08 uiFileSpace[1] PROGMEM =  { FileSpace(VN_00) };
00750 #elif defFsNumberOfPreFiles == 2
00751   const Tuint08 uiFileSpace[2] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01) };
00752 #elif defFsNumberOfPreFiles == 3
00753   const Tuint08 uiFileSpace[3] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02) };
00754 #elif defFsNumberOfPreFiles == 4
00755   const Tuint08 uiFileSpace[4] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03) };
00756 #elif defFsNumberOfPreFiles == 5
00757   const Tuint08 uiFileSpace[5] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04) };
00758 #elif defFsNumberOfPreFiles == 6
00759   const Tuint08 uiFileSpace[6] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05) };
00760 #elif defFsNumberOfPreFiles == 7
00761   const Tuint08 uiFileSpace[7] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06) };
00762 #elif defFsNumberOfPreFiles == 8
00763   const Tuint08 uiFileSpace[8] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07) };
00764 #elif defFsNumberOfPreFiles == 9
00765   const Tuint08 uiFileSpace[9] PROGMEM =  { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08) };
00766 #elif defFsNumberOfPreFiles == 10
00767   const Tuint08 uiFileSpace[10] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09) };
00768 #elif defFsNumberOfPreFiles == 11
00769   const Tuint08 uiFileSpace[11] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10) };
00770 #elif defFsNumberOfPreFiles == 12
00771   const Tuint08 uiFileSpace[12] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10),FileSpace(VN_11) };
00772 #elif defFsNumberOfPreFiles == 13
00773   const Tuint08 uiFileSpace[13] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10),FileSpace(VN_11),FileSpace(VN_12) };
00774 #elif defFsNumberOfPreFiles == 14
00775   const Tuint08 uiFileSpace[14] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10),FileSpace(VN_11),FileSpace(VN_12),FileSpace(VN_13) };
00776 #elif defFsNumberOfPreFiles == 15
00777   const Tuint08 uiFileSpace[15] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10),FileSpace(VN_11),FileSpace(VN_12),FileSpace(VN_13),FileSpace(VN_14) };
00778 #elif defFsNumberOfPreFiles == 16
00779   const Tuint08 uiFileSpace[16] PROGMEM = { FileSpace(VN_00),FileSpace(VN_01),FileSpace(VN_02),FileSpace(VN_03),FileSpace(VN_04),FileSpace(VN_05),FileSpace(VN_06),FileSpace(VN_07),FileSpace(VN_08),FileSpace(VN_09),FileSpace(VN_10),FileSpace(VN_11),FileSpace(VN_12),FileSpace(VN_13),FileSpace(VN_14),FileSpace(VN_15) };
00780 #endif
00781 
00782 #endif
00783 
00784 
00785   #if (cfgCheckMethodUse == cfgTrue) && (defCapabilitiesFull == cfgFalse)
00786 
00787 #if defNumberOfTasks == 0
00788   const Tuint08 uiCapabilities[0] PROGMEM =  { };
00789 #elif defNumberOfTasks == 1
00790   const Tuint08 uiCapabilities[1] PROGMEM =  { (Capabilities(TN_00) & 0xFF) };
00791 #elif defNumberOfTasks == 2
00792   const Tuint08 uiCapabilities[2] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF) };
00793 #elif defNumberOfTasks == 3
00794   const Tuint08 uiCapabilities[3] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF) };
00795 #elif defNumberOfTasks == 4
00796   const Tuint08 uiCapabilities[4] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF) };
00797 #elif defNumberOfTasks == 5
00798   const Tuint08 uiCapabilities[5] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF) };
00799 #elif defNumberOfTasks == 6
00800   const Tuint08 uiCapabilities[6] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF) };
00801 #elif defNumberOfTasks == 7
00802   const Tuint08 uiCapabilities[7] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF) };
00803 #elif defNumberOfTasks == 8
00804   const Tuint08 uiCapabilities[8] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF) };
00805 #elif defNumberOfTasks == 9
00806   const Tuint08 uiCapabilities[9] PROGMEM =  { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF) };
00807 #elif defNumberOfTasks == 10
00808   const Tuint08 uiCapabilities[10] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF) };
00809 #elif defNumberOfTasks == 11
00810   const Tuint08 uiCapabilities[11] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF) };
00811 #elif defNumberOfTasks == 12
00812   const Tuint08 uiCapabilities[12] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF),(Capabilities(TN_11) & 0xFF) };
00813 #elif defNumberOfTasks == 13
00814   const Tuint08 uiCapabilities[13] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF),(Capabilities(TN_11) & 0xFF),(Capabilities(TN_12) & 0xFF) };
00815 #elif defNumberOfTasks == 14
00816   const Tuint08 uiCapabilities[14] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF),(Capabilities(TN_11) & 0xFF),(Capabilities(TN_12) & 0xFF),(Capabilities(TN_13) & 0xFF) };
00817 #elif defNumberOfTasks == 15
00818   const Tuint08 uiCapabilities[15] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF),(Capabilities(TN_11) & 0xFF),(Capabilities(TN_12) & 0xFF),(Capabilities(TN_13) & 0xFF),(Capabilities(TN_14) & 0xFF) };
00819 #elif defNumberOfTasks == 16
00820   const Tuint08 uiCapabilities[16] PROGMEM = { (Capabilities(TN_00) & 0xFF),(Capabilities(TN_01) & 0xFF),(Capabilities(TN_02) & 0xFF),(Capabilities(TN_03) & 0xFF),(Capabilities(TN_04) & 0xFF),(Capabilities(TN_05) & 0xFF),(Capabilities(TN_06) & 0xFF),(Capabilities(TN_07) & 0xFF),(Capabilities(TN_08) & 0xFF),(Capabilities(TN_09) & 0xFF),(Capabilities(TN_10) & 0xFF),(Capabilities(TN_11) & 0xFF),(Capabilities(TN_12) & 0xFF),(Capabilities(TN_13) & 0xFF),(Capabilities(TN_14) & 0xFF),(Capabilities(TN_15) & 0xFF) };
00821 #endif
00822 
00823 #endif
00824 
00825 #endif /* TASKS_H */

Generated on Fri Oct 16 00:05:21 2009 for FemtoOS by  doxygen 1.5.2