1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-12-24 13:21:23 +01:00

Merge pull request #10 from DCC-EX/master

merge upstream changes
This commit is contained in:
mstevetodd 2020-12-16 11:39:23 -05:00 committed by GitHub
commit 9d0dbf7878
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 27 additions and 9 deletions

View File

@ -10,7 +10,9 @@
#include "DCCEXParser.h"
#include "version.h"
#include "WifiInterface.h"
#if ETHERNET_ON == true
#include "EthernetInterface.h"
#endif
#include "LCD_Implementation.h"
#include "freeMemory.h"
#include <Arduino.h>

View File

@ -272,7 +272,8 @@ void DCCEXParser::parse(Print *stream, byte *com, bool blocking)
else
break;
// Convert JMRI bizarre -1=emergency stop, 0-126 as speeds
// Convert DCC-EX protocol speed steps where
// -1=emergency stop, 0-126 as speeds
// to DCC 0=stop, 1= emergency stop, 2-127 speeds
if (tspeed > 126 || tspeed < -1)
break; // invalid JMRI speed code
@ -434,7 +435,7 @@ void DCCEXParser::parse(Print *stream, byte *com, bool blocking)
return;
case 'c': // READ CURRENT <c>
StringFormatter::send(stream, F("<a %d>"), DCCWaveform::mainTrack.getLastCurrent());
StringFormatter::send(stream, F("<a %d>"), DCCWaveform::mainTrack.get1024Current());
return;
case 'Q': // SENSORS <Q>

View File

@ -57,6 +57,11 @@ class DCCWaveform {
POWERMODE getPowerMode();
void checkPowerOverload();
int getLastCurrent();
inline int get1024Current() {
if (powerMode == POWERMODE::ON)
return (int)(lastCurrent*(long int)1024/motorDriver->getRawCurrentTripValue());
return 0;
}
void schedulePacket(const byte buffer[], byte byteCount, byte repeats);
volatile bool packetPending;
volatile byte sentResetsSincePacket;

View File

@ -18,6 +18,9 @@
*
*/
#include "config.h"
#include "defines.h" // This should be changed to DCCEX.h when possible
#if ETHERNET_ON == true
#include "EthernetInterface.h"
#include "DIAG.h"
#include "CommandDistributor.h"
@ -166,8 +169,6 @@ void EthernetInterface::loop()
if (Diag::ETHERNET) DIAG(F("Ethernet reply socket=%d, count=:%d\n"), socketOut,count);
for(;count>0;count--) clients[socketOut].write(outboundRing->read());
clients[socketOut].flush(); //maybe
}
}
}
#endif

View File

@ -25,6 +25,8 @@
// which libraray is involved.
////////////////////////////////////////////////////////////////////////////////////
#ifndef LCD_Implementation_h
#define LCD_Implementation_h
#include "config.h"
#include <Wire.h>
#include "LCDDisplay.h"
@ -50,6 +52,5 @@ LCDDisplay * LCDDisplay::lcdDisplay=0;
#include "LCD_NONE.h"
#define CONDITIONAL_LCD_START if (false) /* NO LCD CONFIG */
#endif
#endif // LCD_Implementation_h

View File

@ -76,6 +76,14 @@ The configuration file for DCC++ EX Command Station
//
//#define WIFI_CONNECT_TIMEOUT 14000
/////////////////////////////////////////////////////////////////////////////////////
//
// ENABLE_ETHERNET: Set to true if you have an Arduino Ethernet card (wired). This
// is not for Wifi. You will then need the Arduino Ethernet library as well
//
//#define ENABLE_ETHERNET true
/////////////////////////////////////////////////////////////////////////////////////
//
// DEFINE STATIC IP ADDRESS *OR* COMMENT OUT TO USE DHCP

View File

@ -4,7 +4,7 @@
#include "StringFormatter.h"
// const char VERSION[] PROGMEM ="0.2.0";
#define VERSION "3.0.0"
#define VERSION "3.0.1"
#endif