kopia lustrzana https://gitlab.com/eliggett/wfview
Added request and parse functions for most level and metering data.
rodzic
529b70b115
commit
7d0b926958
225
rigcommander.cpp
225
rigcommander.cpp
|
@ -731,6 +731,10 @@ void rigCommander::parseCommand()
|
|||
// read levels
|
||||
parseLevels();
|
||||
break;
|
||||
case '\x15':
|
||||
// Metering such as s, power, etc
|
||||
parseLevels();
|
||||
break;
|
||||
case '\x19':
|
||||
// qDebug() << "Have rig ID: " << (unsigned int)payloadIn[2];
|
||||
// printHex(payloadIn, false, true);
|
||||
|
@ -807,25 +811,97 @@ void rigCommander::parseLevels()
|
|||
// "INDEX: 00 01 02 03 04 "
|
||||
// "DATA: 14 02 00 78 fd "
|
||||
|
||||
switch(payloadIn[1])
|
||||
if(payloadIn[0] = '\x14')
|
||||
{
|
||||
case '\x01':
|
||||
// AF level
|
||||
emit haveAfGain(level);
|
||||
break;
|
||||
case '\x02':
|
||||
// RX RF Gain
|
||||
emit haveRfGain(level);
|
||||
break;
|
||||
case '\x03':
|
||||
// Squelch level
|
||||
emit haveSql(level);
|
||||
break;
|
||||
case '\x0A':
|
||||
// TX RF level
|
||||
emit haveTxPower(level);
|
||||
break;
|
||||
switch(payloadIn[1])
|
||||
{
|
||||
case '\x01':
|
||||
// AF level
|
||||
emit haveAfGain(level);
|
||||
break;
|
||||
case '\x02':
|
||||
// RX RF Gain
|
||||
emit haveRfGain(level);
|
||||
break;
|
||||
case '\x03':
|
||||
// Squelch level
|
||||
emit haveSql(level);
|
||||
break;
|
||||
case '\x0A':
|
||||
// TX RF level
|
||||
emit haveTxPower(level);
|
||||
break;
|
||||
case '\x0B':
|
||||
// Mic Gain
|
||||
emit haveMicGain(level);
|
||||
break;
|
||||
case '\x0E':
|
||||
// compressor level
|
||||
emit haveCompLevel(level);
|
||||
break;
|
||||
case '\x15':
|
||||
// monitor level
|
||||
emit haveMonitorLevel(level);
|
||||
break;
|
||||
case '\x16':
|
||||
// VOX gain
|
||||
emit haveVoxGain(level);
|
||||
break;
|
||||
case '\x17':
|
||||
// anti-VOX gain
|
||||
emit haveAntiVoxGain(level);
|
||||
break;
|
||||
|
||||
default:
|
||||
qDebug() << "Unknown control level (0x14) received at register " << payloadIn[1] << " with level " << level;
|
||||
break;
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(payloadIn[0] = '\x15')
|
||||
{
|
||||
switch(payloadIn[1])
|
||||
{
|
||||
case '\x02':
|
||||
// S-Meter
|
||||
emit haveSMeter(level);
|
||||
break;
|
||||
case '\x11':
|
||||
// RF-Power meter
|
||||
emit haveRFMeter(level);
|
||||
break;
|
||||
case '\x12':
|
||||
// SWR
|
||||
emit haveSWRMeter(level);
|
||||
break;
|
||||
case '\x13':
|
||||
// ALC
|
||||
emit haveALCMeter(level);
|
||||
break;
|
||||
case '\x14':
|
||||
// COMP dB reduction
|
||||
emit haveCompMeter(level);
|
||||
break;
|
||||
case '\x15':
|
||||
// VD (12V)
|
||||
emit haveVdMeter(level);
|
||||
break;
|
||||
case '\x16':
|
||||
// ID
|
||||
emit haveIdMeter(level);
|
||||
break;
|
||||
|
||||
default:
|
||||
qDebug() << "Unknown meter level (0x15) received at register " << payloadIn[1] << " with level " << level;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void rigCommander::getRfGain()
|
||||
|
@ -842,11 +918,124 @@ void rigCommander::getAfGain()
|
|||
|
||||
void rigCommander::getSql()
|
||||
{
|
||||
// Squelch
|
||||
QByteArray payload("\x14\x03");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getTxLevel()
|
||||
{
|
||||
QByteArray payload("\x14\x0A");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getMicGain()
|
||||
{
|
||||
QByteArray payload("\x14\x0B");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getCompLevel()
|
||||
{
|
||||
QByteArray payload("\x14\x0E");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getMonitorLevel()
|
||||
{
|
||||
QByteArray payload("\x14\x15");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getVoxGain()
|
||||
{
|
||||
QByteArray payload("\x14\x16");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getAntiVoxGain()
|
||||
{
|
||||
QByteArray payload("\x14\x17");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getLevels()
|
||||
{
|
||||
// Function to grab all levels
|
||||
qDebug() << __func__ << ": grabbing all levels supported.";
|
||||
getRfGain();
|
||||
getAfGain();
|
||||
getSql();
|
||||
getTxLevel();
|
||||
getMicGain();
|
||||
getCompLevel();
|
||||
getMonitorLevel();
|
||||
getVoxGain();
|
||||
getAntiVoxGain();
|
||||
}
|
||||
|
||||
void rigCommander::getMeters(bool transmitting)
|
||||
{
|
||||
// Nice function to just grab every meter
|
||||
qDebug() << __func__ << ": grabbing all metering for mode " << (transmitting==true? "transmitting":"receiving") ;
|
||||
|
||||
if(transmitting)
|
||||
{
|
||||
getRFPowerMeter();
|
||||
getSWRMeter();
|
||||
getALCMeter();
|
||||
getCompReductionMeter();
|
||||
|
||||
} else {
|
||||
getSMeter();
|
||||
}
|
||||
|
||||
getVdMeter();
|
||||
getIDMeter();
|
||||
}
|
||||
|
||||
void rigCommander::getSMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x02");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getRFPowerMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x11");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getSWRMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x12");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getALCMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x13");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getCompReductionMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x14");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getVdMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x15");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
void rigCommander::getIDMeter()
|
||||
{
|
||||
QByteArray payload("\x15\x16");
|
||||
prepDataAndSend(payload);
|
||||
}
|
||||
|
||||
|
||||
void rigCommander::setSquelch(unsigned char level)
|
||||
{
|
||||
sendLevelCmd(0x03, level);
|
||||
|
|
|
@ -52,12 +52,33 @@ public slots:
|
|||
void setPTT(bool pttOn);
|
||||
void setDataMode(bool dataOn);
|
||||
void getDataMode();
|
||||
|
||||
void getLevels(); // all supported levels
|
||||
|
||||
void getRfGain();
|
||||
void getAfGain();
|
||||
void getSql();
|
||||
void getTxLevel();
|
||||
void getMicGain();
|
||||
void getCompLevel();
|
||||
void getMonitorLevel();
|
||||
void getVoxGain();
|
||||
void getAntiVoxGain();
|
||||
|
||||
void getSMeter();
|
||||
void getRFPowerMeter();
|
||||
void getSWRMeter();
|
||||
void getALCMeter();
|
||||
void getCompReductionMeter();
|
||||
void getVdMeter();
|
||||
void getIDMeter();
|
||||
|
||||
void getMeters(bool transmitting); // all supported meters per transmit or receive
|
||||
|
||||
void setSquelch(unsigned char level);
|
||||
void setRfGain(unsigned char level);
|
||||
void setAfGain(unsigned char level);
|
||||
|
||||
void startATU();
|
||||
void setATU(bool enabled);
|
||||
void getATUStatus();
|
||||
|
@ -92,10 +113,25 @@ signals:
|
|||
void haveScopeSpan(char span);
|
||||
void haveSpectrumFixedMode(bool fixedEnabled);
|
||||
void haveScopeEdge(char edge);
|
||||
|
||||
void haveRfGain(unsigned char level);
|
||||
void haveAfGain(unsigned char level);
|
||||
void haveSql(unsigned char level);
|
||||
void haveTxPower(unsigned char level);
|
||||
void haveMicGain(unsigned char level);
|
||||
void haveCompLevel(unsigned char level);
|
||||
void haveMonitorLevel(unsigned char level);
|
||||
void haveVoxGain(unsigned char gain);
|
||||
void haveAntiVoxGain(unsigned char gain);
|
||||
|
||||
void haveSMeter(unsigned char level);
|
||||
void haveRFMeter(unsigned char level);
|
||||
void haveSWRMeter(unsigned char);
|
||||
void haveALCMeter(unsigned char);
|
||||
void haveCompMeter(unsigned char dbreduction);
|
||||
void haveVdMeter(unsigned char voltage);
|
||||
void haveIdMeter(unsigned char current);
|
||||
|
||||
void thing();
|
||||
void haveRefAdjustCourse(unsigned char level);
|
||||
void haveRefAdjustFine(unsigned char level);
|
||||
|
|
Ładowanie…
Reference in New Issue