Index: AD5941_interface09302025/ad5941_library_extension.cpp =================================================================== diff -u -r6dc43c82214e34a1441f4f8b3210104d3d08d36b -r4ed225961d7e2ebf9a71c19b1a3bb5788c349c12 --- AD5941_interface09302025/ad5941_library_extension.cpp (.../ad5941_library_extension.cpp) (revision 6dc43c82214e34a1441f4f8b3210104d3d08d36b) +++ AD5941_interface09302025/ad5941_library_extension.cpp (.../ad5941_library_extension.cpp) (revision 4ed225961d7e2ebf9a71c19b1a3bb5788c349c12) @@ -2745,20 +2745,34 @@ // ************************************ Diality ********************************************** -void detectSerial() { - for (int i = 0; i < 8; i++) { +void detectSerial() +{ + // First check Serial7 explicitly + beginSerial(&Serial7, 115200); + delay(50); + if (Serial7.available()) + { + activeSerial = &Serial7; + // activeSerial->println("Using Serial7 (pins 28,29)"); + return; // Done, since Serial7 is preferred + } + + for (int i = 0; i < 8; i++) + { beginSerial(serialPorts[i], 115200); delay(50); // Give time for init // For USB Serial, wait for connection - if (serialPorts[i] == &Serial) { + if (serialPorts[i] == &Serial) + { unsigned long start = millis(); - while (!Serial && millis() - start < 2000) { + while (!Serial && millis() - start < 2000) + { // Wait up to 2s for USB } } // Assume first port is good (or add handshake logic) activeSerial = serialPorts[i]; - activeSerial->println(String("Using ") + serialNames[i]); + // activeSerial->println(String("Using ") + serialNames[i]); break; } }