Add some levels and other functions

merge-requests/5/merge
Phil Taylor 2021-08-06 12:37:03 +01:00
rodzic 04bd237eb4
commit 797ed3bc5e
3 zmienionych plików z 150 dodań i 8 usunięć

Wyświetl plik

@ -456,12 +456,12 @@ void rigCtlClient::socketReadyRead()
else if (command[0] == "l" || command[0] == "get_level")
{
QString resp;
int value = 0;
float value = 0;
if (longReply && command.length() > 1) {
resp.append(QString("%1: ").arg(command[1]));
}
if (command[1] == "STRENGTH") {
value = rigState->sMeter;
value = (float)rigState->sMeter;
if (value > 240)
value = value - 176;
else if (value > 120)
@ -477,15 +477,96 @@ void rigCtlClient::socketReadyRead()
else if (value > 0)
value = value - 54;
}
else if (command[1] == "AF") {
value = (float)rigState->afGain / 255;
}
else if (command[1] == "RF") {
value = (float)rigState->rfGain / 255;
}
else if (command[1] == "SQL") {
value = (float)rigState->squelch / 255;
}
else if (command[1] == "COMP") {
value = (float)rigState->compLevel / 255;
}
else if (command[1] == "MICGAIN") {
value = (float)rigState->micGain / 255;
emit parent->setMicGain(value);
}
else if (command[1] == "MON") {
value = (float)rigState->monitorLevel / 255;
}
else if (command[1] == "VOXGAIN") {
value = (float)rigState->voxGain / 255;
}
else if (command[1] == "ANTIVOX") {
value = (float)rigState->antiVoxGain / 255;
}
else if (command[1] == "RFPOWER") {
value = (float)rigState->txPower / 255;
}
resp.append(QString("%1").arg(value));
response.append(resp);
}
else if (command[0] == "L" || command[0] == "set_level")
else if (command[0] == "L" || command[0] == "set_level" && command.length() > 2)
{
int value;
setCommand = true;
if (command[1] == "AF") {
value = command[2].toFloat() * 255;
emit parent->setAfGain(value);
}
else if (command[1] == "RF") {
value = command[2].toFloat() * 255;
emit parent->setRfGain(value);
}
else if (command[1] == "SQL") {
value = command[2].toFloat() * 255;
emit parent->setSql(value);
}
else if (command[1] == "COMP") {
value = command[2].toFloat() * 255;
emit parent->setCompLevel(value);
}
else if (command[1] == "MICGAIN") {
value = command[2].toFloat() * 255;
emit parent->setMicGain(value);
}
else if (command[1] == "MON") {
value = command[2].toFloat() * 255;
emit parent->setMonitorLevel(value);
}
else if (command[1] == "VOXGAIN") {
value = command[2].toFloat() * 255;
emit parent->setVoxGain(value);
}
else if (command[1] == "ANTIVOX") {
value = command[2].toFloat() * 255;
emit parent->setAntiVoxGain(value);
}
else if (command[1] == "RFPOWER") {
value = command[2].toFloat() * 255;
emit parent->setTxPower(value);
}
qInfo(logRigCtlD()) << "Setting:" << command[1] << command[2] << value;
}
else if (command[0] == "u" || command[0] == "get_func")
{
QString resp;
if (longReply && command.length() > 1) {
resp.append(QString("%1: ").arg(command[1]));
}
resp.append(QString("%1").arg(0));
response.append(resp);
}
else if (command[0] == "R" || command[0] == "set_func")
{
setCommand = true;
}
else if (command[0] == 0x88 || command[0] == "get_powerstat")
{
QString resp;
if (longReply && command.length() > 1) {
@ -493,10 +574,17 @@ void rigCtlClient::socketReadyRead()
}
resp.append(QString("%1").arg(0));
response.append(resp);
}
else if (command[0] == "R" || command[0] == "set_func")
}
else if (command.length() > 1 && command[0] == 0x87 || command[0] == "set_powerstat")
{
setCommand = true;
setCommand = true;
if (command[1] == "0")
{
emit parent->sendPowerOff();
}
else {
emit parent->sendPowerOn();
}
}
else {
qInfo(logRigCtlD()) << "Unimplemented command" << commandBuffer;
@ -802,10 +890,18 @@ QString rigCtlClient::generateFreqRange(bandType band)
{
for (int i = 0; mode_str[i].str[0] != '\0'; i++)
{
if (!strcmp(mode.name.toLocal8Bit(), mode_str[i].str))
QString curMode = mode.name;
if (!strcmp(curMode.toLocal8Bit(), mode_str[i].str))
{
modes |= mode_str[i].mode;
}
if (rigCaps.hasDataModes) {
curMode = "PKT" + mode.name;
if (!strcmp(curMode.toLocal8Bit(), mode_str[i].str))
{
modes |= mode_str[i].mode;
}
}
}
}
QString ret = "";

Wyświetl plik

@ -126,6 +126,23 @@ signals:
void setVFO(unsigned char vfo);
void setSplit(unsigned char split);
// Power
void sendPowerOn();
void sendPowerOff();
//Level set
void setRfGain(unsigned char level);
void setAfGain(unsigned char level);
void setSql(unsigned char level);
void setMicGain(unsigned char);
void setCompLevel(unsigned char);
void setTxPower(unsigned char);
void setMonitorLevel(unsigned char);
void setVoxGain(unsigned char);
void setAntiVoxGain(unsigned char);
void setSpectrumRefLevel(int);
public slots:
virtual void incomingConnection(qintptr socketDescriptor);
void receiveRigCaps(rigCapabilities caps);

Wyświetl plik

@ -296,6 +296,7 @@ void wfmain::rigConnections()
connect(this, SIGNAL(getSpectrumRefLevel()), rig, SLOT(getSpectrumRefLevel()));
connect(this, SIGNAL(getModInputLevel(rigInput)), rig, SLOT(getModInputLevel(rigInput)));
// Levels: Set:
connect(this, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
connect(this, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
@ -306,7 +307,7 @@ void wfmain::rigConnections()
connect(this, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
connect(this, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
connect(this, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
connect(this, SIGNAL(setModLevel(rigInput,unsigned char)), rig, SLOT(setModInputLevel(rigInput,unsigned char)));
connect(this, SIGNAL(setModLevel(rigInput, unsigned char)), rig, SLOT(setModInputLevel(rigInput, unsigned char)));
// Levels: handle return on query:
connect(rig, SIGNAL(haveRfGain(unsigned char)), this, SLOT(receiveRfGain(unsigned char)));
@ -403,6 +404,20 @@ void wfmain::makeRig()
connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char)));
connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char)));
connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
connect(rigCtl, SIGNAL(sendPowerOn()), rig, SLOT(powerOn()));
connect(rigCtl, SIGNAL(sendPowerOff()), rig, SLOT(powerOff()));
// Levels: Set:
connect(rigCtl, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
connect(rigCtl, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
connect(rigCtl, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
connect(rigCtl, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
connect(rigCtl, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
connect(rigCtl, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
connect(rigCtl, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
connect(rigCtl, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
connect(rigCtl, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
}
}
}
@ -5267,6 +5282,20 @@ void wfmain::on_enableRigctldChk_clicked(bool checked)
connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char)));
connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char)));
connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
connect(rigCtl, SIGNAL(sendPowerOn()), rig, SLOT(powerOn()));
connect(rigCtl, SIGNAL(sendPowerOff()), rig, SLOT(powerOff()));
// Levels: Set:
connect(rigCtl, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
connect(rigCtl, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
connect(rigCtl, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
connect(rigCtl, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
connect(rigCtl, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
connect(rigCtl, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
connect(rigCtl, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
connect(rigCtl, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
connect(rigCtl, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
emit sendRigCaps(rigCaps);
emit requestRigState();
}