mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-27 01:56:14 +01:00
Compare commits
2 Commits
0d07aa6271
...
a2fb58584f
Author | SHA1 | Date | |
---|---|---|---|
|
a2fb58584f | ||
|
fca4ea052e |
13
EXRAIL2.cpp
13
EXRAIL2.cpp
|
@ -1001,11 +1001,12 @@ void RMFT2::loop2() {
|
|||
StringFormatter::send(LCCSerial,F("<L x%h>"),(uint16_t)operand);
|
||||
break;
|
||||
|
||||
case OPCODE_MERGON: // MERG adapter
|
||||
case OPCODE_MERGOFF:
|
||||
case OPCODE_ACON: // MERG adapter
|
||||
case OPCODE_ACOF:
|
||||
if ((compileFeatures & FEATURE_LCC) && LCCSerial)
|
||||
StringFormatter::send(LCCSerial,F("<L x%c%h>"),
|
||||
opcode==OPCODE_MERGON?'1':'0',(uint16_t)operand);
|
||||
StringFormatter::send(LCCSerial,F("<L x%c%h%h>"),
|
||||
opcode==OPCODE_ACON?'0':'1',
|
||||
(uint16_t)operand,getOperand(progCounter,1));
|
||||
break;
|
||||
|
||||
case OPCODE_LCCX: // long form LCC
|
||||
|
@ -1095,8 +1096,8 @@ void RMFT2::loop2() {
|
|||
case OPCODE_PINTURNOUT: // Turnout definition ignored at runtime
|
||||
case OPCODE_ONCLOSE: // Turnout event catchers ignored here
|
||||
case OPCODE_ONLCC: // LCC event catchers ignored here
|
||||
case OPCODE_ONMERGON: // MERG event catchers ignored here
|
||||
case OPCODE_ONMERGOFF: // MERG event catchers ignored here
|
||||
case OPCODE_ONACON: // MERG event catchers ignored here
|
||||
case OPCODE_ONACOF: // MERG event catchers ignored here
|
||||
case OPCODE_ONTHROW:
|
||||
case OPCODE_ONACTIVATE: // Activate event catchers ignored here
|
||||
case OPCODE_ONDEACTIVATE:
|
||||
|
|
|
@ -69,8 +69,8 @@ enum OPCODE : byte {OPCODE_THROW,OPCODE_CLOSE,OPCODE_TOGGLE_TURNOUT,
|
|||
OPCODE_TTADDPOSITION,OPCODE_DCCTURNTABLE,OPCODE_EXTTTURNTABLE,
|
||||
OPCODE_ONROTATE,OPCODE_ROTATE,OPCODE_WAITFORTT,
|
||||
OPCODE_LCC,OPCODE_LCCX,OPCODE_ONLCC,
|
||||
OPCODE_MERGON, OPCODE_MERGOFF,
|
||||
OPCODE_ONMERGON, OPCODE_ONMERGOFF,
|
||||
OPCODE_ACON, OPCODE_ACOF,
|
||||
OPCODE_ONACON, OPCODE_ONACOF,
|
||||
OPCODE_ONOVERLOAD,
|
||||
OPCODE_ROUTE_ACTIVE,OPCODE_ROUTE_INACTIVE,OPCODE_ROUTE_HIDDEN,
|
||||
OPCODE_ROUTE_DISABLED,
|
||||
|
|
|
@ -99,10 +99,10 @@
|
|||
#undef LCCX
|
||||
#undef LCN
|
||||
#undef MOVETT
|
||||
#undef MERGON
|
||||
#undef MERGOFF
|
||||
#undef ONMERGON
|
||||
#undef ONMERGOFF
|
||||
#undef ACON
|
||||
#undef ACOF
|
||||
#undef ONACON
|
||||
#undef ONACOF
|
||||
#undef MESSAGE
|
||||
#undef ONACTIVATE
|
||||
#undef ONACTIVATEL
|
||||
|
@ -269,10 +269,10 @@
|
|||
#define LCN(msg)
|
||||
#define MESSAGE(msg)
|
||||
#define MOVETT(id,steps,activity)
|
||||
#define MERGON(eventid)
|
||||
#define MERGOFF(eventid)
|
||||
#define ONMERGON(eventid)
|
||||
#define ONMERGOFF(eventid)
|
||||
#define ACON(eventid)
|
||||
#define ACOF(eventid)
|
||||
#define ONACON(eventid)
|
||||
#define ONACOF(eventid)
|
||||
#define ONACTIVATE(addr,subaddr)
|
||||
#define ONACTIVATEL(linear)
|
||||
#define ONAMBER(signal_id)
|
||||
|
|
|
@ -78,8 +78,10 @@ void RMFT2::ComandFilter(Print * stream, byte & opcode, byte & paramCount, int16
|
|||
getOperand(progCounter,0)
|
||||
);
|
||||
}
|
||||
if (opcode==OPCODE_MERGON) StringFormatter::send(stream,F("<LS x1%h>\n"),getOperand(progCounter,0));
|
||||
if (opcode==OPCODE_MERGOFF) StringFormatter::send(stream,F("<LS x0%h>\n"),getOperand(progCounter,0));
|
||||
if (opcode==OPCODE_ACON) StringFormatter::send(stream,F("<LS x0%h%h>\n"),
|
||||
getOperand(progCounter,0),getOperand(progCounter,1));
|
||||
if (opcode==OPCODE_ACOF) StringFormatter::send(stream,F("<LS x1%h%h>\n"),
|
||||
getOperand(progCounter,0),getOperand(progCounter,1));
|
||||
}
|
||||
|
||||
// we stream the hex events we wish to listen to
|
||||
|
@ -101,12 +103,12 @@ void RMFT2::ComandFilter(Print * stream, byte & opcode, byte & paramCount, int16
|
|||
);
|
||||
eventIndex++;
|
||||
}
|
||||
if (opcode==OPCODE_ONMERGON || opcode==OPCODE_ONMERGOFF) {
|
||||
if (opcode==OPCODE_ONACON || opcode==OPCODE_ONACOF) {
|
||||
onLCCLookup[eventIndex]=progCounter; // TODO skip...
|
||||
StringFormatter::send(stream,F("<LL %d x%c%h>\n"),
|
||||
StringFormatter::send(stream,F("<LL %d x%c%h%h>\n"),
|
||||
eventIndex,
|
||||
opcode==OPCODE_ONMERGON?'1':'0',
|
||||
getOperand(progCounter,0)
|
||||
opcode==OPCODE_ONACON?'0':'1',
|
||||
getOperand(progCounter,0),getOperand(progCounter,1)
|
||||
);
|
||||
eventIndex++;
|
||||
}
|
||||
|
|
|
@ -189,10 +189,14 @@ bool exrailHalSetup() {
|
|||
#define LCCX(senderid,eventid) | FEATURE_LCC
|
||||
#undef ONLCC
|
||||
#define ONLCC(senderid,eventid) | FEATURE_LCC
|
||||
#undef ONMERGON
|
||||
#define ONMERGON(eventid) | FEATURE_LCC
|
||||
#undef ONMERGOFF
|
||||
#define ONMERGOFF(eventid) | FEATURE_LCC
|
||||
#undef ACON
|
||||
#define ACON(eventid) | FEATURE_LCC
|
||||
#undef ACOF
|
||||
#define ACOF(eventid) | FEATURE_LCC
|
||||
#undef ONACON
|
||||
#define ONACON(eventid) | FEATURE_LCC
|
||||
#undef ONACOF
|
||||
#define ONACOF(eventid) | FEATURE_LCC
|
||||
#undef ROUTE_ACTIVE
|
||||
#define ROUTE_ACTIVE(id) | FEATURE_ROUTESTATE
|
||||
#undef ROUTE_INACTIVE
|
||||
|
@ -437,10 +441,10 @@ const HIGHFLASH int16_t RMFT2::SignalDefinitions[] = {
|
|||
#include "EXRAIL2MacroReset.h"
|
||||
#undef ONLCC
|
||||
#define ONLCC(sender,event) +1
|
||||
#undef ONMERGON
|
||||
#define ONMERGON(event) +1
|
||||
#undef ONMERGOFF
|
||||
#define ONMERGOFF(event) +1
|
||||
#undef ONACON
|
||||
#define ONACON(event) +1
|
||||
#undef ONACOF
|
||||
#define ONACOF(event) +1
|
||||
|
||||
const int RMFT2::countLCCLookup=0
|
||||
#include "myAutomation.h"
|
||||
|
@ -537,10 +541,10 @@ int RMFT2::onLCCLookup[RMFT2::countLCCLookup];
|
|||
OPCODE_PAD,V((((uint64_t)sender)>>32)&0xFFFF),\
|
||||
OPCODE_PAD,V((((uint64_t)sender)>>16)&0xFFFF),\
|
||||
OPCODE_PAD,V((((uint64_t)sender)>>0)&0xFFFF),
|
||||
#define MERGON(eventid) OPCODE_MERGON,V(eventid),
|
||||
#define MERGOFF(eventid) OPCODE_MERGOFF,V(eventid),
|
||||
#define ONMERGON(eventid) OPCODE_ONMERGON,V(eventid),
|
||||
#define ONMERGOFF(eventid) OPCODE_ONMERGOFF,V(eventid),
|
||||
#define ACON(eventid) OPCODE_ACON,V(((uint32_t)eventid >>16) & 0xFFFF),OPCODE_PAD,V(eventid & 0xFFFF),
|
||||
#define ACOF(eventid) OPCODE_ACOF,V(((uint32_t)eventid >>16) & 0xFFFF),OPCODE_PAD,V(eventid & 0xFFFF),
|
||||
#define ONACON(eventid) OPCODE_ONACON,V((uint32_t)(eventid) >>16),OPCODE_PAD,V(eventid & 0xFFFF),
|
||||
#define ONACOF(eventid) OPCODE_ONACOF,V((uint32_t)(eventid) >>16),OPCODE_PAD,V(eventid & 0xFFFF),
|
||||
#define LCD(id,msg) PRINT(msg)
|
||||
#define SCREEN(display,id,msg) PRINT(msg)
|
||||
#define STEALTH(code...) PRINT(dummy)
|
||||
|
|
Loading…
Reference in New Issue
Block a user