mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-03-09 12:31:48 +00:00
Set TX pin low if passive communicator
This commit is contained in:
@@ -469,9 +469,9 @@ void PassiveMeterCommunicator::printHanReadError(int pos) {
|
||||
}
|
||||
}
|
||||
|
||||
void PassiveMeterCommunicator::setupHanPort(uint32_t baud, uint8_t parityOrdinal, bool invert) {
|
||||
void PassiveMeterCommunicator::setupHanPort(uint32_t baud, uint8_t parityOrdinal, bool invert, bool passive) {
|
||||
int8_t rxpin = meterConfig.rxPin;
|
||||
int8_t txpin = meterConfig.txPin;
|
||||
int8_t txpin = passive ? -1 : meterConfig.txPin;
|
||||
|
||||
if (debugger->isActive(RemoteDebug::INFO)) debugger->printf_P(PSTR("(setupHanPort) Setting up HAN on pin %d/%d with baud %d and parity %d\n"), rxpin, txpin, baud, parityOrdinal);
|
||||
|
||||
@@ -641,6 +641,11 @@ void PassiveMeterCommunicator::setupHanPort(uint32_t baud, uint8_t parityOrdinal
|
||||
pinMode(meterConfig.rxPin, INPUT);
|
||||
}
|
||||
|
||||
if(meterConfig.txPin != 0xFF && passive) {
|
||||
pinMode(meterConfig.txPin, OUTPUT);
|
||||
digitalWrite(meterConfig.txPin, LOW);
|
||||
}
|
||||
|
||||
hanSerial->setTimeout(250);
|
||||
|
||||
// Empty buffer before starting
|
||||
|
||||
Reference in New Issue
Block a user