@@ -454,7 +454,15 @@ STATIC void pyb_timer_print(const mp_print_t *print, mp_obj_t self_in, mp_print_
454454 self -> tim .Init .CounterMode == TIM_COUNTERMODE_DOWN ? "DOWN" : "CENTER" ,
455455 self -> tim .Init .ClockDivision == TIM_CLOCKDIVISION_DIV4 ? 4 :
456456 self -> tim .Init .ClockDivision == TIM_CLOCKDIVISION_DIV2 ? 2 : 1 );
457- if (IS_TIM_ADVANCED_INSTANCE (self -> tim .Instance )) {
457+
458+ #if defined(IS_TIM_ADVANCED_INSTANCE )
459+ if (IS_TIM_ADVANCED_INSTANCE (self -> tim .Instance ))
460+ #elif defined(IS_TIM_BREAK_INSTANCE )
461+ if (IS_TIM_BREAK_INSTANCE (self -> tim .Instance ))
462+ #else
463+ if (0 )
464+ #endif
465+ {
458466 mp_printf (print , ", deadtime=%u" ,
459467 compute_ticks_from_dtg (self -> tim .Instance -> BDTR & TIM_BDTR_DTG ));
460468 }
@@ -563,9 +571,15 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, mp_uint_t n_args, c
563571 #if defined(TIM8 )
564572 case 8 : __TIM8_CLK_ENABLE (); break ;
565573 #endif
574+ #if defined(TIM9 )
566575 case 9 : __TIM9_CLK_ENABLE (); break ;
576+ #endif
577+ #if defined(TIM10 )
567578 case 10 : __TIM10_CLK_ENABLE (); break ;
579+ #endif
580+ #if defined(TIM11 )
568581 case 11 : __TIM11_CLK_ENABLE (); break ;
582+ #endif
569583 #if defined(TIM12 )
570584 case 12 : __TIM12_CLK_ENABLE (); break ;
571585 #endif
@@ -575,6 +589,15 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, mp_uint_t n_args, c
575589 #if defined(TIM14 )
576590 case 14 : __TIM14_CLK_ENABLE (); break ;
577591 #endif
592+ #if defined(TIM15 )
593+ case 15 : __TIM15_CLK_ENABLE (); break ;
594+ #endif
595+ #if defined(TIM16 )
596+ case 16 : __TIM16_CLK_ENABLE (); break ;
597+ #endif
598+ #if defined(TIM17 )
599+ case 17 : __TIM17_CLK_ENABLE (); break ;
600+ #endif
578601 }
579602
580603 // set IRQ priority (if not a special timer)
@@ -584,7 +607,13 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, mp_uint_t n_args, c
584607
585608 // init TIM
586609 HAL_TIM_Base_Init (& self -> tim );
610+ #if defined(IS_TIM_ADVANCED_INSTANCE )
587611 if (IS_TIM_ADVANCED_INSTANCE (self -> tim .Instance )) {
612+ #elif defined(IS_TIM_BREAK_INSTANCE)
613+ if (IS_TIM_BREAK_INSTANCE (self -> tim .Instance )) {
614+ #else
615+ if (0 ) {
616+ #endif
588617 config_deadtime (self , args [6 ].u_int );
589618 }
590619 if (args [5 ].u_obj == mp_const_none ) {
@@ -617,7 +646,11 @@ STATIC mp_obj_t pyb_timer_make_new(const mp_obj_type_t *type, mp_uint_t n_args,
617646 tim -> is_32bit = false;
618647
619648 switch (tim -> tim_id ) {
649+ #if defined(MCU_SERIES_F4 ) || defined(MCU_SERIES_F7 )
620650 case 1 : tim -> tim .Instance = TIM1 ; tim -> irqn = TIM1_UP_TIM10_IRQn ; break ;
651+ #elif defined(MCU_SERIES_L4 )
652+ case 1 : tim -> tim .Instance = TIM1 ; tim -> irqn = TIM1_UP_TIM16_IRQn ; break ;
653+ #endif
621654 case 2 : tim -> tim .Instance = TIM2 ; tim -> irqn = TIM2_IRQn ; tim -> is_32bit = true; break ;
622655 case 3 : tim -> tim .Instance = TIM3 ; tim -> irqn = TIM3_IRQn ; break ;
623656 case 4 : tim -> tim .Instance = TIM4 ; tim -> irqn = TIM4_IRQn ; break ;
@@ -629,11 +662,21 @@ STATIC mp_obj_t pyb_timer_make_new(const mp_obj_type_t *type, mp_uint_t n_args,
629662 case 7 : tim -> tim .Instance = TIM7 ; tim -> irqn = TIM7_IRQn ; break ;
630663 #endif
631664 #if defined(TIM8 )
665+ #if defined(MCU_SERIES_F4 ) || defined(MCU_SERIES_F7 )
632666 case 8 : tim -> tim .Instance = TIM8 ; tim -> irqn = TIM8_UP_TIM13_IRQn ; break ;
667+ #elif defined(MCU_SERIES_L4 )
668+ case 8 : tim -> tim .Instance = TIM8 ; tim -> irqn = TIM8_UP_IRQn ; break ;
633669 #endif
670+ #endif
671+ #if defined(TIM9 )
634672 case 9 : tim -> tim .Instance = TIM9 ; tim -> irqn = TIM1_BRK_TIM9_IRQn ; break ;
673+ #endif
674+ #if defined(TIM10 )
635675 case 10 : tim -> tim .Instance = TIM10 ; tim -> irqn = TIM1_UP_TIM10_IRQn ; break ;
676+ #endif
677+ #if defined(TIM11 )
636678 case 11 : tim -> tim .Instance = TIM11 ; tim -> irqn = TIM1_TRG_COM_TIM11_IRQn ; break ;
679+ #endif
637680 #if defined(TIM12 )
638681 case 12 : tim -> tim .Instance = TIM12 ; tim -> irqn = TIM8_BRK_TIM12_IRQn ; break ;
639682 #endif
@@ -643,6 +686,15 @@ STATIC mp_obj_t pyb_timer_make_new(const mp_obj_type_t *type, mp_uint_t n_args,
643686 #if defined(TIM14 )
644687 case 14 : tim -> tim .Instance = TIM14 ; tim -> irqn = TIM8_TRG_COM_TIM14_IRQn ; break ;
645688 #endif
689+ #if defined(TIM15 )
690+ case 15 : tim -> tim .Instance = TIM15 ; tim -> irqn = TIM1_BRK_TIM15_IRQn ; break ;
691+ #endif
692+ #if defined(TIM16 )
693+ case 16 : tim -> tim .Instance = TIM16 ; tim -> irqn = TIM1_UP_TIM16_IRQn ; break ;
694+ #endif
695+ #if defined(TIM17 )
696+ case 17 : tim -> tim .Instance = TIM17 ; tim -> irqn = TIM1_TRG_COM_TIM17_IRQn ; break ;
697+ #endif
646698 default : nlr_raise (mp_obj_new_exception_msg_varg (& mp_type_ValueError , "Timer %d does not exist" , tim -> tim_id ));
647699 }
648700
0 commit comments