Fixed USART ISR handler in MDx GPS driver to prevent it from exiting without clearing the interrupt flags when no thread is registered for wakeup (TG-271 #closed)
This commit is contained in:
parent
379b487f64
commit
f286245f4f
|
|
@ -76,11 +76,14 @@ void __attribute__((used)) GpsUsartImpl()
|
||||||
{
|
{
|
||||||
status = (bufPos < maxPos) ? 0x01 : 0x02;
|
status = (bufPos < maxPos) ? 0x01 : 0x02;
|
||||||
|
|
||||||
if(gpsWaiting == 0) return;
|
if(gpsWaiting)
|
||||||
gpsWaiting->IRQwakeup();
|
{
|
||||||
if(gpsWaiting->IRQgetPriority()>Thread::IRQgetCurrentThread()->IRQgetPriority())
|
gpsWaiting->IRQwakeup();
|
||||||
Scheduler::IRQfindNextThread();
|
if(gpsWaiting->IRQgetPriority()>
|
||||||
gpsWaiting = 0;
|
Thread::IRQgetCurrentThread()->IRQgetPriority())
|
||||||
|
Scheduler::IRQfindNextThread();
|
||||||
|
gpsWaiting = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue