Disable TX pin on HAN port

This commit is contained in:
Gunnar Skjold 2023-07-11 16:43:06 +02:00
parent 9c25eaff55
commit 4a3d884526

View File

@ -896,7 +896,7 @@ void setupHanPort(GpioConfig& gpioConfig, uint32_t baud, uint8_t parityOrdinal,
hwSerial->setRxBufferSize(64 * meterConfig.bufferSize);
#if defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32C3)
hwSerial->begin(baud, serialConfig, -1, -1, invert);
hwSerial->begin(baud, serialConfig, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, invert);
uart_set_pin(UART_NUM_1, UART_PIN_NO_CHANGE, pin, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
#elif defined(ESP32)
hwSerial->begin(baud, serialConfig, -1, -1, invert);
@ -914,6 +914,23 @@ void setupHanPort(GpioConfig& gpioConfig, uint32_t baud, uint8_t parityOrdinal,
}
#endif
// Prevent pullup on TX pin if not uart0
#if defined(CONFIG_IDF_TARGET_ESP32S2)
pinMode(17, INPUT);
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
pinMode(7, INPUT);
#elif defined(ESP32)
if(pin == 9) {
pinMode(10, INPUT);
} else if(pin == 16) {
pinMode(17, INPUT);
}
#elif defined(ESP8266)
if(pin == 113) {
pinMode(15, INPUT);
}
#endif
#if defined(ESP32)
hwSerial->onReceiveError(rxerr);
#endif