hw_dc_motor.h
Go to the documentation of this file.00001
00040 #ifndef HW_DC_MOTOR_H
00041 #define HW_DC_MOTOR_H
00042
00043 #warning TODO:This is an example implementation, you must implement it!
00044
00045
00046 #define DC_MOTOR0_EN_PIN
00047 #define DC_MOTOR0_DIR_PIN
00048 #define DC_MOTOR0_CLEAR
00049 #define DC_MOTOR0_SET
00050
00051
00052
00053
00054 #define DC_MOTOR_PIN_INIT_MACRO(port, index) \
00055 do { \
00056 \
00057 } while (0)
00058
00059
00060 #define DC_MOTOR_SET_ENABLE(index) do { } while (0)
00061 #define DC_MOTOR_SET_DISABLE(index) do { } while (0)
00062 #define DC_MOTOR_DIR_CW_MACRO(index) do { } while (0)
00063 #define DC_MOTOR_DIR_CCW_MACRO(index) do { } while (0)
00064
00065
00066 #define DC_MOTOR_ENABLE(index) \
00067 do { \
00068 switch (index) \
00069 { \
00070 case 0:\
00071 DC_MOTOR_SET_ENABLE(0); \
00072 break; \
00073 \
00074 } \
00075 } while(0)
00076
00077 #define DC_MOTOR_DISABLE(index) \
00078 do { \
00079 switch (index) \
00080 { \
00081 case 0:\
00082 DC_MOTOR_SET_DISABLE(0); \
00083 break; \
00084 \
00085 } \
00086 } while(0)
00087
00088
00089 #define DC_MOTOR_DIR_CW(index) \
00090 do { \
00091 switch (index) \
00092 { \
00093 case 0:\
00094 DC_MOTOR_DIR_CW_MACRO(0); \
00095 break; \
00096 \
00097 } \
00098 } while(0)
00099
00100 #define DC_MOTOR_DIR_CCW(index) \
00101 do { \
00102 switch (index) \
00103 { \
00104 case 0:\
00105 DC_MOTOR_DIR_CCW_MACRO(0); \
00106 break; \
00107 \
00108 } \
00109 } while(0)
00110
00111
00112
00113 #define DC_MOTOR_SET_DIR(index, dir) \
00114 do { \
00115 if (dir) \
00116 DC_MOTOR_DIR_CW(index); \
00117 else \
00118 DC_MOTOR_DIR_CCW(index); \
00119 } while (0)
00120
00121 #define DC_MOTOR_INIT(index) \
00122 do { \
00123 switch (index) \
00124 { \
00125 case 0: \
00126 DC_MOTOR_PIN_INIT_MACRO(A, 0); \
00127 break; \
00128 case 1: \
00129 DC_MOTOR_PIN_INIT_MACRO(A, 1); \
00130 break; \
00131 } \
00132 } while (0)
00133
00134 #endif