Skip to content

Commit

Permalink
Merge branch 'new_adc' of https://github.com/Candas1/Arduino-FOC into…
Browse files Browse the repository at this point in the history
… new_adc
  • Loading branch information
Candas1 committed Mar 22, 2024
2 parents 26e0b06 + a21ee55 commit cf09939
Showing 1 changed file with 56 additions and 40 deletions.
96 changes: 56 additions & 40 deletions src/current_sense/hardware_specific/stm32/stm32_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,167 +6,183 @@
uint32_t _timerToInjectedTRGO(HardwareTimer* timer){

// This should work with F1 F2 F3 F4 F7
#if defined(ADC_EXTERNALTRIGINJECCONV_T1_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T1_TRGO) && defined(TIM1)
if(timer->getHandle()->Instance == TIM1) return ADC_EXTERNALTRIGINJECCONV_T1_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T2_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T2_TRGO) && defined(TIM2)
if(timer->getHandle()->Instance == TIM2) return ADC_EXTERNALTRIGINJECCONV_T2_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T3_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T3_TRGO) && defined(TIM3)
if(timer->getHandle()->Instance == TIM3) return ADC_EXTERNALTRIGINJECCONV_T3_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T4_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T4_TRGO) && defined(TIM4)
if(timer->getHandle()->Instance == TIM4) return ADC_EXTERNALTRIGINJECCONV_T4_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T5_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T5_TRGO) && defined(TIM5)
if(timer->getHandle()->Instance == TIM5) return ADC_EXTERNALTRIGINJECCONV_T5_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T6_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T6_TRGO) && defined(TIM6)
if(timer->getHandle()->Instance == TIM6) return ADC_EXTERNALTRIGINJECCONV_T6_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T7_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T7_TRGO) && defined(TIM7)
if(timer->getHandle()->Instance == TIM7) return ADC_EXTERNALTRIGINJECCONV_T7_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T8_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T8_TRGO) && defined(TIM8)
if(timer->getHandle()->Instance == TIM8) return ADC_EXTERNALTRIGINJECCONV_T8_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T9_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T9_TRGO) && defined(TIM9)
if(timer->getHandle()->Instance == TIM9) return ADC_EXTERNALTRIGINJECCONV_T9_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T10_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T10_TRGO) && defined(TIM10)
if(timer->getHandle()->Instance == TIM10) return ADC_EXTERNALTRIGINJECCONV_T10_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T11_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T11_TRGO) && defined(TIM11)
if(timer->getHandle()->Instance == TIM11) return ADC_EXTERNALTRIGINJECCONV_T11_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T12_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T12_TRGO) && defined(TIM12)
if(timer->getHandle()->Instance == TIM12) return ADC_EXTERNALTRIGINJECCONV_T12_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T13_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T13_TRGO) && defined(TIM13)
if(timer->getHandle()->Instance == TIM13) return ADC_EXTERNALTRIGINJECCONV_T13_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T14_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T14_TRGO) && defined(TIM14)
if(timer->getHandle()->Instance == TIM14) return ADC_EXTERNALTRIGINJECCONV_T14_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T15_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T15_TRGO) && defined(TIM15)
if(timer->getHandle()->Instance == TIM15) return ADC_EXTERNALTRIGINJECCONV_T15_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T16_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T16_TRGO) && defined(TIM16)
if(timer->getHandle()->Instance == TIM16) return ADC_EXTERNALTRIGINJECCONV_T16_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T17_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T17_TRGO) && defined(TIM17)
if(timer->getHandle()->Instance == TIM17) return ADC_EXTERNALTRIGINJECCONV_T17_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T18_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T18_TRGO) && defined(TIM18)
if(timer->getHandle()->Instance == TIM18) return ADC_EXTERNALTRIGINJECCONV_T18_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T19_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T19_TRGO) && defined(TIM19)
if(timer->getHandle()->Instance == TIM19) return ADC_EXTERNALTRIGINJECCONV_T19_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJECCONV_T20_TRGO)
#if defined(ADC_EXTERNALTRIGINJECCONV_T20_TRGO) && defined(TIM20)
if(timer->getHandle()->Instance == TIM20) return ADC_EXTERNALTRIGINJECCONV_T20_TRGO;
#endif

// This should work with G4 H5 H7 L4 L5 MP1 U5 WB
#if defined(ADC_EXTERNALTRIGINJEC_T1_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T1_TRGO) && defined(TIM1)
if(timer->getHandle()->Instance == TIM1) return ADC_EXTERNALTRIGINJEC_T1_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T2_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T2_TRGO) && defined(TIM2)
if(timer->getHandle()->Instance == TIM2) return ADC_EXTERNALTRIGINJEC_T2_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T3_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T3_TRGO) && defined(TIM3)
if(timer->getHandle()->Instance == TIM3) return ADC_EXTERNALTRIGINJEC_T3_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T4_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T4_TRGO) && defined(TIM4)
if(timer->getHandle()->Instance == TIM4) return ADC_EXTERNALTRIGINJEC_T4_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T5_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T5_TRGO) && defined(TIM5)
if(timer->getHandle()->Instance == TIM5) return ADC_EXTERNALTRIGINJEC_T5_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T6_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T6_TRGO) && defined(TIM6)
if(timer->getHandle()->Instance == TIM6) return ADC_EXTERNALTRIGINJEC_T6_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T7_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T7_TRGO) && defined(TIM7)
if(timer->getHandle()->Instance == TIM7) return ADC_EXTERNALTRIGINJEC_T7_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T8_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T8_TRGO) && defined(TIM8)
if(timer->getHandle()->Instance == TIM8) return ADC_EXTERNALTRIGINJEC_T8_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T9_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T9_TRGO) && defined(TIM9)
if(timer->getHandle()->Instance == TIM9) return ADC_EXTERNALTRIGINJEC_T9_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T10_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T10_TRGO) && defined(TIM10)
if(timer->getHandle()->Instance == TIM10) return ADC_EXTERNALTRIGINJEC_T10_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T11_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T11_TRGO) && defined(TIM11)
if(timer->getHandle()->Instance == TIM11) return ADC_EXTERNALTRIGINJEC_T11_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T12_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T12_TRGO) && defined(TIM12)
if(timer->getHandle()->Instance == TIM12) return ADC_EXTERNALTRIGINJEC_T12_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T13_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T13_TRGO) && defined(TIM13)
if(timer->getHandle()->Instance == TIM13) return ADC_EXTERNALTRIGINJEC_T13_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T14_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T14_TRGO) && defined(TIM14)
if(timer->getHandle()->Instance == TIM14) return ADC_EXTERNALTRIGINJEC_T14_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T15_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T15_TRGO) && defined(TIM15)
if(timer->getHandle()->Instance == TIM15) return ADC_EXTERNALTRIGINJEC_T15_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T16_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T16_TRGO) && defined(TIM16)
if(timer->getHandle()->Instance == TIM16) return ADC_EXTERNALTRIGINJEC_T16_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T17_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T17_TRGO) && defined(TIM17)
if(timer->getHandle()->Instance == TIM17) return ADC_EXTERNALTRIGINJEC_T17_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T18_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T18_TRGO) && defined(TIM18)
if(timer->getHandle()->Instance == TIM18) return ADC_EXTERNALTRIGINJEC_T18_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T19_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T19_TRGO) && defined(TIM19)
if(timer->getHandle()->Instance == TIM19) return ADC_EXTERNALTRIGINJEC_T19_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T20_TRGO)
#if defined(ADC_EXTERNALTRIGINJEC_T20_TRGO) && defined(TIM20)
if(timer->getHandle()->Instance == TIM20) return ADC_EXTERNALTRIGINJEC_T20_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T21_TRGO) && defined(TIM21)
if(timer->getHandle()->Instance == TIM21) return ADC_EXTERNALTRIGINJEC_T21_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T22_TRGO) && defined(TIM22)
if(timer->getHandle()->Instance == TIM22) return ADC_EXTERNALTRIGINJEC_T22_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T23_TRGO) && defined(TIM23)
if(timer->getHandle()->Instance == TIM23) return ADC_EXTERNALTRIGINJEC_T23_TRGO;
#endif

#if defined(ADC_EXTERNALTRIGINJEC_T24_TRGO) && defined(TIM24)
if(timer->getHandle()->Instance == TIM24) return ADC_EXTERNALTRIGINJEC_T24_TRGO;
#endif

// Return not available if no trigger was found, not that following families have no injected ADC : C0 F0 G0 L0 WL
return _TRGO_NOT_AVAILABLE;
}
Expand Down

0 comments on commit cf09939

Please sign in to comment.