1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-28 02:26:13 +01:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Kcsmith0708
b0a8a3bf80
Merge 2afb5f3d6c into 2ba5adc8b4 2023-11-17 05:21:51 -07:00
Asbelos
2ba5adc8b4 5.2.3 @ and ROUTE_DISABLED 2023-11-17 10:45:36 +00:00
Kcsmith0708
2afb5f3d6c
Update version.h
Added Updated Versiom 4.1.1 thru 4.1.6
2023-08-24 14:57:57 -04:00
7 changed files with 35 additions and 8 deletions

View File

@ -115,6 +115,7 @@ Once a new OPCODE is decided upon, update this list.
#include "DCCTimer.h" #include "DCCTimer.h"
#include "EXRAIL2.h" #include "EXRAIL2.h"
#include "Turntables.h" #include "Turntables.h"
#include "version.h"
// This macro can't be created easily as a portable function because the // This macro can't be created easily as a portable function because the
// flashlist requires a far pointer for high flash access. // flashlist requires a far pointer for high flash access.
@ -841,6 +842,9 @@ void DCCEXParser::parseOne(Print *stream, byte *com, RingStream * ringStream)
case '@': // JMRI saying "give me virtual LCD msgs" case '@': // JMRI saying "give me virtual LCD msgs"
CommandDistributor::setVirtualLCDSerial(stream); CommandDistributor::setVirtualLCDSerial(stream);
StringFormatter::send(stream,
F("<@ 0 0 \"DCC-EX v" VERSION "\">\n"
"<@ 0 1 \"Lic GPLv3\">\n"));
return; return;
default: //anything else will diagnose and drop out to <X> default: //anything else will diagnose and drop out to <X>

View File

@ -932,6 +932,9 @@ void RMFT2::loop2() {
case OPCODE_ROUTE_ACTIVE: case OPCODE_ROUTE_ACTIVE:
manageRouteState(operand,1); manageRouteState(operand,1);
break; break;
case OPCODE_ROUTE_DISABLED:
manageRouteState(operand,4);
break;
case OPCODE_ROUTE: case OPCODE_ROUTE:
case OPCODE_AUTOMATION: case OPCODE_AUTOMATION:

View File

@ -69,6 +69,7 @@ enum OPCODE : byte {OPCODE_THROW,OPCODE_CLOSE,
OPCODE_LCC,OPCODE_LCCX,OPCODE_ONLCC, OPCODE_LCC,OPCODE_LCCX,OPCODE_ONLCC,
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,
// OPcodes below this point are skip-nesting IF operations // OPcodes below this point are skip-nesting IF operations
// placed here so that they may be skipped as a group // placed here so that they may be skipped as a group

View File

@ -129,6 +129,7 @@
#undef ROUTE_ACTIVE #undef ROUTE_ACTIVE
#undef ROUTE_INACTIVE #undef ROUTE_INACTIVE
#undef ROUTE_HIDDEN #undef ROUTE_HIDDEN
#undef ROUTE_DISABLED
#undef ROUTE_CAPTION #undef ROUTE_CAPTION
#undef SENDLOCO #undef SENDLOCO
#undef SEQUENCE #undef SEQUENCE
@ -274,6 +275,7 @@
#define ROUTE_ACTIVE(id) #define ROUTE_ACTIVE(id)
#define ROUTE_INACTIVE(id) #define ROUTE_INACTIVE(id)
#define ROUTE_HIDDEN(id) #define ROUTE_HIDDEN(id)
#define ROUTE_DISABLED(id)
#define ROUTE_CAPTION(id,caption) #define ROUTE_CAPTION(id,caption)
#define SENDLOCO(cab,route) #define SENDLOCO(cab,route)
#define SEQUENCE(id) #define SEQUENCE(id)

View File

@ -108,6 +108,8 @@ void exrailHalSetup() {
#define ROUTE_INACTIVE(id) | FEATURE_ROUTESTATE #define ROUTE_INACTIVE(id) | FEATURE_ROUTESTATE
#undef ROUTE_HIDDEN #undef ROUTE_HIDDEN
#define ROUTE_HIDDEN(id) | FEATURE_ROUTESTATE #define ROUTE_HIDDEN(id) | FEATURE_ROUTESTATE
#undef ROUTE_DISABLED
#define ROUTE_DISABLED(id) | FEATURE_ROUTESTATE
#undef ROUTE_CAPTION #undef ROUTE_CAPTION
#define ROUTE_CAPTION(id,caption) | FEATURE_ROUTESTATE #define ROUTE_CAPTION(id,caption) | FEATURE_ROUTESTATE
@ -457,6 +459,7 @@ int RMFT2::onLCCLookup[RMFT2::countLCCLookup];
#define ROUTE_ACTIVE(id) OPCODE_ROUTE_ACTIVE,V(id), #define ROUTE_ACTIVE(id) OPCODE_ROUTE_ACTIVE,V(id),
#define ROUTE_INACTIVE(id) OPCODE_ROUTE_INACTIVE,V(id), #define ROUTE_INACTIVE(id) OPCODE_ROUTE_INACTIVE,V(id),
#define ROUTE_HIDDEN(id) OPCODE_ROUTE_HIDDEN,V(id), #define ROUTE_HIDDEN(id) OPCODE_ROUTE_HIDDEN,V(id),
#define ROUTE_DISABLED(id) OPCODE_ROUTE_DISABLED,V(id),
#define ROUTE_CAPTION(id,caption) PRINT(caption) #define ROUTE_CAPTION(id,caption) PRINT(caption)
#define SENDLOCO(cab,route) OPCODE_SENDLOCO,V(cab),OPCODE_PAD,V(route), #define SENDLOCO(cab,route) OPCODE_SENDLOCO,V(cab),OPCODE_PAD,V(route),
#define SEQUENCE(id) OPCODE_SEQUENCE, V(id), #define SEQUENCE(id) OPCODE_SEQUENCE, V(id),

View File

@ -39,15 +39,18 @@ void StringFormatter::diag( const FSH* input...) {
void StringFormatter::lcd(byte row, const FSH* input...) { void StringFormatter::lcd(byte row, const FSH* input...) {
va_list args; va_list args;
Print * virtualLCD=CommandDistributor::getVirtualLCDSerial(0,row);
// Issue the LCD as a diag first // Issue the LCD as a diag first
send(&USB_SERIAL,F("<* LCD%d:"),row); // Unless the same serial is asking for the virtual @ respomnse
va_start(args, input); if (virtualLCD!=&USB_SERIAL) {
send2(&USB_SERIAL,input,args); send(&USB_SERIAL,F("<* LCD%d:"),row);
send(&USB_SERIAL,F(" *>\n")); va_start(args, input);
send2(&USB_SERIAL,input,args);
send(&USB_SERIAL,F(" *>\n"));
}
// send to virtual LCD collector (if any) // send to virtual LCD collector (if any)
Print * virtualLCD=CommandDistributor::getVirtualLCDSerial(0,row);
if (virtualLCD) { if (virtualLCD) {
va_start(args, input); va_start(args, input);
send2(virtualLCD,input,args); send2(virtualLCD,input,args);

View File

@ -4,6 +4,8 @@
#include "StringFormatter.h" #include "StringFormatter.h"
#define VERSION "5.2.3" #define VERSION "5.2.3"
// 5.2.4 - LCD macro will not do diag if that duplicates @ to same target.
// - Added ROUTE_DISABLED macro in EXRAIL
// 5.2.3 - Bugfix: Catch stange input to parser // 5.2.3 - Bugfix: Catch stange input to parser
// 5.2.2 - Added option to allow MAX_CHARACTER_ROWS to be defined in config.h // 5.2.2 - Added option to allow MAX_CHARACTER_ROWS to be defined in config.h
// 5.2.1 - Trackmanager rework for simpler structure // 5.2.1 - Trackmanager rework for simpler structure
@ -184,9 +186,18 @@
// TrackManager DCC & DC up to 8 Districts Architecture // TrackManager DCC & DC up to 8 Districts Architecture
// Automatic ALIAS(name) // Automatic ALIAS(name)
// Command Parser now accepts Underscore in Alias Names // Command Parser now accepts Underscore in Alias Names
// 4.1.6 Support for new EX-MotorShield8874 Dual 5Amp Shield
// 4.1.5 Bugfix LCN number parsing
// 4.1.4 Bugfix for issue #299 Turnout Description NULL
// 4.1.3 Bugfix: Ethernet init order
// 4.1.2 Bugfix: Ethernet shield W5100 does not report HW or link level
// 4.1.1 Bugfix: preserve turnout format // 4.1.1 Bugfix: preserve turnout format
// Bugfix: parse multiple commands in one buffer string correct // Bugfix: parse multiple commands in one buffer string correctly (ex: <s><Q>)
// Bugfix: </> command signal status in Exrail // Bugfix: </> command signal status of EX-RAIL tasks or threads
// Bugfix: EX-RAIL read long loco address
// Bugfix: Add space character after version string 4.1.1 for JMRI parsing.
// Improved display and loop time for signals make service start to be outside the DONT_TOUCH_WIFI_CONF area
// Improve WiFi startup by making service start to be outside the DONT_TOUCH_WIFI_CONF area
// 4.1.0 ... // 4.1.0 ...
// //
// 4.0.2 EXRAIL additions: // 4.0.2 EXRAIL additions: