mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2025-02-19 23:46:02 +01:00
G and I commands
This commit is contained in:
parent
95b640686a
commit
c72bf51959
@ -501,9 +501,17 @@ void DCCEXParser::parseOne(Print *stream, byte *com, RingStream * ringStream)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
case 'c': // SEND METER RESPONSES <c>
|
case 'c': // SEND METER RESPONSES <c>
|
||||||
// No longer supported because of multiple tracks <c MeterName value C/V unit min max res warn>
|
// No longer supported because of multiple tracks See <G> and <I>
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'G': // Track current gauge limits
|
||||||
|
TrackManager::reportGauges(stream); // <g limit...limit>
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'I': // Track current
|
||||||
|
TrackManager::reportCurrent(stream); // <i mA...mA>
|
||||||
|
return;
|
||||||
|
|
||||||
case 'Q': // SENSORS <Q>
|
case 'Q': // SENSORS <Q>
|
||||||
Sensor::printAll(stream);
|
Sensor::printAll(stream);
|
||||||
return;
|
return;
|
||||||
|
@ -424,6 +424,25 @@ POWERMODE TrackManager::getProgPower() {
|
|||||||
return POWERMODE::OFF;
|
return POWERMODE::OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrackManager::reportCurrent(Print* stream) {
|
||||||
|
StringFormatter::send(stream,F("<i"));
|
||||||
|
FOR_EACH_TRACK(t) {
|
||||||
|
StringFormatter::send(stream, F(" %d"),
|
||||||
|
(track[t]->getPower()==POWERMODE::OVERLOAD) ? -1 :
|
||||||
|
track[t]->raw2mA(track[t]->getCurrentRaw(false)));
|
||||||
|
}
|
||||||
|
StringFormatter::send(stream,F(">\n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void TrackManager::reportGauges(Print* stream) {
|
||||||
|
StringFormatter::send(stream,F("<g"));
|
||||||
|
FOR_EACH_TRACK(t) {
|
||||||
|
StringFormatter::send(stream, F(" %d"),
|
||||||
|
track[t]->raw2mA(track[t]->getRawCurrentTripValue()));
|
||||||
|
}
|
||||||
|
StringFormatter::send(stream,F(">\n"));
|
||||||
|
}
|
||||||
|
|
||||||
void TrackManager::setJoinRelayPin(byte joinRelayPin) {
|
void TrackManager::setJoinRelayPin(byte joinRelayPin) {
|
||||||
joinRelay=joinRelayPin;
|
joinRelay=joinRelayPin;
|
||||||
if (joinRelay!=UNUSED_PIN) {
|
if (joinRelay!=UNUSED_PIN) {
|
||||||
|
@ -77,6 +77,8 @@ class TrackManager {
|
|||||||
static bool isJoined() { return progTrackSyncMain;}
|
static bool isJoined() { return progTrackSyncMain;}
|
||||||
static void setJoinRelayPin(byte joinRelayPin);
|
static void setJoinRelayPin(byte joinRelayPin);
|
||||||
static void sampleCurrent();
|
static void sampleCurrent();
|
||||||
|
static void reportGauges(Print* stream);
|
||||||
|
static void reportCurrent(Print* stream);
|
||||||
static int16_t joinRelay;
|
static int16_t joinRelay;
|
||||||
static bool progTrackSyncMain; // true when prog track is a siding switched to main
|
static bool progTrackSyncMain; // true when prog track is a siding switched to main
|
||||||
static bool progTrackBoosted; // true when prog track is not current limited
|
static bool progTrackBoosted; // true when prog track is not current limited
|
||||||
|
Loading…
Reference in New Issue
Block a user