-#define TIM_IRMP_CR1 TIM_CR1(TIM_IRMP)\r
-#define TIM_IRMP_DIER TIM_DIER(TIM_IRMP)\r
-#define TIM_IRMP_SR TIM_SR(TIM_IRMP)\r
-#define TIM_IRMP_ARR TIM_ARR(TIM_IRMP)\r
-#define RCC_TIM_IRMP CONCAT(RCC_TIM, IRMP_TIMER)\r
-#define NVIC_TIM_IRMP_IRQ CONCAT(CONCAT(NVIC_TIM, IRMP_TIMER), _IRQ)\r
-#define IRMP_TIMER_ISR CONCAT(CONCAT(tim, IRMP_TIMER), _isr)\r
+#define IRMP_TIMER_NUMBER 3\r
+#define IRMP_TIMER CONCAT(TIM, IRMP_TIMER_NUMBER)\r
+\r
+#define IRMP_TIMER_CR1 TIM_CR1(IRMP_TIMER)\r
+#define IRMP_TIMER_DIER TIM_DIER(IRMP_TIMER)\r
+#define IRMP_TIMER_SR TIM_SR(IRMP_TIMER)\r
+#define IRMP_TIMER_ARR TIM_ARR(IRMP_TIMER)\r
+#define IRMP_TIMER_RCC CONCAT(RCC_TIM, IRMP_TIMER_NUMBER)\r
+#define NVIC_IRMP_TIMER_IRQ CONCAT(CONCAT(NVIC_TIM, IRMP_TIMER_NUMBER), _IRQ)\r
+#define IRMP_TIMER_ISR CONCAT(CONCAT(tim, IRMP_TIMER_NUMBER), _isr)\r