Progress on the menu
- Debounced the interlocks - Created a specified screen for pre-compliance tests ADCs must be averaged menu handling of screens is not OK destructing tasks is not OK git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@257 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
@@ -237,8 +237,8 @@ void EXTI0_IRQHandler(void)
|
||||
{
|
||||
static signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
xSemaphoreGiveFromISR(interlock->semaphore, &higherPriorityTaskWoken);
|
||||
EXTI_ClearITPendingBit(EXTI_Line0);
|
||||
Error_postErrorFromISR(INTERLOCK_COMMON_FAIL);
|
||||
|
||||
portEND_SWITCHING_ISR(higherPriorityTaskWoken);
|
||||
}
|
||||
@@ -248,8 +248,8 @@ void EXTI1_IRQHandler(void)
|
||||
{
|
||||
static signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
xSemaphoreGiveFromISR(interlock->semaphore, &higherPriorityTaskWoken);
|
||||
EXTI_ClearITPendingBit(EXTI_Line1);
|
||||
Error_postErrorFromISR(INTERLOCK_COMMON_FAIL);
|
||||
|
||||
portEND_SWITCHING_ISR(higherPriorityTaskWoken);
|
||||
}
|
||||
@@ -295,7 +295,8 @@ void EXTI9_5_IRQHandler (void)
|
||||
else if (EXTI_GetITStatus(EXTI_Line9) != RESET)
|
||||
{
|
||||
EXTI_ClearITPendingBit(EXTI_Line9);
|
||||
Error_postErrorFromISR(INTERLOCK_TESLA_FAIL);
|
||||
|
||||
xSemaphoreGiveFromISR(teslalock->semaphore, &higherPriorityTaskWoken);
|
||||
}
|
||||
|
||||
portEND_SWITCHING_ISR(higherPriorityTaskWoken);
|
||||
@@ -309,7 +310,7 @@ void EXTI15_10_IRQHandler (void)
|
||||
if (EXTI_GetITStatus(EXTI_Line10) != RESET)
|
||||
{
|
||||
EXTI_ClearITPendingBit(EXTI_Line10);
|
||||
Error_postErrorFromISR(INTERLOCK_TESLA_FAIL);
|
||||
xSemaphoreGiveFromISR(teslalock->semaphore, &higherPriorityTaskWoken);
|
||||
}
|
||||
else if (EXTI_GetITStatus(EXTI_Line11) != RESET)
|
||||
{
|
||||
@@ -335,34 +336,3 @@ void EXTI15_10_IRQHandler (void)
|
||||
portEND_SWITCHING_ISR(higherPriorityTaskWoken);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void RTC_IRQHandler(void)
|
||||
{
|
||||
static signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
if (RTC_GetITStatus(RTC_IT_SEC) != RESET)
|
||||
{
|
||||
/* Clear the RTC Second interrupt */
|
||||
RTC_ClearITPendingBit(RTC_IT_SEC);
|
||||
|
||||
xSemaphoreGiveFromISR(rtc->secondSync, &higherPriorityTaskWoken);
|
||||
|
||||
Observable_notifyObservers(RTC_getObservable(rtc), NULL);
|
||||
|
||||
|
||||
/* Wait until last write operation on RTC registers has finished */
|
||||
RTC_WaitForLastTask();
|
||||
}
|
||||
|
||||
if (RTC_GetITStatus(RTC_IT_OW))
|
||||
{
|
||||
// Counter overflow on next cycle pending - RESET counter to 0
|
||||
|
||||
RTC_ClearITPendingBit(RTC_IT_OW);
|
||||
RTC_SetCounter(0x00);
|
||||
LOGGER_WARNING_ISR(mainLog, "RTC counter overflow detected - reset system clock counter to 0");
|
||||
}
|
||||
|
||||
portEND_SWITCHING_ISR(higherPriorityTaskWoken);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user