00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef FEMTOOS_LOCALS_H
00026 #define FEMTOOS_LOCALS_H
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 #if (cfgSysStackGrowthUp == cfgTrue)
00046 #define OSstackFirstByte (1 + defThreeByteStackAdd)
00047 #define OSstackSecondByte (0 + defThreeByteStackAdd)
00048 #define OSstackThirdByte (0)
00049 #define OSstackStart (2 + defThreeByteStackAdd)
00050 #define OSstackInit (0)
00051 #else
00052 #define OSstackFirstByte ((StackSizeOS) - 2 - defThreeByteStackAdd)
00053 #define OSstackSecondByte ((StackSizeOS) - 1 - defThreeByteStackAdd)
00054 #define OSstackThirdByte ((StackSizeOS) - 1)
00055 #define OSstackStart ((StackSizeOS) - 3 - defThreeByteStackAdd)
00056 #define OSstackInit ((StackSizeOS) - 1)
00057 #endif
00058
00059
00060
00061
00062
00063
00064
00065
00066 #if (cfgSysStackGrowthUp == cfgTrue)
00067 #define ISRstackSPH (0)
00068 #define ISRstackSPL (1)
00069 #define ISRstackFirstByte (3 + defThreeByteStackAdd)
00070 #define ISRstackSecondByte (2 + defThreeByteStackAdd)
00071 #define ISRstackThirdByte (1 + defThreeByteStackAdd)
00072 #define ISRstackStart (4 + defThreeByteStackAdd)
00073 #define ISRstackLastByte ((StackSizeISR)-1)
00074 #define ISRstackInit (0)
00075 #else
00076 #define ISRstackSPH ((StackSizeISR) - 1)
00077 #define ISRstackSPL ((StackSizeISR) - 2)
00078 #define ISRstackFirstByte ((StackSizeISR) - 4 - defThreeByteStackAdd)
00079 #define ISRstackSecondByte ((StackSizeISR) - 3 - defThreeByteStackAdd)
00080 #define ISRstackThirdByte ((StackSizeISR) - 2 - defThreeByteStackAdd)
00081 #define ISRstackStart ((StackSizeISR) - 5 - defThreeByteStackAdd)
00082 #define ISRstackLastByte (0)
00083 #define ISRstackInit ((StackSizeISR)-1)
00084 #endif
00085
00086
00087 #if (cfgSysStackGrowthUp == cfgTrue)
00088 #define SHRstackFirstByte (1 + defThreeByteStackAdd)
00089 #define SHRstackSecondByte (0 + defThreeByteStackAdd)
00090 #define SHRstackThirdByte (0)
00091 #define SHRstackStart (2 + defThreeByteStackAdd)
00092 #define SHRstackInit (0)
00093 #else
00094 #define SHRstackFirstByte ((StackSizeShared) - 2 - defThreeByteStackAdd)
00095 #define SHRstackSecondByte ((StackSizeShared) - 1 - defThreeByteStackAdd)
00096 #define SHRstackThirdByte ((StackSizeShared) - 1)
00097 #define SHRstackStart ((StackSizeShared) - 3 - defThreeByteStackAdd)
00098 #define SHRstackInit ((StackSizeShared) - 1)
00099 #endif
00100
00101
00106 #if (cfgSysInline == cfgTrue)
00107 #define defConditionalInline __attribute__ (( always_inline ))
00108 #else
00109 #define defConditionalInline
00110 #endif
00111
00130 #define defTickFrequency (devClockFrequency / cfgSysClockDivider / cfgSysSubTickDivider/ cfgSysSubTicksPerFullTick )
00131 #define defSleepInfinite 0xFF
00132 #define defSleepMaximum 0xFE
00133 #define defSleepTickBlockTime (32000 / (defTickFrequency/8))
00134 #define defSleepThreshold ((((cfgNumSleepThreshold + (defSleepTickBlockTime/2)) / 256) < defSleepInfinite) ? ((cfgNumSleepThreshold + (defSleepTickBlockTime/2)) / 256) : defSleepMaximum)
00135 #define defSleepDivider ( (((2*defSleepRealPeriod) / defSleepTickBlockTime)+1) / 2 )
00136
00141 #define defOsStackMinimum (sizeof(TtaskSave))
00142
00146 #define defSubTicksMax 0xFF
00147
00152 #define defNumberOfPriorities 8
00153
00154
00167 #if ( (cfgUseTaskWatchdog == cfgTrue) || (includeTaskRecreate == cfgTrue) || (includeTaskRestart == cfgTrue) || (defStackInitByte != 0x00) )
00168 #define defStackClean cfgTrue
00169 #else
00170 #define defStackClean cfgFalse
00171 #endif
00172
00173
00174 #define defCurrentTaskMask 0x80
00175
00176
00177
00178
00179
00180
00181 #define defStackEmpty (cfgShared & MaxStackSize_Task)
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 #define defBaseStopStateGetMask 0x80
00214 #define defBaseModeGetMask 0x40
00215 #define defBaseBlockStateGetMask 0x20
00216 #define defBaseDelayStateGetMask 0x10
00217 #define defBasePrioGetMask 0x0E
00218 #define defBaseDressGetMask 0x01
00219 #define defBaseSuspendedGetMask 0xE0
00220 #define defBaseTerminatedGetMask 0xF0
00221 #define defBaseSleepingGetMask 0xC0
00222 #define defBaseRestartGetMask 0xC0
00223 #define defBaseRunningGetMask 0xF0
00224 #define defBaseNoBlocksGetMask 0xE0
00225 #define defBaseSyncBlockedGetMask 0xE0
00226 #define defBaseFileBlockedGetMask 0xE0
00227 #define defBaseSharedGetMask 0xE0
00228 #define defBaseRunOrSharedGetMask 0xA0
00229
00230
00231 #define defBaseStopStateSetMask (~defBaseStopStateGetMask)
00232 #define defBaseModeSetMask (~defBaseModeGetMask)
00233 #define defBaseBlockStateSetMask (~defBaseBlockStateGetMask)
00234 #define defBaseDelayStateSetMask (~defBaseDelayStateGetMask)
00235 #define defBasePrioSetMask (~defBasePrioGetMask)
00236 #define defBaseDressSetMask (~defBaseDressGetMask)
00237 #define defBaseSuspendedSetMask (~defBaseSuspendedGetMask)
00238 #define defBaseTerminatedSetMask (~defBaseTerminatedGetMask)
00239 #define defBaseSleepingSetMask (~defBaseSleepingGetMask)
00240 #define defBaseRestartSetMask (~defBaseRestartGetMask)
00241 #define defBaseRunningSetMask (~defBaseRunningGetMask)
00242 #define defBaseNoBlocksSetMask (~defBaseNoBlocksGetMask)
00243 #define defBaseSyncBlockedSetMask (~defBaseSyncBlockedGetMask)
00244 #define defBaseFileBlockedSetMask (~defBaseFileBlockedGetMask)
00245 #define defBaseSharedSetMask (~defBaseSharedGetMask)
00246
00247
00248 #define defBaseStopStateGo 0x80
00249 #define defBaseStopStateHalt 0x00
00250 #define defBaseModeSleep 0x40
00251 #define defBaseModeSuspend 0x00
00252 #define defBaseModeSync 0x40
00253 #define defBaseModeAccess 0x00
00254 #define defBaseModeRun 0x40
00255 #define defBaseModeShared 0x00
00256 #define defBaseBlockStateFree 0x20
00257 #define defBaseBlockStateBlocked 0x00
00258 #define defBaseDelayStateWake 0x10
00259 #define defBaseDelayStateDelayed 0x00
00260 #define defBaseDressRunable 0x01
00261 #define defBaseDressDone 0x00
00262 #define defBaseDressSlot 0x01
00263 #define defBaseDressEvent 0x00
00264 #define defBaseDressRead 0x01
00265 #define defBaseDressWrite 0x00
00266
00267 #define defBaseRunningTask 0xF0
00268 #define defBaseNoBlocksTask 0xE0
00269 #define defBaseSyncBlockedTask 0xC0
00270 #define defBaseSharedTask 0xA0
00271 #define defBaseFileBlockedTask 0x80
00272 #define defBaseSleepingTask 0x40
00273 #define defBaseSuspendedTask 0x20
00274 #define defBaseTerminatedTask 0x10
00275
00276
00277 #define defBasePrioShift 1
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307 #define defInitialStartGetMask 0xC0
00308 #define defInitialSharedGetMask 0x20
00309 #define defInitialInterruptGetMask 0x11
00310 #define defInitialPriorityGetMask 0x0E
00311
00312 #define defInitialStartSetMask (~defInitialStartGetMask)
00313 #define defInitialSharedSetMask (~defInitialSharedGetMask)
00314 #define defInitialInterruptSetMask (~defInitialInterruptGetMask)
00315 #define defInitialPrioritySetMask (~defInitialPriorityGetMask)
00316
00317 #define defInitialInterruptAbsent 0x00
00318 #define defInitialSharePresent 0x20
00319 #define defInitialShareAbsent 0x00
00320
00321
00322
00323
00324
00325
00326
00327
00328 #define defInitContextGetMask 0x20
00329 #define defInitProcessGetMask 0x10
00330 #define defInitSharedGetMask 0x08
00331 #define defInitStatusCopyGetMask 0x04
00332 #define defInitStatusPrioGetMask 0x02
00333 #define defInitLockGetMask 0x01
00334
00335 #define defInitStatusStartSetMask (~defInitStatusStartGetMask)
00336 #define defInitStatusCopySetMask (~defInitStatusCopyGetMask)
00337 #define defInitContextSetMask (~defInitContextGetMask)
00338 #define defInitProcessSetMask (~defInitProcessGetMask)
00339 #define defInitStatusPrioSetMask (~defInitStatusPrioGetMask)
00340 #define defInitLockSetMask (~defInitLockGetMask)
00341
00342 #define defInitContextRenew 0x20
00343 #define defInitContextKeep 0x00
00344 #define defInitProcessAll 0x10
00345 #define defInitProcessSharedOnly 0x00
00346 #define defInitSharedActive 0x08
00347 #define defInitSharedPassive 0x00
00348 #define defInitStatusCopyDo 0x04
00349 #define defInitStatusCopyDont 0x00
00350 #define defInitStatusPrioRenew 0x02
00351 #define defInitStatusPrioKeep 0x00
00352 #define defInitLockRelease 0x01
00353 #define defInitLockKeep 0x00
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370 #define defFsReadBlockGetMask 0x80
00371 #define defFsWriteBlockGetMask 0x40
00372 #define defFsSleepRequestGetMask 0x20
00373 #define defFsBurnBlockGetMask 0x10
00374 #define defFsWriteNumberGetMask 0x0F
00375 #define defFsReadCountGetMask 0x0F
00376 #define defFsFreeGetMask (~defFsSleepRequestGetMask)
00377
00378 #define defFsReadBlockSetMask (~defFsReadBlockGetMask)
00379 #define defFsWriteBlockSetMask (~defFsWriteBlockGetMask)
00380 #define defFsSleepRequestSetMask (~defFsSleepRequestGetMask)
00381 #define defFsBurnBlockSetMask (~defFsBurnBlockGetMask)
00382 #define defFsWriteNumberSetMask (~defFsWriteNumberGetMask)
00383 #define defFsReadCountSetMask (~defFsReadCountGetMask)
00384 #define defFsFreeSetMask (~defFsFreeGetMask)
00385
00386 #define defFsReadBlockActive 0x80
00387 #define defFsReadBlockReleaseRequest 0x80
00388 #define defFsWriteBlockActive 0x40
00389 #define defFsSleepRequestActive 0x20
00390 #define defFsBurnBlockActive 0x10
00391 #define defFsReadBlockClear 0x00
00392 #define defFsWriteBlockClear 0x00
00393 #define defFsSleepRequestClear 0x00
00394 #define defFsBurnBlockClear 0x00
00395 #define defFsFree 0x00
00396
00397 #define defFsSetReleaseRequest (defFsReadBlockReleaseRequest | defFsWriteBlockActive | defFsBurnBlockActive)
00398 #define defFsReadInc 0x01
00399
00400 #define defFsField uiTaskMonitor
00401 #define defFsReadGetMask 0x80
00402 #define defFsWriteGetMask 0x40
00403 #define defFsReadSetMask (~defFsReadGetMask)
00404 #define defFsWriteSetMask (~defFsWriteGetMask)
00405 #define defFsReadActive 0x80
00406 #define defFsReadClear 0x00
00407 #define defFsWriteActive 0x40
00408 #define defFsWriteClear 0x00
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426 #define defDogField uiTaskMonitor
00427 #define defRetField uiTaskMonitor
00428 #define defSusField uiTaskMonitor
00429
00430
00431
00432
00433
00434
00435 #define defDogGetMask 0x0C
00436 #define defRetGetMask 0x03
00437 #define defSusGetMask 0x20
00438
00439
00440 #define defRetSetMask (~defRetGetMask)
00441 #define defDogSetMask (~defDogGetMask)
00442 #define defSusSetMask (~defSusGetMask)
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454 #define defDogDead 0x00
00455 #define defDogBark 0x04
00456 #define defDogWake 0x08
00457 #define defDogSleep 0x0C
00458 #define defRetFalse 0x00
00459 #define defRetTrue 0x01
00460 #define defRetLoop 0x02
00461 #define defRetNon 0x03
00462
00463
00464 #define defSusRequest 0x20
00465 #define defSusClear 0x00
00466
00467
00468 #define defRetShift 0
00469 #define defDogShift 2
00470
00471
00472 #define defRet0 0
00473 #define defRet1 1
00474
00475
00476 #define defDogDec 0x04
00477
00478
00479
00480 #define defSuspendNowGetMask 0x01
00481 #define defSuspendCheckGetMask 0x02
00482 #define defSuspendClearGetMask 0x04
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493 #if (cfgIntGlobalOnly == cfgTrue)
00494 #define defNumGlobWidth (cfgNumGlobWidth + cfgNumTickWidth)
00495 #define defNumTickWidth (0)
00496 #define defNumSwitchWidth (cfgNumSwitchWidth)
00497 #else
00498 #define defNumGlobWidth (cfgNumGlobWidth)
00499 #define defNumTickWidth (cfgNumTickWidth)
00500 #define defNumSwitchWidth (cfgNumSwitchWidth)
00501 #endif
00502
00503 #define defGlobField uiTaskLevels
00504 #define defGlobShift (0)
00505 #define defGlobGetMask (( (1 << defNumGlobWidth) - 1) << defGlobShift)
00506 #define defGlobSetMask (~defGlobGetMask)
00507 #define defGlobInc (1 << defGlobShift)
00508 #define defGlobMax (defGlobGetMask)
00509 #define defGlobMin (0x00)
00510
00511 #define defTickField uiTaskLevels
00512 #define defTickShift (defNumGlobWidth)
00513 #define defTickGetMask (( (1 << defNumTickWidth) - 1) << defTickShift)
00514 #define defTickSetMask (~defTickGetMask)
00515 #define defTickInc (1 << defTickShift)
00516 #define defTickMax (defTickGetMask)
00517 #define defTickMin (0x00)
00518
00519 #define defSwitchField uiTaskLevels
00520 #define defSwitchShift (defNumGlobWidth + defNumTickWidth)
00521 #define defSwitchGetMask (( (1 << defNumSwitchWidth) - 1) << defSwitchShift)
00522 #define defSwitchSetMask (~defSwitchGetMask)
00523 #define defSwitchInc (1 << defSwitchShift)
00524 #define defSwitchMax (defSwitchGetMask)
00525 #define defSwitchMin (0x00)
00526
00527
00528
00529
00530 #if (defUseBoolReturns == cfgTrue)
00531 #define defTaskMonitorInit ( defFsReadClear | defFsWriteClear | defSusClear | defDogDead | defRetNon )
00532 #else
00533 #define defTaskMonitorInit ( defFsReadClear | defFsWriteClear | defSusClear | defDogDead )
00534 #endif
00535
00536
00537 #define defTaskLevelsInit ( defGlobMin | defSwitchMin )
00538
00539
00543 #define defInitCPUStatusRegister (portInitCPUStatusRegister & ~((1 << portInitModeInterruptLoc) | (1 << portInitGlobalInterruptLoc) | (1 << portInitTickInterruptLoc)) )
00544
00545
00546
00547
00548
00549
00550
00551 #define defQueuFillingWriteEmpty 0x00
00552 #define defQueuFillingReadEmpty 0x00
00553 #define defQueuFillingGetMask 0x80
00554 #define defQueuFillingSetMask (~defQueuFillingGetMask)
00555 #define defQueuFillingStateFull 0x80
00556 #define defQueuFillingStateNotFull 0x00
00557
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568 #define defContextGetMask 0xC0
00569 #define defNearWakeStateGetMask 0x20
00570 #define defShareStateGetMask 0x10
00571 #define defTaskNumberGetMask 0x0F
00572
00573
00574 #define defContextSetMask (~defContextGetMask)
00575 #define defNearWakeStateSetMask (~defNearWakeStateGetMask)
00576 #define defShareStateSetMask (~defShareStateGetMask)
00577 #define defTaskNumberSetMask (~defTaskNumberGetMask)
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591 #define defContextStateSaveBit 7
00592 #define defContextStateSleep 0xC0
00593 #define defContextStateIsr 0xC0
00594 #define defContextStateIdle 0x80
00595 #define defContextStateTask 0x40
00596 #define defContextStateOs 0x00
00597
00598
00599 #define defNearWakeStatePresent 0x20
00600 #define defNearWakeStateAbsent 0x00
00601 #define defShareStateRunning 0x10
00602 #define defShareStateAbsent 0x00
00603
00604
00605 #define defOsTaskNumberShift 0
00606 #define defFsTaskNumberShift 0
00607 #define defFsCounterShift 0
00608
00609
00610
00611
00612
00613 #define defAssignmentSleep 0x80
00614 #define defAssignmentIdle 0x40
00615 #define defAssignmentTask 0x00
00616 #define defAssignmentWatchdog 0x10
00617 #define defAssignmentAbsent 0x00
00618
00619
00620
00621
00622 #define defParaLockMask 0x40
00623 #define defParaLockStateUnlock 0x40
00624 #define defParaLockStateKeep 0x00
00625 #define defParaRetMask 0x30
00626 #define defParaRetStateNon 0x30
00627 #define defParaRetStateLoop 0x20
00628 #define defParaRetStateTrue 0x10
00629 #define defParaRetStateFalse 0x00
00630 #define defParaRetToRetShift 4
00631
00632
00633
00634
00635
00636
00637 #define defSlotLoopBlockMask defBaseBlockStateGetMask
00638 #define defSlotLoopSearchMask defBaseDelayStateGetMask
00639 #define defSlotLoopBlockBlocked defBaseBlockStateBlocked
00640 #define defSlotLoopBlockNon defBaseBlockStateFree
00641 #define defSlotLoopSearchActive defBaseDelayStateWake
00642 #define defSlotLoopSearchNon defBaseDelayStateDelayed
00643
00644
00645 #define defSlotOperateIncreaseMask 0x10
00646 #define defSlotOperateDecreaseMask 0x20
00647 #define defSlotOperateSQMMask 0x40
00648 #define defSlotOperateSFreeMask 0x80
00649 #define defSlotOperateIncreaseAction 0x10
00650 #define defSlotOperateDecreaseAction 0x20
00651 #define defSlotOperateNoAction 0x00
00652 #define defSlotOperateSearchDefault 0x00
00653 #define defSlotOperateQMAbsent 0x40
00654 #define defSlotOperateSearchFree 0x80
00655
00656
00657 #define defSlotLeftGetMask 0xF0
00658 #define defSlotRightGetMask 0x0F
00659 #define defSlotLeftSetMask (~defSlotLeftGetMask)
00660 #define defSlotRightSetMask (~defSlotRightGetMask)
00661 #define defSlotLeftShift 4
00662 #define defSlotRightShift 0
00663
00664
00665 #define defSlotFree 0x00
00666 #define defSlotLeftFree 0x00
00667 #define defSlotRightFree 0x00
00668
00669
00670 #define defSlotDepthMask 0x07
00671 #define defSlotDepthAbsent 0x00
00672
00673
00674
00675
00676
00677
00678 #define defCheckStackBit 7
00679 #define defCheckStackGetMask 0x80
00680 #define defCheckStackStateError 0x80
00681 #define defCheckStackStateOK 0x00
00682
00683
00684 #define defActionNone 0x00
00685 #define defActionTaskGetMask 0x01
00686 #define defActionTickGetMask 0x02
00687 #define defActionRunGetMask (defContextStateTask)
00688 #define defActionTaskStateSwitch 0x01
00689 #define defActionTaskStateKeep 0x00
00690 #define defActionTickStateTick 0x02
00691 #define defActionTickStateNone 0x00
00692 #define defActionRunStateIdle (defContextStateTask)
00693 #define defActionRunStateTask 0x00
00694
00695
00696 #define defCheckSlotTypeError 0xF0
00697
00698
00699 #define defAllEventsSet 0xFF
00700 #define defAllEventsReset 0x00
00701
00702
00703
00704 #define errSignLeft 7
00705 #define errSignRight 6
00706 #define errTaskStateGetMask 0x80
00707 #define errOsStateGetMask 0x40
00708 #define errMessageGetMask 0x3F
00709 #define errCallIdGetMask 0x3F
00710
00711 #define errTaskStateCurrent 0x80
00712 #define errTaskStateNon 0x00
00713 #define errTaskStateInfo 0x00
00714 #define errOsStateForce 0x40
00715 #define errOsStateAsIs 0x00
00716
00717
00718
00719 #define errTaskNumberGetMask 0x0F
00720 #define errInfoNumberGetMask 0xF0
00721 #define errSignGetMask 0xC0
00722 #define errTaskNumberSetMask (~errTaskNumberGetMask)
00723 #define errInfoNumberSetMask (~errInfoNumberGetMask)
00724 #define errSignSetMask (~errSignGetMask)
00725
00726 #define errFatalError 0x20
00727 #define errNoInfo 0x00
00728 #define errCurrentTask 0x00
00729 #define errTaskNumberShift 0
00730 #define errInfoNumberShift 4
00731 #define errTraceErrorBase 0xC0
00732
00733
00734
00735
00736
00737
00738 #define privEnableGlobalInterrupts() portEnableGlobalInterrupts()
00739 #define privDisableGlobalInterrupts() portDisableGlobalInterrupts()
00740 #define privEnableTickInterrupts() portEnableTickInterrupts()
00741 #define privDisableTickInterrupts() portDisableTickInterrupts()
00742 #define privEnterGlobalCritical() portEnterGlobalInterrupts()
00743 #define privExitGlobalCritical() portExitGlobalInterrupts()
00744
00745 #if (cfgIntGlobalOnly == cfgTrue)
00746 #define privEnterSysCritical() portEnterGlobalInterrupts()
00747 #define privExitSysCritical() portExitGlobalInterrupts()
00748 #elif (cfgIntOsProtected == cfgTrue)
00749 #define privEnterSysCritical() portEnterGlobalInterrupts()
00750 #define privExitSysCritical() portExitGlobalInterrupts()
00751 #else
00752 #define privEnterSysCritical() portEnterTickInterrupts()
00753 #define privExitSysCritical() portExitTickInterrupts()
00754 #endif
00755
00756
00757 #if (defStackSpaceExceedsOneByte == cfgTrue)
00758 #define privInitStack portSetFullStack
00759 #define privSetStack portSetFullStack
00760 #define privGetStack portGetFullStack
00761 #else
00762 #define privInitStack portSetFullStack
00763 #define privSetStack portSetReducedStack
00764 #define privGetStack portGetReducedStack
00765 #endif
00766
00767
00768 #if (cfgCheckTrace == cfgTrue)
00769 #define privTrace(Event) portTrace(Event)
00770 #define privTraceAPI(CallID) portTrace((traceAPIcallBase | CallID))
00771 #define privShowReset() do { portTrace(traceReset); portShowReset(); } while(false)
00772 #else
00773 #define privTrace(Event)
00774 #define privShowReset() portShowReset()
00775 #define privTraceAPI(CallID)
00776 #endif
00777
00778
00779 #endif