1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-23 08:06:13 +01:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Asbelos
a2fb58584f ACON/ACOF 32 bit + 1=OFF 2024-05-31 19:49:39 +01:00
Asbelos
fca4ea052e Rename to ACON/ACOF terminology 2024-05-31 12:09:38 +01:00
5 changed files with 41 additions and 34 deletions

View File

@ -1001,11 +1001,12 @@ void RMFT2::loop2() {
StringFormatter::send(LCCSerial,F("<L x%h>"),(uint16_t)operand); StringFormatter::send(LCCSerial,F("<L x%h>"),(uint16_t)operand);
break; break;
case OPCODE_MERGON: // MERG adapter case OPCODE_ACON: // MERG adapter
case OPCODE_MERGOFF: case OPCODE_ACOF:
if ((compileFeatures & FEATURE_LCC) && LCCSerial) if ((compileFeatures & FEATURE_LCC) && LCCSerial)
StringFormatter::send(LCCSerial,F("<L x%c%h>"), StringFormatter::send(LCCSerial,F("<L x%c%h%h>"),
opcode==OPCODE_MERGON?'1':'0',(uint16_t)operand); opcode==OPCODE_ACON?'0':'1',
(uint16_t)operand,getOperand(progCounter,1));
break; break;
case OPCODE_LCCX: // long form LCC case OPCODE_LCCX: // long form LCC
@ -1095,8 +1096,8 @@ void RMFT2::loop2() {
case OPCODE_PINTURNOUT: // Turnout definition ignored at runtime case OPCODE_PINTURNOUT: // Turnout definition ignored at runtime
case OPCODE_ONCLOSE: // Turnout event catchers ignored here case OPCODE_ONCLOSE: // Turnout event catchers ignored here
case OPCODE_ONLCC: // LCC event catchers ignored here case OPCODE_ONLCC: // LCC event catchers ignored here
case OPCODE_ONMERGON: // MERG event catchers ignored here case OPCODE_ONACON: // MERG event catchers ignored here
case OPCODE_ONMERGOFF: // MERG event catchers ignored here case OPCODE_ONACOF: // MERG event catchers ignored here
case OPCODE_ONTHROW: case OPCODE_ONTHROW:
case OPCODE_ONACTIVATE: // Activate event catchers ignored here case OPCODE_ONACTIVATE: // Activate event catchers ignored here
case OPCODE_ONDEACTIVATE: case OPCODE_ONDEACTIVATE:

View File

@ -69,8 +69,8 @@ enum OPCODE : byte {OPCODE_THROW,OPCODE_CLOSE,OPCODE_TOGGLE_TURNOUT,
OPCODE_TTADDPOSITION,OPCODE_DCCTURNTABLE,OPCODE_EXTTTURNTABLE, OPCODE_TTADDPOSITION,OPCODE_DCCTURNTABLE,OPCODE_EXTTTURNTABLE,
OPCODE_ONROTATE,OPCODE_ROTATE,OPCODE_WAITFORTT, OPCODE_ONROTATE,OPCODE_ROTATE,OPCODE_WAITFORTT,
OPCODE_LCC,OPCODE_LCCX,OPCODE_ONLCC, OPCODE_LCC,OPCODE_LCCX,OPCODE_ONLCC,
OPCODE_MERGON, OPCODE_MERGOFF, OPCODE_ACON, OPCODE_ACOF,
OPCODE_ONMERGON, OPCODE_ONMERGOFF, OPCODE_ONACON, OPCODE_ONACOF,
OPCODE_ONOVERLOAD, OPCODE_ONOVERLOAD,
OPCODE_ROUTE_ACTIVE,OPCODE_ROUTE_INACTIVE,OPCODE_ROUTE_HIDDEN, OPCODE_ROUTE_ACTIVE,OPCODE_ROUTE_INACTIVE,OPCODE_ROUTE_HIDDEN,
OPCODE_ROUTE_DISABLED, OPCODE_ROUTE_DISABLED,

View File

@ -99,10 +99,10 @@
#undef LCCX #undef LCCX
#undef LCN #undef LCN
#undef MOVETT #undef MOVETT
#undef MERGON #undef ACON
#undef MERGOFF #undef ACOF
#undef ONMERGON #undef ONACON
#undef ONMERGOFF #undef ONACOF
#undef MESSAGE #undef MESSAGE
#undef ONACTIVATE #undef ONACTIVATE
#undef ONACTIVATEL #undef ONACTIVATEL
@ -269,10 +269,10 @@
#define LCN(msg) #define LCN(msg)
#define MESSAGE(msg) #define MESSAGE(msg)
#define MOVETT(id,steps,activity) #define MOVETT(id,steps,activity)
#define MERGON(eventid) #define ACON(eventid)
#define MERGOFF(eventid) #define ACOF(eventid)
#define ONMERGON(eventid) #define ONACON(eventid)
#define ONMERGOFF(eventid) #define ONACOF(eventid)
#define ONACTIVATE(addr,subaddr) #define ONACTIVATE(addr,subaddr)
#define ONACTIVATEL(linear) #define ONACTIVATEL(linear)
#define ONAMBER(signal_id) #define ONAMBER(signal_id)

View File

@ -78,8 +78,10 @@ void RMFT2::ComandFilter(Print * stream, byte & opcode, byte & paramCount, int16
getOperand(progCounter,0) getOperand(progCounter,0)
); );
} }
if (opcode==OPCODE_MERGON) StringFormatter::send(stream,F("<LS x1%h>\n"),getOperand(progCounter,0)); if (opcode==OPCODE_ACON) StringFormatter::send(stream,F("<LS x0%h%h>\n"),
if (opcode==OPCODE_MERGOFF) StringFormatter::send(stream,F("<LS x0%h>\n"),getOperand(progCounter,0)); 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 // 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++; eventIndex++;
} }
if (opcode==OPCODE_ONMERGON || opcode==OPCODE_ONMERGOFF) { if (opcode==OPCODE_ONACON || opcode==OPCODE_ONACOF) {
onLCCLookup[eventIndex]=progCounter; // TODO skip... 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, eventIndex,
opcode==OPCODE_ONMERGON?'1':'0', opcode==OPCODE_ONACON?'0':'1',
getOperand(progCounter,0) getOperand(progCounter,0),getOperand(progCounter,1)
); );
eventIndex++; eventIndex++;
} }

View File

@ -189,10 +189,14 @@ bool exrailHalSetup() {
#define LCCX(senderid,eventid) | FEATURE_LCC #define LCCX(senderid,eventid) | FEATURE_LCC
#undef ONLCC #undef ONLCC
#define ONLCC(senderid,eventid) | FEATURE_LCC #define ONLCC(senderid,eventid) | FEATURE_LCC
#undef ONMERGON #undef ACON
#define ONMERGON(eventid) | FEATURE_LCC #define ACON(eventid) | FEATURE_LCC
#undef ONMERGOFF #undef ACOF
#define ONMERGOFF(eventid) | FEATURE_LCC #define ACOF(eventid) | FEATURE_LCC
#undef ONACON
#define ONACON(eventid) | FEATURE_LCC
#undef ONACOF
#define ONACOF(eventid) | FEATURE_LCC
#undef ROUTE_ACTIVE #undef ROUTE_ACTIVE
#define ROUTE_ACTIVE(id) | FEATURE_ROUTESTATE #define ROUTE_ACTIVE(id) | FEATURE_ROUTESTATE
#undef ROUTE_INACTIVE #undef ROUTE_INACTIVE
@ -437,10 +441,10 @@ const HIGHFLASH int16_t RMFT2::SignalDefinitions[] = {
#include "EXRAIL2MacroReset.h" #include "EXRAIL2MacroReset.h"
#undef ONLCC #undef ONLCC
#define ONLCC(sender,event) +1 #define ONLCC(sender,event) +1
#undef ONMERGON #undef ONACON
#define ONMERGON(event) +1 #define ONACON(event) +1
#undef ONMERGOFF #undef ONACOF
#define ONMERGOFF(event) +1 #define ONACOF(event) +1
const int RMFT2::countLCCLookup=0 const int RMFT2::countLCCLookup=0
#include "myAutomation.h" #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)>>32)&0xFFFF),\
OPCODE_PAD,V((((uint64_t)sender)>>16)&0xFFFF),\ OPCODE_PAD,V((((uint64_t)sender)>>16)&0xFFFF),\
OPCODE_PAD,V((((uint64_t)sender)>>0)&0xFFFF), OPCODE_PAD,V((((uint64_t)sender)>>0)&0xFFFF),
#define MERGON(eventid) OPCODE_MERGON,V(eventid), #define ACON(eventid) OPCODE_ACON,V(((uint32_t)eventid >>16) & 0xFFFF),OPCODE_PAD,V(eventid & 0xFFFF),
#define MERGOFF(eventid) OPCODE_MERGOFF,V(eventid), #define ACOF(eventid) OPCODE_ACOF,V(((uint32_t)eventid >>16) & 0xFFFF),OPCODE_PAD,V(eventid & 0xFFFF),
#define ONMERGON(eventid) OPCODE_ONMERGON,V(eventid), #define ONACON(eventid) OPCODE_ONACON,V((uint32_t)(eventid) >>16),OPCODE_PAD,V(eventid & 0xFFFF),
#define ONMERGOFF(eventid) OPCODE_ONMERGOFF,V(eventid), #define ONACOF(eventid) OPCODE_ONACOF,V((uint32_t)(eventid) >>16),OPCODE_PAD,V(eventid & 0xFFFF),
#define LCD(id,msg) PRINT(msg) #define LCD(id,msg) PRINT(msg)
#define SCREEN(display,id,msg) PRINT(msg) #define SCREEN(display,id,msg) PRINT(msg)
#define STEALTH(code...) PRINT(dummy) #define STEALTH(code...) PRINT(dummy)