FT8CN/ft8CN/app/src/main/java/com/bg7yoz/ft8cn/connector/CableConnector.java

76 wiersze
2.1 KiB
Java
Executable File
Czysty Wina Historia

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.bg7yoz.ft8cn.connector;
import android.content.Context;
import android.util.Log;
import com.bg7yoz.ft8cn.database.ControlMode;
import com.bg7yoz.ft8cn.serialport.util.SerialInputOutputManager;
/**
* 有线连接方式的Connector这里是指USB方式的继承于BaseRigConnector
*
* @author BG7YOZ
* @date 2023-03-20
*/
public class CableConnector extends BaseRigConnector {
private static final String TAG="CableConnector";
private final CableSerialPort cableSerialPort;
public CableConnector(Context context,CableSerialPort.SerialPort serialPort, int baudRate
, int controlMode) {
super(controlMode);
cableSerialPort= new CableSerialPort(context,serialPort,baudRate,getOnConnectorStateChanged());
cableSerialPort.ioListener=new SerialInputOutputManager.Listener() {
@Override
public void onNewData(byte[] data) {
if (getOnConnectReceiveData()!=null){
getOnConnectReceiveData().onData(data);
}
}
@Override
public void onRunError(Exception e) {
Log.e(TAG, "CableConnector error: "+e.getMessage() );
getOnConnectorStateChanged().onRunError("与串口失去连接:"+e.getMessage());
}
} ;
//connect();
}
@Override
public synchronized void sendData(byte[] data) {
cableSerialPort.sendData(data);
}
@Override
public void setPttOn(boolean on) {
//只处理RTS和DTR
switch (getControlMode()){
case ControlMode.DTR: cableSerialPort.setDTR_On(on);//打开和关闭DTR
break;
case ControlMode.RTS:cableSerialPort.setRTS_On(on);//打开和关闭RTS
break;
}
}
@Override
public void setPttOn(byte[] command) {
cableSerialPort.sendData(command);//以CAT指令发送PTT
}
@Override
public void connect() {
super.connect();
cableSerialPort.connect();
}
@Override
public void disconnect() {
super.disconnect();
cableSerialPort.disconnect();
}
}