FT8CN/ft8cn/app/src/main/java/com/bg7yoz/ft8cn/rigs/XieGu6100NetRig.java

90 wiersze
2.7 KiB
Java
Czysty Zwykły widok Historia

package com.bg7yoz.ft8cn.rigs;
import android.util.Log;
import com.bg7yoz.ft8cn.Ft8Message;
import com.bg7yoz.ft8cn.GeneralVariables;
import com.bg7yoz.ft8cn.connector.X6100Connector;
import com.bg7yoz.ft8cn.ft8transmit.GenerateFT8;
/**
* XieGu6100ft8cnsbaseRig
*/
public class XieGu6100NetRig extends BaseRig {
private static final String TAG = "x6100RigNet";
//private final int ctrAddress = 0xE0;//接收地址默认0xE0;电台回复命令有时也可以是0x00
@Override
public void setPTT(boolean on) {
super.setPTT(on);
if (getConnector() != null) {
getConnector().setPttOn(on);
}
}
@Override
public boolean isConnected() {
if (getConnector() == null) {
return false;
}
return getConnector().isConnected();
}
@Override
public void setUsbModeToRig() {
if (getConnector() != null) {
X6100Connector x6100Connector =(X6100Connector)getConnector();
x6100Connector.getXieguRadio().commandSetMode("u-dig",1);
}
}
@Override
public void setFreqToRig() {
if (getConnector() != null) {
X6100Connector x6100Connector =(X6100Connector)getConnector();
x6100Connector.getXieguRadio().commandTuneFreq(getFreq());
}
}
@Override
public void onReceiveData(byte[] data) {
//命令解析都在X6100Radio中完成了此处不需要动作了
}
@Override
public void sendWaveData(Ft8Message message) {//发送音频数据到电台,用于网络方式
if (getConnector() != null) {//把生成的具体音频数据传递到Connector
//判断如果是ft8cns就传输a19数据包
if (GeneralVariables.instructionSet == InstructionSet.XIEGU_6100_FT8CNS){
//Log.e(TAG,"generate A91");
getConnector().sendFt8A91(GenerateFT8.generateA91(message,true)
,GeneralVariables.getBaseFrequency());
}else {//否则正常传输音频数据
float[] data = GenerateFT8.generateFt8(message, GeneralVariables.getBaseFrequency()
, 12000);//此处电台发射音频的采样率是12000
getConnector().sendWaveData(data);
}
}
}
@Override
public void readFreqFromRig() {//通过X6100Radio的状态来获取频率此处获取频率指令不需要了
}
@Override
public String getName() {
return "XIEGU X6100 series";
}
public XieGu6100NetRig(int civAddress) {
Log.d(TAG, "x6100RigNet: Create.");
setCivAddress(civAddress);
}
}