Dont use stale data in PD IRQ

This commit is contained in:
Ben V. Brown
2021-04-27 20:06:49 +10:00
parent a42c5ccd40
commit d4ea53cdcd

View File

@@ -66,10 +66,10 @@ void InterruptHandler::Thread(const void *arg) {
xTaskNotifyWait(0x00, 0x0F, NULL, TICKS_SECOND * 30); xTaskNotifyWait(0x00, 0x0F, NULL, TICKS_SECOND * 30);
} }
/* Read the FUSB302B status and interrupt registers */ /* Read the FUSB302B status and interrupt registers */
fusb_get_status(&status); if (fusb_get_status(&status)) {
/* If the I_GCRCSENT flag is set, tell the Protocol RX thread */ /* If the I_GCRCSENT flag is set, tell the Protocol RX thread */
// This means a message was recieved with a good CRC // This means a message was received with a good CRC
if (status.interruptb & FUSB_INTERRUPTB_I_GCRCSENT) { if (status.interruptb & FUSB_INTERRUPTB_I_GCRCSENT) {
readPendingMessage(); readPendingMessage();
} }
@@ -89,6 +89,7 @@ void InterruptHandler::Thread(const void *arg) {
PolicyEngine::notify(PolicyEngine::Notifications::PDB_EVT_PE_I_OVRTEMP); PolicyEngine::notify(PolicyEngine::Notifications::PDB_EVT_PE_I_OVRTEMP);
} }
} }
}
} }
void InterruptHandler::irqCallback() { void InterruptHandler::irqCallback() {
if (TaskHandle != NULL) { if (TaskHandle != NULL) {