replaced bulky code with makro inside the IRQ Handlers

master
polymurph 2 years ago
parent 3a2757b390
commit 147c8c7e4b

@ -259,239 +259,61 @@ void timerThrowError(timerError_t error)
void TIM1_BRK_UP_TRG_COM_IRQHandler() void TIM1_BRK_UP_TRG_COM_IRQHandler()
{ {
HANDLE_INT_FLAG(TIM1->SR,TIM_SR_BIF,TIM1_BREAK); HANDLE_INT_FLAG(TIM1->SR,TIM_SR_BIF,TIM1_BREAK);
/* HANDLE_INT_FLAG(TIM1->SR,TIM_SR_BIF,TIM1_UPDATE);
if(TIM1->SR & TIM_SR_BIF) { HANDLE_INT_FLAG(TIM1->SR,TIM_SR_BIF,TIM1_TRIGGER);
TIM1->SR &= ~TIM_SR_BIF; HANDLE_INT_FLAG(TIM1->SR,TIM_SR_BIF,TIM1_COMMUNICATION);
((intHandler_t)(intHandlerList[TIM1_BREAK]))();
}
*/
if(TIM1->SR & TIM_SR_UIF) {
TIM1->SR &= ~TIM_SR_UIF;
((intHandler_t)(intHandlerList[TIM1_UPDATE]))();
}
if(TIM1->SR & TIM_SR_TIF) {
TIM1->SR &= ~TIM_SR_TIF;
((intHandler_t)(intHandlerList[TIM1_TRIGGER]))();
}
if(TIM1->SR & TIM_SR_COMIF) {
TIM1->SR &= ~TIM_SR_COMIF;
((intHandler_t)(intHandlerList[TIM1_COMMUNICATION]))();
}
} }
void TIM1_CC_IRQHandler() void TIM1_CC_IRQHandler()
{ {
if(TIM1->SR & TIM_SR_CC1IF) { HANDLE_INT_FLAG(TIM1->SR,TIM_SR_CC1IF,TIM1_COUNTERCOMPARE_1);
TIM1-> SR &= ~TIM_SR_CC1IF; HANDLE_INT_FLAG(TIM1->SR,TIM_SR_CC2IF,TIM1_COUNTERCOMPARE_2);
((intHandler_t)(intHandlerList[TIM1_COUNTERCOMPARE_1]))(); HANDLE_INT_FLAG(TIM1->SR,TIM_SR_CC3IF,TIM1_COUNTERCOMPARE_3);
} HANDLE_INT_FLAG(TIM1->SR,TIM_SR_CC4IF,TIM1_COUNTERCOMPARE_4);
if(TIM1->SR & TIM_SR_CC2IF) {
TIM1-> SR &= ~TIM_SR_CC2IF;
((intHandler_t)(intHandlerList[TIM1_COUNTERCOMPARE_2]))();
}
if(TIM1->SR & TIM_SR_CC3IF) {
TIM1-> SR &= ~TIM_SR_CC3IF;
((intHandler_t)(intHandlerList[TIM1_COUNTERCOMPARE_3]))();
}
if(TIM1->SR & TIM_SR_CC4IF) {
TIM1-> SR &= ~TIM_SR_CC4IF;
((intHandler_t)(intHandlerList[TIM1_COUNTERCOMPARE_4]))();
}
} }
void TIM2_IRQHandler() void TIM2_IRQHandler()
{ {
if(TIM2->SR & TIM_SR_UIF) { HANDLE_INT_FLAG(TIM2->SR,TIM_SR_UIF,TIM2_UPDATE);
TIM2-> SR &= ~TIM_SR_UIF; HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC1IF,TIM2_COUNTERCOMPARE_1);
((intHandler_t)(intHandlerList[TIM2_UPDATE]))(); HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC2IF,TIM2_COUNTERCOMPARE_2);
} HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC3IF,TIM2_COUNTERCOMPARE_3);
HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC4IF,TIM2_COUNTERCOMPARE_4);
if(TIM2->SR & TIM_SR_CC1IF) { HANDLE_INT_FLAG(TIM2->SR,TIM_SR_TIF,TIM2_TRIGGER);
TIM2-> SR &= ~TIM_SR_CC1IF; HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC1OF,TIM2_CAPTURECOMPARE_1);
((intHandler_t)(intHandlerList[TIM2_COUNTERCOMPARE_1]))(); HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC2OF,TIM2_CAPTURECOMPARE_2);
} HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC3OF,TIM2_CAPTURECOMPARE_3);
HANDLE_INT_FLAG(TIM2->SR,TIM_SR_CC4OF,TIM2_CAPTURECOMAPRE_4);
if(TIM2->SR & TIM_SR_CC2IF) {
TIM2-> SR &= ~TIM_SR_CC2IF;
((intHandler_t)(intHandlerList[TIM2_COUNTERCOMPARE_2]))();
}
if(TIM2->SR & TIM_SR_CC3IF) {
TIM2-> SR &= ~TIM_SR_CC3IF;
((intHandler_t)(intHandlerList[TIM2_COUNTERCOMPARE_3]))();
}
if(TIM2->SR & TIM_SR_CC4IF) {
TIM2-> SR &= ~TIM_SR_CC4IF;
((intHandler_t)(intHandlerList[TIM2_COUNTERCOMPARE_4]))();
}
if(TIM2->SR & TIM_SR_TIF) {
TIM2-> SR &= ~TIM_SR_TIF;
((intHandler_t)(intHandlerList[TIM2_TRIGGER]))();
}
if(TIM2->SR & TIM_SR_CC1OF) {
TIM2-> SR &= ~TIM_SR_CC1OF;
((intHandler_t)(intHandlerList[TIM2_CAPTURECOMPARE_1]))();
}
if(TIM2->SR & TIM_SR_CC2OF) {
TIM2-> SR &= ~TIM_SR_CC2OF;
((intHandler_t)(intHandlerList[TIM2_CAPTURECOMPARE_2]))();
}
if(TIM2->SR & TIM_SR_CC3OF) {
TIM2-> SR &= ~TIM_SR_CC3OF;
((intHandler_t)(intHandlerList[TIM2_CAPTURECOMPARE_3]))();
}
if(TIM2->SR & TIM_SR_CC4OF) {
TIM2-> SR &= ~TIM_SR_CC4OF;
((intHandler_t)(intHandlerList[TIM2_CAPTURECOMAPRE_4]))();
}
} }
void TIM3_IRQHandler() void TIM3_IRQHandler()
{ {
if(TIM3->SR & TIM_SR_UIF) { HANDLE_INT_FLAG(TIM3->SR,TIM_SR_UIF,TIM3_UPDATE);
// clear flag HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC1IF,TIM3_COUNTERCOMPARE_1);
TIM3-> SR &= ~TIM_SR_UIF; HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC2IF,TIM3_COUNTERCOMPARE_2);
HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC3IF,TIM3_COUNTERCOMPARE_3);
//TODO: call handler here HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC4IF,TIM3_COUNTERCOMPARE_4);
((intHandler_t)(intHandlerList[TIM3_UPDATE]))(); HANDLE_INT_FLAG(TIM3->SR,TIM_SR_TIF,TIM3_TRIGGER);
} HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC1OF,TIM3_CAPTURECOMPARE_1);
HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC2OF,TIM3_CAPTURECOMPARE_2);
if(TIM3->SR & TIM_SR_CC1IF) { HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC3OF,TIM3_CAPTURECOMPARE_3);
TIM3-> SR &= ~TIM_SR_CC1IF; HANDLE_INT_FLAG(TIM3->SR,TIM_SR_CC4OF,TIM3_CAPTURECOMAPRE_4);
((intHandler_t)(intHandlerList[TIM3_COUNTERCOMPARE_1]))();
}
if(TIM3->SR & TIM_SR_CC2IF) {
TIM3-> SR &= ~TIM_SR_CC2IF;
((intHandler_t)(intHandlerList[TIM3_COUNTERCOMPARE_2]))();
}
if(TIM3->SR & TIM_SR_CC3IF) {
TIM3-> SR &= ~TIM_SR_CC3IF;
((intHandler_t)(intHandlerList[TIM3_COUNTERCOMPARE_3]))();
}
if(TIM3->SR & TIM_SR_CC4IF) {
TIM3-> SR &= ~TIM_SR_CC4IF;
((intHandler_t)(intHandlerList[TIM3_COUNTERCOMPARE_4]))();
}
if(TIM3->SR & TIM_SR_TIF) {
TIM3-> SR &= ~TIM_SR_TIF;
((intHandler_t)(intHandlerList[TIM3_TRIGGER]))();
}
if(TIM3->SR & TIM_SR_CC1OF) {
TIM3-> SR &= ~TIM_SR_CC1OF;
((intHandler_t)(intHandlerList[TIM3_CAPTURECOMPARE_1]))();
}
if(TIM3->SR & TIM_SR_CC2OF) {
TIM3-> SR &= ~TIM_SR_CC2OF;
((intHandler_t)(intHandlerList[TIM3_CAPTURECOMPARE_2]))();
}
if(TIM3->SR & TIM_SR_CC3OF) {
TIM3-> SR &= ~TIM_SR_CC3OF;
((intHandler_t)(intHandlerList[TIM3_CAPTURECOMPARE_3]))();
}
if(TIM3->SR & TIM_SR_CC4OF) {
TIM3-> SR &= ~TIM_SR_CC4OF;
((intHandler_t)(intHandlerList[TIM3_CAPTURECOMAPRE_4]))();
}
}
void TIM14_IRQHandler()
{
if(TIM14->SR & TIM_SR_CC1OF) {
TIM14-> SR &= ~TIM_SR_CC1OF;
((intHandler_t)(intHandlerList[TIM14_CAPTURECOMPARE_1_OVERCAPTURE]))();
}
if(TIM14->SR & TIM_SR_CC1IF) {
TIM14-> SR &= ~TIM_SR_CC1IF;
((intHandler_t)(intHandlerList[TIM14_CAPTURECOMPARE_1]))();
}
if(TIM14->SR & TIM_SR_UIF) {
TIM14-> SR &= ~TIM_SR_UIF;
((intHandler_t)(intHandlerList[TIM14_UPDATE]))();
}
} }
void TIM16_IRQHandler() void TIM16_IRQHandler()
{ {
if(TIM16->SR & TIM_SR_CC1OF) { HANDLE_INT_FLAG(TIM16->SR,TIM_SR_CC1OF,TIM16_CAPTURECOMPARE_1_OVERCAPTURE);
TIM16-> SR &= ~TIM_SR_CC1OF; HANDLE_INT_FLAG(TIM16->SR,TIM_SR_BIF,TIM16_BREAK);
((intHandler_t)(intHandlerList[TIM16_CAPTURECOMPARE_1_OVERCAPTURE]))(); HANDLE_INT_FLAG(TIM16->SR,TIM_SR_COMIF,TIM16_COMMUNICATION);
} HANDLE_INT_FLAG(TIM16->SR,TIM_SR_CC1IF,TIM16_CAPTURECOMPARE_1);
HANDLE_INT_FLAG(TIM16->SR,TIM_SR_UIF,TIM16_UPDATE);
if(TIM16->SR & TIM_SR_BIF) {
TIM16-> SR &= ~TIM_SR_BIF;
((intHandler_t)(intHandlerList[TIM16_BREAK]))();
}
if(TIM16->SR & TIM_SR_COMIF) {
TIM16-> SR &= ~TIM_SR_COMIF;
((intHandler_t)(intHandlerList[TIM16_COMMUNICATION]))();
}
if(TIM16->SR & TIM_SR_CC1IF) {
TIM16-> SR &= ~TIM_SR_CC1IF;
((intHandler_t)(intHandlerList[TIM16_CAPTURECOMPARE_1]))();
}
if(TIM16->SR & TIM_SR_UIF) {
TIM16-> SR &= ~TIM_SR_UIF;
((intHandler_t)(intHandlerList[TIM16_UPDATE]))();
}
} }
void TIM117_IRQHandler() void TIM117_IRQHandler()
{ {
if(TIM17->SR & TIM_SR_CC1OF) { HANDLE_INT_FLAG(TIM17->SR,TIM_SR_CC1OF,TIM17_CAPTURECOMPARE_1_OVERCAPTURE);
TIM17-> SR &= ~TIM_SR_CC1OF; HANDLE_INT_FLAG(TIM17->SR,TIM_SR_BIF,TIM17_BREAK);
((intHandler_t)(intHandlerList[TIM17_CAPTURECOMPARE_1_OVERCAPTURE]))(); HANDLE_INT_FLAG(TIM17->SR,TIM_SR_COMIF,TIM17_COMMUNICATION);
} HANDLE_INT_FLAG(TIM17->SR,TIM_SR_CC1IF,TIM17_CAPTURECOMPARE_1);
HANDLE_INT_FLAG(TIM17->SR,TIM_SR_UIF,TIM17_UPDATE);
if(TIM17->SR & TIM_SR_BIF) {
TIM17-> SR &= ~TIM_SR_BIF;
((intHandler_t)(intHandlerList[TIM17_BREAK]))();
}
if(TIM17->SR & TIM_SR_COMIF) {
TIM17-> SR &= ~TIM_SR_COMIF;
((intHandler_t)(intHandlerList[TIM17_COMMUNICATION]))();
}
if(TIM17->SR & TIM_SR_CC1IF) {
TIM17-> SR &= ~TIM_SR_CC1IF;
((intHandler_t)(intHandlerList[TIM17_CAPTURECOMPARE_1]))();
}
if(TIM17->SR & TIM_SR_UIF) {
TIM17-> SR &= ~TIM_SR_UIF;
((intHandler_t)(intHandlerList[TIM17_UPDATE]))();
}
} }

Loading…
Cancel
Save