mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-27 01:56:14 +01:00
Fixup EXRAIL Read Loco issues
This commit is contained in:
parent
4f16a4ca06
commit
151f7d7f86
|
@ -44,6 +44,7 @@ const int16_t HASH_KEYWORD_ROUTES=-3702;
|
||||||
// The thrrads exist in a ring, each time through loop() the next thread in the ring is serviced.
|
// The thrrads exist in a ring, each time through loop() the next thread in the ring is serviced.
|
||||||
|
|
||||||
// Statics
|
// Statics
|
||||||
|
const int16_t LOCO_ID_WAITING=-99; // waiting for loco id from prog track
|
||||||
int16_t RMFT2::progtrackLocoId; // used for callback when detecting a loco on prograck
|
int16_t RMFT2::progtrackLocoId; // used for callback when detecting a loco on prograck
|
||||||
bool RMFT2::diag=false; // <D EXRAIL ON>
|
bool RMFT2::diag=false; // <D EXRAIL ON>
|
||||||
RMFT2 * RMFT2::loopTask=NULL; // loopTask contains the address of ONE of the tasks in a ring.
|
RMFT2 * RMFT2::loopTask=NULL; // loopTask contains the address of ONE of the tasks in a ring.
|
||||||
|
@ -595,14 +596,20 @@ void RMFT2::loop2() {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPCODE_READ_LOCO1: // READ_LOCO is implemented as 2 separate opcodes
|
case OPCODE_READ_LOCO1: // READ_LOCO is implemented as 2 separate opcodes
|
||||||
|
progtrackLocoId=LOCO_ID_WAITING; // Nothing found yet
|
||||||
DCC::getLocoId(readLocoCallback);
|
DCC::getLocoId(readLocoCallback);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPCODE_READ_LOCO2:
|
case OPCODE_READ_LOCO2:
|
||||||
if (progtrackLocoId<0) {
|
if (progtrackLocoId==LOCO_ID_WAITING) {
|
||||||
delayMe(100);
|
delayMe(100);
|
||||||
return; // still waiting for callback
|
return; // still waiting for callback
|
||||||
}
|
}
|
||||||
|
if (progtrackLocoId<0) {
|
||||||
|
kill(F("No Loco Found"),progtrackLocoId);
|
||||||
|
return; // still waiting for callback
|
||||||
|
}
|
||||||
|
|
||||||
loco=progtrackLocoId;
|
loco=progtrackLocoId;
|
||||||
speedo=0;
|
speedo=0;
|
||||||
forward=true;
|
forward=true;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user