Stability Fix
Clearing flags instead of ITStatus seems to improve stability in EXTI interrupts Added ASSERT functionality for STM std periphery library Also busy updating the HW validation menu git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@411 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
@@ -127,66 +127,66 @@ ErrorStatus Keypad_construct(struct Keypad* self, size_t numberOfRows, size_t nu
|
||||
LOGGER_INFO(mainLog, "Keypad task started");
|
||||
self->initialized = true;
|
||||
|
||||
// // TUBE REPAIR
|
||||
// struct KeypadQueueItem rxQueueItem;
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = PRESSED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = RELEASED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
//
|
||||
// // SELECT CATHODE
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = PRESSED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = RELEASED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
//
|
||||
// // SELECT PRESET
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = PRESSED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = RELEASED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
//
|
||||
// // SELECT PRESET 7
|
||||
// rxQueueItem.rowCoordinate = 2;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = PRESSED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// rxQueueItem.rowCoordinate = 2;
|
||||
// rxQueueItem.columnCoordinate = 0;
|
||||
// rxQueueItem.keyEvent = RELEASED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
//
|
||||
// // START
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 1;
|
||||
// rxQueueItem.keyEvent = PRESSED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// rxQueueItem.rowCoordinate = 0;
|
||||
// rxQueueItem.columnCoordinate = 1;
|
||||
// rxQueueItem.keyEvent = RELEASED;
|
||||
// // Put event in queue
|
||||
// xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
// TUBE REPAIR
|
||||
struct KeypadQueueItem rxQueueItem;
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = PRESSED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = RELEASED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
|
||||
// SELECT CATHODE
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = PRESSED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = RELEASED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
|
||||
// SELECT PRESET
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = PRESSED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = RELEASED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
|
||||
// SELECT PRESET 7
|
||||
rxQueueItem.rowCoordinate = 2;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = PRESSED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
rxQueueItem.rowCoordinate = 2;
|
||||
rxQueueItem.columnCoordinate = 0;
|
||||
rxQueueItem.keyEvent = RELEASED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
|
||||
// START
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 1;
|
||||
rxQueueItem.keyEvent = PRESSED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
rxQueueItem.rowCoordinate = 0;
|
||||
rxQueueItem.columnCoordinate = 1;
|
||||
rxQueueItem.keyEvent = RELEASED;
|
||||
// Put event in queue
|
||||
xQueueSend(self->rxQueue, &rxQueueItem, 0);
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
@@ -267,7 +267,7 @@ ErrorStatus Uart_read (struct Uart* self, char* buffer, size_t length, size_t* a
|
||||
|
||||
void USART1_IRQHandler(void)
|
||||
{
|
||||
static signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
|
||||
//! Transmission register empty interrupt
|
||||
@@ -316,7 +316,7 @@ void USART1_IRQHandler(void)
|
||||
|
||||
void USART3_IRQHandler(void)
|
||||
{
|
||||
static signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
signed portBASE_TYPE higherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
|
||||
//! Transmission register empty interrupt
|
||||
|
||||
Reference in New Issue
Block a user