other

Dependents:   qonly_controller foc-ed_in_the_bot_compact foc-ed_in_the_bot_compact CurrentModeSine ... more

Fork of FastPWM by Erik -

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FastPWM_STM_TIM_PinOut.cpp Source File

FastPWM_STM_TIM_PinOut.cpp

00001 #include "mbed.h"
00002 
00003 #ifdef TARGET_NUCLEO_F303RE
00004 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00005     switch (pin) {
00006          // Channels 1
00007         case PC_0: case PB_8: case PB_9: case PA_6: case PA_8: case PB_4: case PB_5: case PA_2: case PC_6: case PA_12: case PB_14: case PB_15:
00008         // Channels 1N
00009         case PA_1: case PA_5: case PB_6: case PB_3: case PA_13: case PB_7: case PC_13:
00010             return &pwm->CCR1;
00011             
00012         // Channels 2
00013         case PC_1: case PA_7: case PC_7: case PA_9: case PA_3: case PA_14:
00014         // Channels 2N
00015         case PB_0:
00016             return &pwm->CCR2;
00017             
00018         // Channels 3
00019         case PA_10: case PC_2: case PC_8:
00020         // Channels 3N
00021         case PB_1:
00022             return &pwm->CCR3;
00023  
00024         // Channels 4
00025         case PC_3: case PC_9: case PA_11:
00026         // Channels 4N
00027         
00028             return &pwm->CCR4;
00029     }
00030     return NULL;
00031 }
00032 #endif
00033 
00034 #ifdef TARGET_NUCLEO_F030R8
00035 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00036     switch (pin) {
00037         // Channels 1
00038         case PA_4: case PA_6: case PB_1: case PB_4: case PB_8: case PB_9: case PB_14: case PC_6: case PB_6: case PB_7:
00039             return &pwm->CCR1;
00040             
00041         // Channels 2
00042         case PA_7: case PB_5: case PC_7:
00043             return &pwm->CCR2;
00044             
00045         // Channels 3
00046         case PB_0: case PC_8:
00047             return &pwm->CCR3;
00048             
00049         // Channels 4
00050         case PC_9:
00051             return &pwm->CCR4;
00052     }        
00053     return NULL;
00054 }
00055 #endif
00056 
00057 #if defined TARGET_NUCLEO_F401RE || defined TARGET_NUCLEO_F411RE || defined TARGET_NUCLEO_F446RE
00058 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00059     switch (pin) {
00060         // Channels 1 : PWMx/1
00061         case PA_0: case PA_5: case PA_6: case PA_8: case PA_15: case PB_4: case PB_6: case PC_6: case PA_7: case PB_13:
00062             return &pwm->CCR1;
00063         
00064         // Channels 2 : PWMx/2
00065         case PA_1: case PA_9: case PB_3: case PB_5: case PB_7: case PC_7: case PB_0: case PB_14:
00066             return &pwm->CCR2;
00067             
00068         // Channels 3 : PWMx/3
00069         case PA_2: case PA_10: case PB_8: case PB_10: case PC_8: case PB_1: case PB_15:
00070             return &pwm->CCR3;
00071  
00072         // Channels 4 : PWMx/4
00073         case PA_3: case PA_11: case PB_9: case PC_9: 
00074             return &pwm->CCR4;
00075     }
00076     return NULL;
00077 }
00078 #endif
00079 
00080 #if defined TARGET_NUCLEO_F103RB
00081 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00082     switch (pin) {
00083         // Channels 1 : PWMx/1
00084         case PA_6: case PA_8: case PA_15: case PB_4: case PC_6: case PB_13:
00085             return &pwm->CCR1;
00086         
00087         // Channels 2 : PWMx/2
00088         case PA_1: case PA_7: case PA_9: case PB_3: case PB_5: case PC_7: case PB_14:
00089             return &pwm->CCR2;
00090             
00091         // Channels 3 : PWMx/3
00092         case PA_2: case PA_10: case PB_0: case PB_10: case PC_8: case PB_15:
00093             return &pwm->CCR3;
00094  
00095         // Channels 4 : PWMx/4
00096         case PA_3: case PA_11: case PB_1: case PB_11: case PC_9: 
00097             return &pwm->CCR4;
00098     }
00099     return NULL;
00100 }
00101 #endif
00102 
00103 #ifdef TARGET_NUCLEO_F334R8
00104 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00105     switch (pin) {
00106          // Channels 1
00107         case PA_2: case PA_6: case PA_7: case PA_8: case PA_12: case PB_4: case PB_5: case PB_8: case PB_9: case PB_14: case PC_0: case PC_6:
00108         case PA_1: case PA_13: case PB_6: case PB_13: case PC_13:
00109             return &pwm->CCR1;
00110  
00111         // Channels 2
00112         case PA_3: case PA_4: case PA_9: case PB_15: case PC_1: case PC_7:
00113             return &pwm->CCR2;
00114             
00115         // Channels 3
00116         case PA_10: case PB_0: case PC_2: case PC_8:
00117         case PF_0:
00118             return &pwm->CCR3;
00119  
00120         // Channels 4
00121         case PA_11: case PB_1: case PB_7: case PC_3: case PC_9:
00122             return &pwm->CCR4;
00123     }
00124     return NULL;
00125 }
00126 #endif
00127 
00128 #if defined TARGET_NUCLEO_F072RB
00129 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00130     switch (pin) {
00131         // Channels 1 : PWMx/1
00132         case PA_2: case PA_6: case PA_4: case PA_7: case PA_8: case PB_1: case PB_4: case PB_8: case PB_9: case PB_14: case PC_6:
00133         // Channels 1N : PWMx/1N
00134         case PA_1: case PB_6: case PB_7: case PB_13:
00135             return &pwm->CCR1;
00136         
00137         // Channels 2 : PWMx/2
00138         case PA_3: case PA_9: case PB_5: case PC_7: case PB_15:
00139             return &pwm->CCR2;
00140             
00141         // Channels 3 : PWMx/3
00142         case PA_10: case PB_0: case PC_8: 
00143             return &pwm->CCR3;
00144  
00145         // Channels 4 : PWMx/4
00146         case PA_11: case PC_9: 
00147             return &pwm->CCR4;
00148     }
00149     return NULL;
00150 }
00151 #endif