|
|
@ -30,7 +30,10 @@ public class Ox485 { |
|
|
|
|
|
|
|
// 485通信配置 |
|
|
|
// private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS6"; //第6批设备 |
|
|
|
private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS4"; //第7批设备 |
|
|
|
// private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS4"; //第7批设备 |
|
|
|
|
|
|
|
// 动态串口路径配置 |
|
|
|
private static String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS4"; // 默认第7批设备 |
|
|
|
|
|
|
|
private static final int DEFAULT_BAUD_RATE = 9600; |
|
|
|
private static final int DEFAULT_STOP_BITS = 1; |
|
|
@ -92,6 +95,34 @@ public class Ox485 { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据设备类型切换485串口路径 |
|
|
|
* @param deviceType 设备类型,5表示第6批设备,其他值表示非第6批设备 |
|
|
|
*/ |
|
|
|
public static void switch485ByDeviceType(int deviceType) { |
|
|
|
try { |
|
|
|
String oldPath = DEFAULT_SERIAL_PORT_PATH; |
|
|
|
if (deviceType == 5) { |
|
|
|
// 第6批设备使用ttyS6 |
|
|
|
DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS6"; |
|
|
|
} else { |
|
|
|
// 其他设备(包括第7批)使用ttyS4 |
|
|
|
DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS4"; |
|
|
|
} |
|
|
|
|
|
|
|
String logMessage = "已根据设备类型(" + deviceType + ")切换485串口路径: " + oldPath + " -> " + DEFAULT_SERIAL_PORT_PATH; |
|
|
|
Log.d(TAG, logMessage); |
|
|
|
LogManager.logInfo(TAG, logMessage); |
|
|
|
|
|
|
|
// 额外记录当前串口路径状态 |
|
|
|
LogManager.logInfo(TAG, "当前485串口状态 - 设备类型: " + deviceType + ", 串口路径: " + DEFAULT_SERIAL_PORT_PATH); |
|
|
|
} catch (Exception e) { |
|
|
|
String errorMessage = "切换485串口路径失败: " + e.getMessage(); |
|
|
|
Log.e(TAG, errorMessage, e); |
|
|
|
LogManager.logError(TAG, errorMessage, e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 设置485模式开关 |
|
|
|
* @param enabled 是否启用485模式 |
|
|
|
*/ |
|
|
@ -431,6 +462,14 @@ public class Ox485 { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取当前使用的串口路径 |
|
|
|
* @return 当前串口路径 |
|
|
|
*/ |
|
|
|
public String getCurrentSerialPortPath() { |
|
|
|
return DEFAULT_SERIAL_PORT_PATH; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 关闭485串口(兼容旧接口) |
|
|
|
*/ |
|
|
|
public void close485SerialPort() { |
|
|
|