Add more commands to rigctld

half-duplex
Phil Taylor 2022-10-31 12:03:04 +00:00
rodzic f7c532007e
commit d47b9be7e1
4 zmienionych plików z 272 dodań i 133 usunięć

Wyświetl plik

@ -1484,13 +1484,16 @@ void rigCommander::parseLevels()
emit haveTPBFInner(level);
else
emit haveIFShift(level);
state.set(PBTIN, level, false);
break;
case '\x08':
// Twin BPF Outer
emit haveTPBFOuter(level);
state.set(PBTOUT, level, false);
break;
case '\x09':
// CW Pitch - ignore for now
state.set(CWPITCH, level, false);
break;
case '\x0A':
// TX RF level
@ -1507,6 +1510,7 @@ void rigCommander::parseLevels()
break;
case '\x0D':
// Notch filder setting - ignore for now
state.set(NOTCHF, level, false);
break;
case '\x0E':
// compressor level
@ -1515,6 +1519,7 @@ void rigCommander::parseLevels()
break;
case '\x12':
// NB level - ignore for now
state.set(NB, level, false);
break;
case '\x15':
// monitor level
@ -4840,13 +4845,62 @@ void rigCommander::stateUpdated()
break;
case SATMODEFUNC:
break;
case NBLEVEL:
break;
case NBDEPTH:
break;
case NBWIDTH:
break;
case NRLEVEL:
case NB:
break;
case NR: {
if (i.value()._valid) {
QByteArray payload("\x14\x06");
payload.append(bcdEncodeInt(state.getChar(NR)));
prepDataAndSend(payload);
}
break;
}
case CWPITCH: {
if (i.value()._valid) {
QByteArray payload("\x14\x09");
payload.append(bcdEncodeInt(state.getChar(CWPITCH)));
prepDataAndSend(payload);
}
break;
}
case NOTCHF: {
if (i.value()._valid) {
QByteArray payload("\x14\x0d");
payload.append(bcdEncodeInt(state.getChar(NOTCHF)));
prepDataAndSend(payload);
}
break;
}
case IF: {
if (i.value()._valid) {
setIFShift(state.getChar(IF));
}
getIFShift();
break;
}
case PBTIN: {
if (i.value()._valid) {
QByteArray payload("\x14\x07");
payload.append(bcdEncodeInt(state.getChar(PBTIN)));
prepDataAndSend(payload);
}
break;
}
case PBTOUT: {
if (i.value()._valid) {
QByteArray payload("\x14\x08");
payload.append(bcdEncodeInt(state.getChar(PBTOUT)));
prepDataAndSend(payload);
}
break;
}
case APF:
break;
case BAL:
break;
case RESUMEFUNC:
break;

Wyświetl plik

@ -144,7 +144,7 @@ void rigCtlClient::socketReadyRead()
continue;
}
qDebug(logRigCtlD()) << sessionId << "RX:" << commands;
//qDebug(logRigCtlD()) << sessionId << "RX:" << commands;
// We have a full line so process command.
@ -195,6 +195,8 @@ void rigCtlClient::socketReadyRead()
}
else if (command[0] == "dump_state")
{
quint64 modes = getRadioModes();
// rigctld protocol version
response.append("1");
// Radio model
@ -212,7 +214,7 @@ void rigCtlClient::socketReadyRead()
highFreq = band.highFreq;
}
response.append(QString("%1.000000 %2.000000 0x%3 %4 %5 0x%6 0x%7").arg(lowFreq).arg(highFreq)
.arg(getRadioModes(), 0, 16).arg(-1).arg(-1).arg(0x16000000, 0, 16).arg(getAntennas(), 0, 16));
.arg(modes, 0, 16).arg(-1).arg(-1).arg(0x16000000, 0, 16).arg(getAntennas(), 0, 16));
response.append("0 0 0 0 0 0 0");
if (rigCaps.hasTransmit) {
@ -220,29 +222,63 @@ void rigCtlClient::socketReadyRead()
for (bandType band : rigCaps.bands)
{
response.append(QString("%1.000000 %2.000000 0x%3 %4 %5 0x%6 0x%7").arg(band.lowFreq).arg(band.highFreq)
.arg(getRadioModes(), 0, 16).arg(2000).arg(100000).arg(0x16000000, 0, 16).arg(getAntennas(), 0, 16));
.arg(modes, 0, 16).arg(2000).arg(100000).arg(0x16000000, 0, 16).arg(getAntennas(), 0, 16));
}
}
response.append("0 0 0 0 0 0 0");
response.append(QString("0x%1 1").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 10").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 100").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 1000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 2500").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 5000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 6125").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 8333").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 10000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 12500").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 25000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 100000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 250000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 1000000").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 1").arg(modes, 0, 16));
response.append(QString("0x%1 10").arg(modes, 0, 16));
response.append(QString("0x%1 100").arg(modes, 0, 16));
response.append(QString("0x%1 1000").arg(modes, 0, 16));
response.append(QString("0x%1 2500").arg(modes, 0, 16));
response.append(QString("0x%1 5000").arg(modes, 0, 16));
response.append(QString("0x%1 6125").arg(modes, 0, 16));
response.append(QString("0x%1 8333").arg(modes, 0, 16));
response.append(QString("0x%1 10000").arg(modes, 0, 16));
response.append(QString("0x%1 12500").arg(modes, 0, 16));
response.append(QString("0x%1 25000").arg(modes, 0, 16));
response.append(QString("0x%1 100000").arg(modes, 0, 16));
response.append(QString("0x%1 250000").arg(modes, 0, 16));
response.append(QString("0x%1 1000000").arg(modes, 0, 16));
response.append("0 0");
response.append(QString("0x%1 1200").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 2400").arg(getRadioModes(), 0, 16));
response.append(QString("0x%1 3000").arg(getRadioModes(), 0, 16));
modes = getRadioModes("SB");
if (modes) {
response.append(QString("0x%1 3000").arg(modes, 0, 16));
response.append(QString("0x%1 2400").arg(modes, 0, 16));
response.append(QString("0x%1 1800").arg(modes, 0, 16));
}
modes = getRadioModes("AM");
if (modes) {
response.append(QString("0x%1 9000").arg(modes, 0, 16));
response.append(QString("0x%1 6000").arg(modes, 0, 16));
response.append(QString("0x%1 3000").arg(modes, 0, 16));
}
modes = getRadioModes("CW");
if (modes) {
response.append(QString("0x%1 1200").arg(modes, 0, 16));
response.append(QString("0x%1 500").arg(modes, 0, 16));
response.append(QString("0x%1 200").arg(modes, 0, 16));
}
modes = getRadioModes("FM");
if (modes) {
response.append(QString("0x%1 15000").arg(modes, 0, 16));
response.append(QString("0x%1 10000").arg(modes, 0, 16));
response.append(QString("0x%1 7000").arg(modes, 0, 16));
}
modes = getRadioModes("RTTY");
if (modes) {
response.append(QString("0x%1 2400").arg(modes, 0, 16));
response.append(QString("0x%1 500").arg(modes, 0, 16));
response.append(QString("0x%1 250").arg(modes, 0, 16));
}
modes = getRadioModes("PSK");
if (modes) {
response.append(QString("0x%1 1200").arg(modes, 0, 16));
response.append(QString("0x%1 500").arg(modes, 0, 16));
response.append(QString("0x%1 250").arg(modes, 0, 16));
}
response.append("0 0");
response.append("9900");
response.append("9900");
@ -250,7 +286,7 @@ void rigCtlClient::socketReadyRead()
response.append("0");
QString preamps="";
if (rigCaps.hasPreamp) {
for (unsigned char pre : rigCaps.preamps)
for (quint8 pre : rigCaps.preamps)
{
if (pre == 0)
continue;
@ -266,7 +302,7 @@ void rigCtlClient::socketReadyRead()
QString attens = "";
if (rigCaps.hasAttenuator) {
for (unsigned char att : rigCaps.attenuators)
for (quint8 att : rigCaps.attenuators)
{
if (att == 0)
continue;
@ -280,7 +316,6 @@ void rigCtlClient::socketReadyRead()
}
response.append(attens);
response.append("0xffffffffffffffff");
response.append("0xffffffffffffffff");
response.append("0xffffffffffffffff");
@ -288,23 +323,6 @@ void rigCtlClient::socketReadyRead()
response.append("0xffffffffffffffff");
response.append("0xffffffffffffffff");
/*
response.append("0xffffffffffffffff");
response.append("0xffffffffffffffff");
response.append("0xfffffffff7ffffff");
response.append("0xfffffff083ffffff");
response.append("0xffffffffffffffff");
response.append("0xffffffffffffffbf");
*/
/*
response.append("0x3effffff");
response.append("0x3effffff");
response.append("0x7fffffff");
response.append("0x7fffffff");
response.append("0x7fffffff");
response.append("0x7fffffff");
*/
if (chkVfoEecuted) {
response.append(QString("vfo_ops=0x%1").arg(255, 0, 16));
response.append(QString("ptt_type=0x%1").arg(rigCaps.hasTransmit, 0, 16));
@ -365,7 +383,7 @@ void rigCtlClient::socketReadyRead()
freqt freq;
bool ok=false;
double newFreq=0.0f;
unsigned char vfo=0;
quint8 vfo=0;
if (command.length() == 2)
{
newFreq = command[1].toDouble(&ok);
@ -383,10 +401,10 @@ void rigCtlClient::socketReadyRead()
freq.Hz = static_cast<int>(newFreq);
qDebug(logRigCtlD()) << QString("Set frequency: %1 (%2)").arg(freq.Hz).arg(command[1]);
if (vfo == 0) {
rigState->set(VFOAFREQ, freq.Hz,true);
rigState->set(VFOAFREQ, (quint64)freq.Hz,true);
}
else {
rigState->set(VFOBFREQ, freq.Hz,true);
rigState->set(VFOBFREQ, (quint64)freq.Hz,true);
}
}
}
@ -689,13 +707,13 @@ void rigCtlClient::socketReadyRead()
if (command.length() > 1) {
if (longReply) {
response.append(QString("AntCurr: %1").arg(getAntName((unsigned char)command[1].toInt())));
response.append(QString("AntCurr: %1").arg(getAntName((quint8)command[1].toInt())));
response.append(QString("Option: %1").arg(0));
response.append(QString("AntTx: %1").arg(getAntName(rigState->getChar(ANTENNA))));
response.append(QString("AntRx: %1").arg(getAntName(rigState->getChar(ANTENNA))));
}
else {
response.append(QString("%1").arg(getAntName((unsigned char)command[1].toInt())));
response.append(QString("%1").arg(getAntName((quint8)command[1].toInt())));
response.append(QString("%1").arg(0));
response.append(QString("%1").arg(getAntName(rigState->getChar(ANTENNA))));
response.append(QString("%1").arg(getAntName(rigState->getChar(ANTENNA))));
@ -774,6 +792,30 @@ void rigCtlClient::socketReadyRead()
else if (command[1] == "ATT") {
resp.append(QString("%1").arg(rigState->getChar(ATTENUATOR)));
}
else if (command[1] == "CWPITCH") {
resp.append(QString("%1").arg(rigState->getInt16(CWPITCH)));
}
else if (command[1] == "NOTCHF") {
resp.append(QString("%1").arg(rigState->getInt16(NOTCHF)));
}
else if (command[1] == "IF") {
resp.append(QString("%1").arg(rigState->getInt16(IF)));
}
else if (command[1] == "PBT_IN") {
resp.append(QString("%1").arg((float)rigState->getChar(PBTIN) / 255.0));
}
else if (command[1] == "PBT_OUT") {
resp.append(QString("%1").arg((float)rigState->getChar(PBTOUT) / 255.0));
}
else if (command[1] == "APF") {
resp.append(QString("%1").arg((float)rigState->getChar(APF) / 255.0));
}
else if (command[1] == "NR") {
resp.append(QString("%1").arg((float)rigState->getChar(NR) / 255.0));
}
else if (command[1] == "BAL") {
resp.append(QString("%1").arg((float)rigState->getChar(BAL) / 255.0));
}
else {
resp.append(QString("%1").arg(value));
}
@ -782,55 +824,87 @@ void rigCtlClient::socketReadyRead()
}
else if (command.length() > 2 && (command[0] == "L" || command[0] == "set_level"))
{
unsigned char value=0;
int value=0;
setCommand = true;
if (command[1] == "AF") {
value = command[2].toFloat() * 255;
rigState->set(AFGAIN, value, true);
rigState->set(AFGAIN, quint8(value), true);
}
else if (command[1] == "RF") {
value = command[2].toFloat() * 255;
rigState->set(RFGAIN, value, true);
rigState->set(RFGAIN, quint8(value), true);
}
else if (command[1] == "RFPOWER") {
value = command[2].toFloat() * 255;
rigState->set(RFPOWER, value, true);
value = command[2].toFloat() * 255;
rigState->set(RFPOWER, quint8(value), true);
}
else if (command[1] == "SQL") {
value = command[2].toFloat() * 255;
rigState->set(SQUELCH, value, true);
rigState->set(SQUELCH, quint8(value), true);
}
else if (command[1] == "COMP") {
value = command[2].toFloat() * 255;
rigState->set(COMPLEVEL, value, true);
rigState->set(COMPLEVEL, quint8(value), true);
}
else if (command[1] == "MICGAIN") {
value = command[2].toFloat() * 255;
rigState->set(MICGAIN, value, true);
rigState->set(MICGAIN, quint8(value), true);
}
else if (command[1] == "MON") {
value = command[2].toFloat() * 255;
rigState->set(MONITORLEVEL, value, true);
rigState->set(MONITORLEVEL, quint8(value), true);
}
else if (command[1] == "VOXGAIN") {
value = command[2].toFloat() * 255;
rigState->set(VOXGAIN, value, true);
rigState->set(VOXGAIN, quint8(value), true);
}
else if (command[1] == "ANTIVOX") {
value = command[2].toFloat() * 255;
rigState->set(ANTIVOXGAIN, value, true);
rigState->set(ANTIVOXGAIN, quint8(value), true);
}
else if (command[1] == "ATT") {
value = command[2].toInt();
rigState->set(ATTENUATOR, value, true);
rigState->set(ATTENUATOR, quint8(value), true);
}
else if (command[1] == "PREAMP") {
value = command[2].toFloat() / 10;
rigState->set(PREAMP, value, true);
rigState->set(PREAMP, quint8(value), true);
}
else if (command[1] == "AGC") {
value = command[2].toInt();;
rigState->set(AGC, value, true);
value = command[2].toFloat() * 255;
rigState->set(AGC, quint8(value), true);
}
else if (command[1] == "CWPITCH") {
value = command[2].toInt();
rigState->set(CWPITCH, value, true);
}
else if (command[1] == "NOTCHF") {
value = command[2].toInt();
rigState->set(NOTCHF, value, true);
}
else if (command[1] == "IF") {
value = command[2].toInt();
rigState->set(IF, qint16(value), true);
}
else if (command[1] == "PBT_IN") {
value = command[2].toFloat() * 255;
rigState->set(PBTIN, quint8(value), true);
}
else if (command[1] == "PBT_OUT") {
value = command[2].toFloat() * 255;
rigState->set(PBTOUT, quint8(value), true);
}
else if (command[1] == "APF") {
value = command[2].toFloat() * 255;
rigState->set(APF, quint8(value), true);
}
else if (command[1] == "NR") {
value = command[2].toFloat() * 255;
rigState->set(NR, quint8(value), true);
}
else if (command[1] == "BAL") {
value = command[2].toFloat() * 255;
rigState->set(BAL, quint8(value), true);
}
qInfo(logRigCtlD()) << "Setting:" << command[1] << command[2] << value;
@ -1187,7 +1261,7 @@ void rigCtlClient::closeSocket()
void rigCtlClient::sendData(QString data)
{
qDebug(logRigCtlD()) << sessionId << "TX:" << data;
//qDebug(logRigCtlD()) << sessionId << "TX:" << data;
if (socket != Q_NULLPTR && socket->isValid() && socket->isOpen())
{
socket->write(data.toLatin1());
@ -1198,7 +1272,7 @@ void rigCtlClient::sendData(QString data)
}
}
QString rigCtlClient::getFilter(unsigned char mode, unsigned char filter) {
QString rigCtlClient::getFilter(quint8 mode, quint8 filter) {
if (mode == 3 || mode == 7 || mode == 12 || mode == 17) {
switch (filter) {
@ -1256,7 +1330,7 @@ QString rigCtlClient::getFilter(unsigned char mode, unsigned char filter) {
return QString("");
}
QString rigCtlClient::getMode(unsigned char mode, bool datamode) {
QString rigCtlClient::getMode(quint8 mode, bool datamode) {
QString ret;
@ -1309,7 +1383,7 @@ QString rigCtlClient::getMode(unsigned char mode, bool datamode) {
return ret;
}
unsigned char rigCtlClient::getMode(QString modeString) {
quint8 rigCtlClient::getMode(QString modeString) {
if (modeString == QString("LSB")) {
return 0;
@ -1354,46 +1428,47 @@ unsigned char rigCtlClient::getMode(QString modeString) {
}
unsigned char rigCtlClient::getAntennas()
quint8 rigCtlClient::getAntennas()
{
unsigned char ant=0;
for (unsigned char i : rigCaps.antennas)
quint8 ant=0;
for (quint8 i : rigCaps.antennas)
{
ant |= 1<<i;
}
return ant;
}
quint64 rigCtlClient::getRadioModes()
quint64 rigCtlClient::getRadioModes(QString md)
{
quint64 modes = 0;
for (mode_info mode : rigCaps.modes)
{
for (int i = 0; mode_str[i].str[0] != '\0'; i++)
{
QString curMode = mode.name;
if (!strcmp(curMode.toLocal8Bit(), mode_str[i].str))
{
//qDebug(logRigCtlD()) << "Found mode:" << mode.name << mode_str[i].mode;
modes |= mode_str[i].mode;
}
QString mstr = QString(mode_str[i].str);
if (rigCaps.hasDataModes) {
curMode = "PKT" + mode.name;
if (!strcmp(curMode.toLocal8Bit(), mode_str[i].str))
if (mstr.contains(mode.name))
{
if (mode.name == "LSB" || mode.name == "USB" || mode.name == "FM" || mode.name == "AM")
{
// qDebug(logRigCtlD()) << "Found data mode:" << mode.name << mode_str[i].mode;
// qDebug(logRigCtlD()) << "Found data mode:" << mode.name << mode_str[i].mode;
if (md.isEmpty() || mstr.contains(md)) {
modes |= mode_str[i].mode;
}
}
}
else if (mode.name==mstr)
{
//qDebug(logRigCtlD()) << "Found mode:" << mode.name << mode_str[i].mode;
if (md.isEmpty() || mstr==md)
{
modes |= mode_str[i].mode;
}
}
}
}
return modes;
}
QString rigCtlClient::getAntName(unsigned char ant)
QString rigCtlClient::getAntName(quint8 ant)
{
QString ret;
switch (ant)
@ -1410,8 +1485,8 @@ QString rigCtlClient::getAntName(unsigned char ant)
return ret;
}
unsigned char rigCtlClient::antFromName(QString name) {
unsigned char ret;
quint8 rigCtlClient::antFromName(QString name) {
quint8 ret;
if (name.toUpper() == "ANT1")
ret = 0;
@ -1432,7 +1507,7 @@ unsigned char rigCtlClient::antFromName(QString name) {
return ret;
}
int rigCtlClient::getCalibratedValue(unsigned char meter,cal_table_t cal) {
int rigCtlClient::getCalibratedValue(quint8 meter,cal_table_t cal) {
int interp;

Wyświetl plik

@ -337,12 +337,12 @@ signals:
void onStarted();
void onStopped();
void sendData(QString data);
void setFrequency(unsigned char vfo, freqt freq);
void setFrequency(quint8 vfo, freqt freq);
void setPTT(bool state);
void setMode(unsigned char mode, unsigned char modeFilter);
void setDataMode(bool dataOn, unsigned char modeFilter);
void setVFO(unsigned char vfo);
void setSplit(unsigned char split);
void setMode(quint8 mode, quint8 modeFilter);
void setDataMode(bool dataOn, quint8 modeFilter);
void setVFO(quint8 vfo);
void setSplit(quint8 split);
void setDuplexMode(duplexMode dm);
void stateUpdated();
// Power
@ -350,19 +350,19 @@ signals:
void sendPowerOff();
// Att/preamp
void setAttenuator(unsigned char att);
void setPreamp(unsigned char pre);
void setAttenuator(quint8 att);
void setPreamp(quint8 pre);
//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 setRfGain(quint8 level);
void setAfGain(quint8 level);
void setSql(quint8 level);
void setMicGain(quint8);
void setCompLevel(quint8);
void setTxPower(quint8);
void setMonitorLevel(quint8);
void setVoxGain(quint8);
void setAntiVoxGain(quint8);
void setSpectrumRefLevel(int);
@ -403,14 +403,14 @@ private:
rigstate* rigState = Q_NULLPTR;
rigCtlD* parent;
bool chkVfoEecuted=false;
QString getMode(unsigned char mode, bool datamode);
unsigned char getMode(QString modeString);
QString getFilter(unsigned char mode, unsigned char filter);
unsigned char getAntennas();
quint64 getRadioModes();
QString getAntName(unsigned char ant);
unsigned char antFromName(QString name);
int getCalibratedValue(unsigned char meter,cal_table_t cal);
QString getMode(quint8 mode, bool datamode);
quint8 getMode(QString modeString);
QString getFilter(quint8 mode, quint8 filter);
quint8 getAntennas();
quint64 getRadioModes(QString mode = "");
QString getAntName(quint8 ant);
quint8 antFromName(QString name);
int getCalibratedValue(quint8 meter,cal_table_t cal);
};

Wyświetl plik

@ -13,10 +13,10 @@
// Meters at the end as they are ALWAYS updated from the rig!
enum stateTypes { VFOAFREQ, VFOBFREQ, CURRENTVFO, PTT, MODE, FILTER, PASSBAND, DUPLEX, DATAMODE, ANTENNA, RXANTENNA, CTCSS, TSQL, DTCS, CSQL,
PREAMP, AGC, ATTENUATOR, MODINPUT, AFGAIN, RFGAIN, SQUELCH, RFPOWER, MICGAIN, COMPLEVEL, MONITORLEVEL, VOXGAIN, ANTIVOXGAIN,
PREAMP, AGC, ATTENUATOR, MODINPUT, AFGAIN, RFGAIN, SQUELCH, RFPOWER, MICGAIN, COMPLEVEL, MONITORLEVEL, BAL,
VOXGAIN, ANTIVOXGAIN, CWPITCH, NOTCHF, IF, PBTIN, PBTOUT, APF, NR, NB, NBDEPTH, NBWIDTH, RIGINPUT, POWERONOFF, RITVALUE,
FAGCFUNC, NBFUNC, COMPFUNC, VOXFUNC, TONEFUNC, TSQLFUNC, SBKINFUNC, FBKINFUNC, ANFFUNC, NRFUNC, AIPFUNC, APFFUNC, MONFUNC, MNFUNC,RFFUNC,
AROFUNC, MUTEFUNC, VSCFUNC, REVFUNC, SQLFUNC, ABMFUNC, BCFUNC, MBCFUNC, RITFUNC, AFCFUNC, SATMODEFUNC, SCOPEFUNC,
NBLEVEL, NBDEPTH, NBWIDTH, NRLEVEL, RIGINPUT, POWERONOFF, RITVALUE,
AROFUNC, MUTEFUNC, VSCFUNC, REVFUNC, SQLFUNC, ABMFUNC, BCFUNC, MBCFUNC, RITFUNC, AFCFUNC, SATMODEFUNC, SCOPEFUNC,
RESUMEFUNC, TBURSTFUNC, TUNERFUNC, LOCKFUNC, SMETER, POWERMETER, SWRMETER, ALCMETER, COMPMETER, VOLTAGEMETER, CURRENTMETER
};
@ -40,7 +40,7 @@ public:
void set(stateTypes s, quint64 x, bool u) {
if (x != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -48,9 +48,19 @@ public:
}
}
void set(stateTypes s, qint32 x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
_mutex.unlock();
}
}
void set(stateTypes s, qint16 x, bool u) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -58,9 +68,9 @@ public:
}
}
void set(stateTypes s, quint16 x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -68,9 +78,9 @@ public:
}
}
void set(stateTypes s, quint8 x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -78,9 +88,9 @@ public:
}
}
void set(stateTypes s, bool x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -88,9 +98,9 @@ public:
}
}
void set(stateTypes s, duplexMode x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -99,9 +109,9 @@ public:
}
void set(stateTypes s, rigInput x, bool u) {
if (static_cast<quint64>(x) != map[s]._value) {
if (quint64(x) != map[s]._value) {
_mutex.lock();
map[s]._value = (quint64)x;
map[s]._value = quint64(x);
map[s]._valid = true;
map[s]._updated = u;
map[s]._dateUpdated = QDateTime::currentDateTime();
@ -110,14 +120,14 @@ public:
}
bool getBool(stateTypes s) { return map[s]._value != 0; }
quint8 getChar(stateTypes s) { return static_cast<quint8>(map[s]._value); }
quint16 getInt16(stateTypes s) { return static_cast<qint16>(map[s]._value); }
quint16 getUInt16(stateTypes s) { return static_cast<quint16>(map[s]._value); }
qint32 getInt32(stateTypes s) { return static_cast<qint32>(map[s]._value); }
quint32 getUInt32(stateTypes s) { return static_cast<quint32>(map[s]._value); }
quint8 getChar(stateTypes s) { return quint8(map[s]._value); }
qint16 getInt16(stateTypes s) { return qint16(map[s]._value); }
quint16 getUInt16(stateTypes s) { return quint16(map[s]._value); }
qint32 getInt32(stateTypes s) { return qint32(map[s]._value); }
quint32 getUInt32(stateTypes s) { return quint32(map[s]._value); }
quint64 getInt64(stateTypes s) { return map[s]._value; }
duplexMode getDuplex(stateTypes s) { return static_cast<duplexMode>(map[s]._value); }
rigInput getInput(stateTypes s) { return static_cast<rigInput>(map[s]._value); }
duplexMode getDuplex(stateTypes s) { return duplexMode(map[s]._value); }
rigInput getInput(stateTypes s) { return rigInput(map[s]._value); }
QMap<stateTypes, value> map;