AT91SAM7X Framework
|
00001 00002 00006 //---------------------------------------------------------------------------- 00007 // A T 9 1 C P U S U P P O R T L I B R A R Y 00008 //---------------------------------------------------------------------------- 00009 // Name: SYKAM/CPU/AT91/MISC/STPCLKDIR/STPCLKDIR.H 00010 // Purpose: AT91 CPU SUPPORT 00011 // Author: hschoettner 00012 //---------------------------------------------------------------------------- 00013 // Copyright (c) 2008-2011 Sykam GmbH. All rights reserved. 00014 //---------------------------------------------------------------------------- 00015 00016 #ifndef SYKAM_CPU_AT91_MISC_STPCLKDIR_STPCLKDIR_H 00017 #define SYKAM_CPU_AT91_MISC_STPCLKDIR_STPCLKDIR_H 1 00018 00019 00020 // Defines 00021 00023 #define STPCLKDIR_CLOCKWISE (TRUE) 00024 00026 #define STPCLKDIR_COUNTERCLOCKWISE (FALSE) 00027 00029 #define STPCLKDIR_CLKSACC_MIN (2) 00030 00032 #define STPCLKDIR_CLKSBRK_MIN (1) 00033 00035 #define STPCLKDIR_CLKSRUN_MIN (STPCLKDIR_CLKSACC_MIN+ STPCLKDIR_CLKSBRK_MIN) 00036 00038 #define STPCLKDIR_FLAGS_NONE (0) 00039 00041 #define STPCLKDIR_FLAGS_AUTOPOWEROFF (1 << 0) 00042 00044 #define STPCLKDIR_FLAGS_INVERSE (1 << 1) 00045 00046 00047 // Macros 00048 00049 // Function template IsrStpClkDirTcc 00050 #define STPCLKDIR_ISRTCC_FUNC(unit) void IsrStpClkDirTcc##unit(void) __irq { StpClkDirTccIrqHandler(unit); } 00051 00052 // Function prototype IsrStpClkDirTcc 00053 #define STPCLKDIR_ISRTCC_PROTO(unit) void IsrStpClkDirTcc##unit(void) __irq 00054 00055 // Function name IsrStpClkDirTcc 00056 #define STPCLKDIR_ISRTCC_NAME(unit) IsrStpClkDirTcc##unit 00057 00058 00059 // Function template IsrStpClkDirPwm 00060 #define STPCLKDIR_ISRPWM_FUNC void IsrStpClkDirPwm(U32 u32ISR, U32 u32Pin) { StpClkDirPwmIrqHandler(u32Pin); } 00061 00062 // Function prototype IsrStpClkDirPwm 00063 #define STPCLKDIR_ISRPWM_PROTO void IsrStpClkDirPwm(U32 u32ISR, U32 u32Pin) 00064 00065 // Function name IsrStpClkDirPwm 00066 #define STPCLKDIR_ISRPWM_NAME IsrStpClkDirPwm 00067 00068 //---------------------------------------------------------------------------- 00069 // Do *NOT* apply application specific changes here! 00070 // Set defines to change in your application before including this to override 00071 //---------------------------------------------------------------------------- 00072 00074 #ifndef STPCLKDIR_POWERONRESET 00075 #define STPCLKDIR_POWERONRESET 0 00076 #endif 00077 00079 #ifndef STPCLKDIR_FULLSTEPSHIFT 00080 #define STPCLKDIR_FULLSTEPSHIFT 1 00081 #endif 00082 00084 #ifndef STPCLKDIR_OFFSETAUTOSHIFT 00085 #define STPCLKDIR_OFFSETAUTOSHIFT 1 00086 #endif 00087 00089 #ifndef STPCLKDIR_OFFSETBYDIRECTION 00090 #define STPCLKDIR_OFFSETBYDIRECTION 0 00091 #endif 00092 00094 #ifndef STPCLKDIR_PWM_2NDCHANCEUPDATE_FIX 00095 #define STPCLKDIR_PWM_2NDCHANCEUPDATE_FIX 1 00096 #endif 00097 00099 #ifndef STPCLKDIR_PWM_UPDATE_FIX 00100 #define STPCLKDIR_PWM_UPDATE_FIX 0 00101 #endif 00102 00104 #ifndef STPCLKDIR_STACK_STKTSKSTPCLKDIRHOLD 00105 #define STPCLKDIR_STACK_STKTSKSTPCLKDIRHOLD 512 00106 #endif 00107 00109 #ifndef STPCLKDIR_MBXOFFSETCNTMSG 00110 #define STPCLKDIR_MBXOFFSETCNTMSG 25 00111 #endif 00112 00114 #ifndef STPCLKDIR_MBXCNTSTATE 00115 #define STPCLKDIR_MBXCNTSTATE 4 00116 #endif 00117 00119 #ifndef STPCLKDIR_UNIT_MAX 00120 #define STPCLKDIR_UNIT_MAX 1 00121 #endif 00122 00124 #ifndef STPCLKDIR_MBXCNTACC 00125 #define STPCLKDIR_MBXCNTACC 512 00126 #endif 00127 00129 #ifndef STPCLKDIR_MBXCNTBRK 00130 #define STPCLKDIR_MBXCNTBRK 512 00131 #endif 00132 00133 // Prototypes 00134 void StpClkDirTccIrqHandler(UCHAR ucUnit); 00135 void StpClkDirPwmIrqHandler(UCHAR ucChid); 00136 00137 __task void TskStpClkDirHold(void *pvParam); 00138 00139 // Each supported unit requires a prototype definition here 00140 #if STPCLKDIR_UNIT_MAX > 0 00141 STPCLKDIR_ISRTCC_PROTO(0); 00142 STPCLKDIR_ISRPWM_PROTO; 00143 #endif 00144 00145 #if STPCLKDIR_UNIT_MAX > 1 00146 STPCLKDIR_ISRTCC_PROTO(1); 00147 #endif 00148 00149 #if STPCLKDIR_UNIT_MAX > 2 00150 STPCLKDIR_ISRTCC_PROTO(2); 00151 #endif 00152 00153 #endif