kopia lustrzana https://gitlab.com/eliggett/wfview
Lots more changes
rodzic
54632924cd
commit
258e152b4f
147
cachingqueue.cpp
147
cachingqueue.cpp
|
@ -42,13 +42,12 @@ void cachingQueue::run()
|
|||
|
||||
QDeadlineTimer deadline(queueInterval);
|
||||
QMutexLocker locker(&mutex);
|
||||
int counter=0;
|
||||
quint64 counter=0; // Will run for many years!
|
||||
while (!aborted)
|
||||
{
|
||||
if (!waiting.wait(&mutex, deadline.remainingTime()))
|
||||
{
|
||||
// Time to process the queue - mutex is locked
|
||||
//qInfo("Deadline!");
|
||||
queuePriority prio = priorityImmediate;
|
||||
|
||||
// priorityNone=0, priorityImmediate=1, priorityHighest=2, priorityHigh=3, priorityMediumHigh=5, priorityMedium=7, priorityMediumLow=11, priorityLow=19, priorityLowest=23
|
||||
|
@ -69,12 +68,12 @@ void cachingQueue::run()
|
|||
prio = priorityLow;
|
||||
else if (counter % priorityLowest == 0)
|
||||
prio = priorityLowest;
|
||||
}
|
||||
}
|
||||
counter++;
|
||||
auto it = queue.find(prio);
|
||||
if (it != queue.end())
|
||||
{
|
||||
queueItem item = it.value();
|
||||
auto item = it.value();
|
||||
|
||||
emit haveCommand(item.type, item.command,item.param);
|
||||
|
||||
|
@ -82,8 +81,10 @@ void cachingQueue::run()
|
|||
while (it.key()==prio)
|
||||
it++;
|
||||
// Add it back into the queue
|
||||
if (item.recurring)
|
||||
if (item.recurring) {
|
||||
queue.insert(it,prio,item);
|
||||
updateCache(false,item.command);
|
||||
}
|
||||
}
|
||||
|
||||
QCoreApplication::processEvents();
|
||||
|
@ -91,8 +92,10 @@ void cachingQueue::run()
|
|||
|
||||
}
|
||||
else if (!aborted) {
|
||||
// We have been woken by a command that needs immediate attention (mutex is locked)
|
||||
qInfo("Message Received");
|
||||
// Mutex is locked
|
||||
while (!items.isEmpty()) {
|
||||
emit sendValue(items.dequeue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -106,24 +109,53 @@ void cachingQueue::interval(quint64 val)
|
|||
|
||||
void cachingQueue::add(queuePriority prio ,funcs func, bool recurring)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
queue.insert(prio, queueItem(func,recurring));
|
||||
if (recurring) qInfo() << "adding" << funcString[func] << "recurring" << recurring << "priority" << prio;
|
||||
queueItem q(func,recurring);
|
||||
add(prio,q);
|
||||
}
|
||||
|
||||
void cachingQueue::add(queuePriority prio ,queueItem item)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
queue.insert(prio, item);
|
||||
if (item.recurring) qInfo() << "adding" << funcString[item.command] << "recurring" << item.recurring << "priority" << prio;
|
||||
if (item.command != funcNone)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
if (!item.recurring || isRecurring(item.command) != prio)
|
||||
{
|
||||
if (item.recurring && prio == queuePriority::priorityImmediate) {
|
||||
qWarning() << "Warning, cannot add recurring command with immediate priority!" << funcString[item.command];
|
||||
} else {
|
||||
queue.insert(prio, item);
|
||||
updateCache(false,item.command,item.param);
|
||||
if (item.recurring) qInfo() << "adding" << funcString[item.command] << "recurring" << item.recurring << "priority" << prio;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cachingQueue::addUnique(queuePriority prio ,funcs func, bool recurring)
|
||||
{
|
||||
queueItem q(func,recurring);
|
||||
addUnique(prio,q);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void cachingQueue::addUnique(queuePriority prio ,queueItem item)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
queue.erase(std::remove_if(queue.begin(), queue.end(), [item](const queueItem& c) { return (c.command == item.command); }), queue.end());
|
||||
queue.insert(prio, item);
|
||||
if (item.recurring) qInfo() << "adding" << funcString[item.command] << "recurring" << item.recurring << "priority" << prio;
|
||||
if (item.command != funcNone)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
if (!item.recurring || isRecurring(item.command) != prio)
|
||||
{
|
||||
if (item.recurring && prio == queuePriority::priorityImmediate) {
|
||||
qWarning() << "Warning, cannot add unique recurring command with immediate priority!" << funcString[item.command];
|
||||
} else {
|
||||
queue.erase(std::remove_if(queue.begin(), queue.end(), [item](const queueItem& c) { return (c.command == item.command && c.recurring == item.recurring); }), queue.end());
|
||||
queue.insert(prio, item);
|
||||
updateCache(false,item.command,item.param);
|
||||
if (item.recurring) qInfo() << "adding" << funcString[item.command] << "recurring" << item.recurring << "priority" << prio;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cachingQueue::del(funcs func)
|
||||
|
@ -133,6 +165,17 @@ void cachingQueue::del(funcs func)
|
|||
qInfo() << "deleting" << funcString[func];
|
||||
}
|
||||
|
||||
queuePriority cachingQueue::isRecurring(funcs func)
|
||||
{
|
||||
// Does NOT lock the mutex
|
||||
auto rec = std::find_if(queue.begin(), queue.end(), [func](const queueItem& c) { return (c.command == func && c.recurring); });
|
||||
if (rec != queue.end())
|
||||
{
|
||||
return rec.value().priority;
|
||||
}
|
||||
return queuePriority::priorityNone;
|
||||
}
|
||||
|
||||
void cachingQueue::clear()
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
|
@ -144,49 +187,67 @@ void cachingQueue::message(QString msg)
|
|||
waiting.wakeOne();
|
||||
}
|
||||
|
||||
|
||||
void cachingQueue::setCache(funcs func, QVariant val)
|
||||
void cachingQueue::receiveValue(funcs func, QVariant value)
|
||||
{
|
||||
QMutexLocker locker = QMutexLocker(&mutex);
|
||||
cache.insert(func,val);
|
||||
QMutexLocker locker(&mutex);
|
||||
cacheItem c = cacheItem(func,value);
|
||||
items.enqueue(c);
|
||||
updateCache(true,func,value);
|
||||
waiting.wakeOne();
|
||||
}
|
||||
|
||||
void cachingQueue::updateCache(bool reply, funcs func, QVariant value)
|
||||
{
|
||||
// Mutex MUST be locked by the calling function.
|
||||
auto cv = cache.find(func);
|
||||
if (cv != cache.end()) {
|
||||
if (reply) {
|
||||
cv->reply = QDateTime::currentDateTime();
|
||||
cv->value = value;
|
||||
} else {
|
||||
cv->req = QDateTime::currentDateTime();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
cacheItem c;
|
||||
c.command = func;
|
||||
if (reply) {
|
||||
c.reply = QDateTime::currentDateTime();
|
||||
c.value = value;
|
||||
} else {
|
||||
c.req = QDateTime::currentDateTime();
|
||||
}
|
||||
cache.insert(func,c);
|
||||
}
|
||||
|
||||
|
||||
QVariant cachingQueue::getCache(funcs func)
|
||||
cacheItem cachingQueue::getCache(funcs func)
|
||||
{
|
||||
QMutexLocker locker = QMutexLocker(&mutex);
|
||||
QMutexLocker locker(&mutex);
|
||||
auto it = cache.find(func);
|
||||
if (it != cache.end())
|
||||
{
|
||||
return it.value();
|
||||
}
|
||||
return NULL;
|
||||
return cacheItem();
|
||||
}
|
||||
|
||||
bool cachingQueue::getCache(funcs func, quint8& val)
|
||||
//Calling function MUST call unlockMutex() once finished with data
|
||||
QMap<funcs,cacheItem> cachingQueue::getCacheItems()
|
||||
{
|
||||
QVariant variant = getCache(func);
|
||||
if (variant.isNull())
|
||||
return false;
|
||||
val=variant.toUInt();
|
||||
return true;
|
||||
mutex.lock();
|
||||
return cache;
|
||||
}
|
||||
|
||||
bool cachingQueue::getCache(funcs func, quint16& val)
|
||||
//Calling function MUST call unlockMutex() once finished with data
|
||||
QMultiMap <queuePriority,queueItem> cachingQueue::getQueueItems()
|
||||
{
|
||||
QVariant variant = getCache(func);
|
||||
if (variant.isNull())
|
||||
return false;
|
||||
val=variant.toUInt();
|
||||
return true;
|
||||
mutex.lock();
|
||||
return queue;
|
||||
}
|
||||
|
||||
bool cachingQueue::getCache(funcs func, quint32& val)
|
||||
void cachingQueue::unlockMutex()
|
||||
{
|
||||
QVariant variant = getCache(func);
|
||||
if (variant.isNull())
|
||||
return false;
|
||||
val=variant.toUInt();
|
||||
return true;
|
||||
mutex.unlock();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,14 +5,17 @@
|
|||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QMutexLocker>
|
||||
#include <QMap>
|
||||
#include <QMultiMap>
|
||||
#include <QVariant>
|
||||
#include <QQueue>
|
||||
#include <QRect>
|
||||
#include <atomic>
|
||||
#include <QWaitCondition>
|
||||
#include <QDateTime>
|
||||
|
||||
#include "wfviewtypes.h"
|
||||
|
||||
#include "rigidentities.h"
|
||||
|
||||
enum queuePriority {
|
||||
// Use prime numbers for priority, so that each queue is processed
|
||||
|
@ -31,38 +34,58 @@ struct queueItem {
|
|||
queueItem (funcs command) : type(queueCommandGet), command(command) {};
|
||||
queueItem (funcs command, QVariant param) : type(queueCommandSet), command(command), param(param) {};
|
||||
queueItem (queueItemType type, funcs command, QVariant param) : type(type), command(command), param(param) {};
|
||||
|
||||
queuePriority priority;
|
||||
queueItemType type = queueCommandNone;
|
||||
funcs command = funcNone;
|
||||
QVariant param;
|
||||
QVariant param=QVariant();
|
||||
bool recurring = false;
|
||||
};
|
||||
|
||||
struct cacheItem {
|
||||
cacheItem () {};
|
||||
cacheItem (funcs command, QVariant value) : command(command), value(value) {};
|
||||
|
||||
funcs command = funcNone;
|
||||
QDateTime req=QDateTime();
|
||||
QDateTime reply=QDateTime();
|
||||
QVariant value=QVariant();
|
||||
};
|
||||
|
||||
class cachingQueue : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
signals:
|
||||
void haveCommand(queueItemType type, funcs func, QVariant param);
|
||||
void sendValue(cacheItem item);
|
||||
|
||||
public slots:
|
||||
// Can be called directly or via emit.
|
||||
void receiveValue(funcs func, QVariant value);
|
||||
|
||||
private:
|
||||
|
||||
static cachingQueue *instance;
|
||||
|
||||
static QMutex mutex;
|
||||
|
||||
QMultiMap <queuePriority,queueItem> queue;
|
||||
QHash<funcs,QVariant> cache;
|
||||
QMap<funcs,cacheItem> cache;
|
||||
QQueue<cacheItem> items;
|
||||
|
||||
// Command to set cache value
|
||||
void setCache(funcs func, QVariant val);
|
||||
// Various commands to get cache value
|
||||
QVariant getCache(funcs func);
|
||||
bool getCache(funcs func, quint8& val);
|
||||
bool getCache(funcs func, quint16& val);
|
||||
bool getCache(funcs func, quint32& val);
|
||||
queuePriority isRecurring(funcs func);
|
||||
|
||||
|
||||
// Various other values
|
||||
std::atomic<bool> aborted=false;
|
||||
QWaitCondition waiting;
|
||||
void run();
|
||||
quint64 queueInterval=0; // Don't start the timer!
|
||||
|
||||
// Functions
|
||||
void run();
|
||||
|
||||
protected:
|
||||
cachingQueue(QObject* parent = Q_NULLPTR) : QThread(parent) {};
|
||||
~cachingQueue();
|
||||
|
@ -74,11 +97,19 @@ public:
|
|||
static cachingQueue *getInstance(QObject* parent = Q_NULLPTR);
|
||||
void message(QString msg);
|
||||
void add(queuePriority prio ,funcs func, bool recurring=false);
|
||||
void add(queuePriority,queueItem);
|
||||
void addUnique(queuePriority,queueItem);
|
||||
void add(queuePriority prio,queueItem item);
|
||||
void addUnique(queuePriority prio ,funcs func, bool recurring=false);
|
||||
void addUnique(queuePriority prio,queueItem item);
|
||||
void del(funcs func);
|
||||
void clear();
|
||||
void interval(quint64 val);
|
||||
void updateCache(bool reply, funcs func, QVariant value=QVariant());
|
||||
|
||||
cacheItem getCache(funcs func);
|
||||
|
||||
QMap<funcs,cacheItem> getCacheItems();
|
||||
QMultiMap <queuePriority,queueItem> getQueueItems();
|
||||
void unlockMutex();
|
||||
};
|
||||
|
||||
#endif // CACHINGQUEUE_H
|
||||
|
|
|
@ -0,0 +1,185 @@
|
|||
#include "debugwindow.h"
|
||||
#include "ui_debugwindow.h"
|
||||
|
||||
#include "logcategories.h"
|
||||
|
||||
debugWindow::debugWindow(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::debugWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
qDebug() << "debugWindow() Creating new window";
|
||||
queue = cachingQueue::getInstance();
|
||||
ui->cacheView->setColumnWidth(0,20);
|
||||
ui->queueView->setColumnWidth(0,20);
|
||||
ui->cacheView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
ui->queueView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
//QTimer::singleShot(100, this, &debugWindow::getCache);
|
||||
//QTimer::singleShot(300, this, &debugWindow::getQueue);
|
||||
cacheTimer.setInterval(ui->cacheInterval->text().toInt());
|
||||
queueTimer.setInterval(ui->queueInterval->text().toInt());
|
||||
connect(&cacheTimer,SIGNAL(timeout()),this,SLOT(getCache()));
|
||||
connect(&queueTimer,SIGNAL(timeout()),this,SLOT(getQueue()));
|
||||
cacheTimer.start();
|
||||
queueTimer.start();
|
||||
}
|
||||
|
||||
debugWindow::~debugWindow()
|
||||
{
|
||||
qDebug() << "debugWindow() destroying window";
|
||||
cacheTimer.stop();
|
||||
queueTimer.stop();
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void debugWindow::getCache()
|
||||
{
|
||||
QMap<funcs,cacheItem> cacheItems = queue->getCacheItems();
|
||||
ui->cacheLabel->setText(QString("Current cache items in cachingView(%0)").arg(cacheItems.size()));
|
||||
int c=0;
|
||||
QMap<funcs,cacheItem>::const_iterator i = cacheItems.constBegin();
|
||||
while (i != cacheItems.constEnd())
|
||||
{
|
||||
if (c >= ui->cacheView->rowCount())
|
||||
{
|
||||
ui->cacheView->insertRow(ui->cacheView->rowCount());
|
||||
for (int j=0;j< ui->cacheView->columnCount();j++)
|
||||
{
|
||||
ui->cacheView->setItem(c,j,new QTableWidgetItem());
|
||||
}
|
||||
}
|
||||
//QString::number(i.value().command).rightJustified(3,'0'));
|
||||
ui->cacheView->item(c,0)->setText(QString::number(i.value().command).rightJustified(3,'0'));
|
||||
ui->cacheView->item(c,1)->setText(funcString[i.value().command]);
|
||||
ui->cacheView->item(c,2)->setText(getValue(i.value().value));
|
||||
ui->cacheView->item(c,3)->setText((i.value().req.isValid()?i.value().req.toString("hh:mm:ss.zzz"):"<none>"));
|
||||
ui->cacheView->item(c,4)->setText((i.value().reply.isValid()?i.value().reply.toString("hh:mm:ss.zzz"):"<none>"));
|
||||
c++;
|
||||
i++;
|
||||
}
|
||||
if (ui->cacheView->rowCount() > c)
|
||||
ui->cacheView->model()->removeRows(c,ui->cacheView->rowCount());
|
||||
queue->unlockMutex();
|
||||
}
|
||||
|
||||
void debugWindow::getQueue()
|
||||
{
|
||||
QMultiMap <queuePriority,queueItem> queueItems = queue->getQueueItems();
|
||||
ui->queueLabel->setText(QString("Current queue items in cachingView(%0)").arg(queueItems.size()));
|
||||
int c=0;
|
||||
QMultiMap<queuePriority,queueItem>::const_iterator i = queueItems.constBegin();
|
||||
while (i != queueItems.constEnd())
|
||||
{
|
||||
if (c >= ui->queueView->rowCount())
|
||||
{
|
||||
ui->queueView->insertRow(ui->queueView->rowCount());
|
||||
for (int j=0;j< ui->queueView->columnCount();j++)
|
||||
{
|
||||
ui->queueView->setItem(c,j,new QTableWidgetItem());
|
||||
}
|
||||
|
||||
}
|
||||
ui->queueView->item(c,0)->setText(QString::number(i.value().command).rightJustified(3,'0'));
|
||||
ui->queueView->item(c,1)->setText(funcString[i.value().command]);
|
||||
ui->queueView->item(c,2)->setText(QString::number(i.key()));
|
||||
ui->queueView->item(c,3)->setText((i.value().param.isValid()?"Set":"Get"));
|
||||
ui->queueView->item(c,4)->setText(getValue(i.value().param));
|
||||
ui->queueView->item(c,5)->setText((i.value().recurring?"True":"False"));
|
||||
c++;
|
||||
i++;
|
||||
}
|
||||
ui->queueView->model()->removeRows(c,ui->queueView->rowCount());
|
||||
queue->unlockMutex();
|
||||
}
|
||||
|
||||
|
||||
QString debugWindow::getValue(QVariant val)
|
||||
{
|
||||
QString value="";
|
||||
if (val.isValid()) {
|
||||
if (!strcmp(val.typeName(),"bool"))
|
||||
{
|
||||
value = (val.value<bool>()?"True":"False");
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"uchar"))
|
||||
{
|
||||
value = QString("uchar: %0").arg(val.value<uchar>());
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"ushort"))
|
||||
{
|
||||
value = QString("ushort: %0").arg(val.value<ushort>());
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"short"))
|
||||
{
|
||||
value = QString("short: %0").arg(val.value<short>());
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"uint"))
|
||||
{
|
||||
value = QString("Gr: %0 Me: %1").arg(val.value<uint>() >> 16 & 0xffff).arg(val.value<uint>() & 0xffff);
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"mode_info"))
|
||||
{
|
||||
mode_info mi = val.value<mode_info>();
|
||||
value = QString("%0(V:%1) D:%2 F%3").arg(mi.name).arg(mi.VFO).arg(mi.data).arg(mi.filter);
|
||||
}
|
||||
else if(!strcmp(val.typeName(),"freqt"))
|
||||
{
|
||||
freqt f = val.value<freqt>();
|
||||
value = QString("(V:%0) %1 Mhz").arg(f.VFO).arg(f.MHzDouble);
|
||||
}
|
||||
else if(!strcmp(val.typeName(),"scopeData"))
|
||||
{
|
||||
scopeData s = val.value<scopeData>();
|
||||
value = QString("(V:%0) %1").arg(s.mainSub).arg((s.valid?"Valid":"Invalid"));
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"antennaInfo"))
|
||||
{
|
||||
antennaInfo a = val.value<antennaInfo>();
|
||||
value = QString("Ant: %0 RX: %1").arg(a.antenna).arg(a.rx);
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"memoryType"))
|
||||
{
|
||||
memoryType m = val.value<memoryType>();
|
||||
value = QString("Mem:%0 G:%1 %2").arg(m.name).arg(m.group).arg(m.channel);
|
||||
}
|
||||
else if (!strcmp(val.typeName(),"rigInput"))
|
||||
{
|
||||
rigInput i = val.value<rigInput>();
|
||||
value = QString("Input:%0 R:%1 (%2)").arg(i.name).arg(i.reg).arg(i.type);
|
||||
}
|
||||
else
|
||||
{
|
||||
value = QString("%0: <nosup>").arg(val.typeName());
|
||||
}
|
||||
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
void debugWindow::on_cachePause_clicked(bool checked)
|
||||
{
|
||||
if (checked)
|
||||
cacheTimer.stop();
|
||||
else
|
||||
cacheTimer.start();
|
||||
}
|
||||
|
||||
void debugWindow::on_queuePause_clicked(bool checked)
|
||||
{
|
||||
if (checked)
|
||||
queueTimer.stop();
|
||||
else
|
||||
queueTimer.start();
|
||||
}
|
||||
|
||||
|
||||
void debugWindow::on_cacheInterval_textChanged(QString text)
|
||||
{
|
||||
cacheTimer.setInterval(text.toInt());
|
||||
}
|
||||
|
||||
void debugWindow::on_queueInterval_textChanged(QString text)
|
||||
{
|
||||
queueTimer.setInterval(text.toInt());
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
#ifndef DEBUGWINDOW_H
|
||||
#define DEBUGWINDOW_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QDebug>
|
||||
#include <QMap>
|
||||
#include <QMultiMap>
|
||||
#include <QQueue>
|
||||
#include <QTimer>
|
||||
|
||||
#include "cachingqueue.h"
|
||||
|
||||
namespace Ui {
|
||||
class debugWindow;
|
||||
}
|
||||
|
||||
class debugWindow : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void getCache();
|
||||
void getQueue();
|
||||
void on_cachePause_clicked(bool checked);
|
||||
void on_queuePause_clicked(bool checked);
|
||||
void on_cacheInterval_textChanged(QString text);
|
||||
void on_queueInterval_textChanged(QString text);
|
||||
|
||||
public:
|
||||
explicit debugWindow(QWidget *parent = nullptr);
|
||||
~debugWindow();
|
||||
|
||||
private:
|
||||
Ui::debugWindow *ui;
|
||||
cachingQueue* queue = Q_NULLPTR;
|
||||
QMultiMap <queuePriority,queueItem> queueItems;
|
||||
QMap<funcs,cacheItem> cacheItems;
|
||||
QString getValue(QVariant val);
|
||||
QTimer cacheTimer;
|
||||
QTimer queueTimer;
|
||||
};
|
||||
|
||||
#endif // DEBUGWINDOW_H
|
|
@ -0,0 +1,280 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>debugWindow</class>
|
||||
<widget class="QDialog" name="debugWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>896</width>
|
||||
<height>575</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="cacheLabel">
|
||||
<property name="text">
|
||||
<string>Current cache items in cachingView()</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="queueLabel">
|
||||
<property name="text">
|
||||
<string>Current queue items in cachingView()</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="cacheView">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>95</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderStretchLastSection">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderShowSortIndicator" stdset="0">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>ID</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Function</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Value</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Request</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Reply</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="queueView">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>80</number>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>ID</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Function</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Priority</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Get/Set</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Value</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Recurring</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cachePause">
|
||||
<property name="text">
|
||||
<string>Pause refresh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Refresh Interval (ms)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="cacheInterval">
|
||||
<property name="inputMask">
|
||||
<string>99999</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>500</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="queuePause">
|
||||
<property name="text">
|
||||
<string>Pause refresh</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Refresh Interval (ms)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="queueInterval">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="inputMask">
|
||||
<string>99999</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1000</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>debugWindow</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>debugWindow</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
1251
rigcommander.cpp
1251
rigcommander.cpp
Plik diff jest za duży
Load Diff
|
@ -169,7 +169,6 @@ public slots:
|
|||
void setMemoryMode();
|
||||
void getMemory(quint32 mem);
|
||||
void getSatMemory(quint32 mem);
|
||||
void setMemory(memoryType mem);
|
||||
void clearMemory(quint32 mem);
|
||||
void recallMemory(quint32 mem);
|
||||
|
||||
|
@ -179,8 +178,8 @@ public slots:
|
|||
void getAfGain();
|
||||
void getSql();
|
||||
void getIFShift();
|
||||
void getTPBFInner();
|
||||
void getTPBFOuter();
|
||||
void getPBTInner();
|
||||
void getPBTOuter();
|
||||
void getTxLevel();
|
||||
void getMicGain();
|
||||
void getCompLevel();
|
||||
|
@ -201,8 +200,8 @@ public slots:
|
|||
void setRfGain(unsigned char level);
|
||||
void setAfGain(unsigned char level);
|
||||
void setIFShift(unsigned char level);
|
||||
void setTPBFInner(unsigned char level);
|
||||
void setTPBFOuter(unsigned char level);
|
||||
void setPBTInner(unsigned char level);
|
||||
void setPBTOuter(unsigned char level);
|
||||
void setTxPower(unsigned char power);
|
||||
void setMicGain(unsigned char gain);
|
||||
void setUSBGain(unsigned char gain);
|
||||
|
@ -348,8 +347,8 @@ signals:
|
|||
void haveRfGain(unsigned char level);
|
||||
void haveAfGain(unsigned char level);
|
||||
void haveSql(unsigned char level);
|
||||
void haveTPBFInner(unsigned char level);
|
||||
void haveTPBFOuter(unsigned char level);
|
||||
void havePBTInner(unsigned char level);
|
||||
void havePBTOuter(unsigned char level);
|
||||
void haveIFShift(unsigned char level);
|
||||
void haveTxPower(unsigned char level);
|
||||
void haveMicGain(unsigned char level);
|
||||
|
@ -408,6 +407,7 @@ signals:
|
|||
void selectedRadio(quint8 radio);
|
||||
void getMoreDebug();
|
||||
void finished();
|
||||
void haveReceivedValue(funcs func, QVariant value);
|
||||
|
||||
private:
|
||||
void commonSetup();
|
||||
|
@ -419,18 +419,20 @@ private:
|
|||
unsigned int bcdHexToUInt(unsigned char hundreds, unsigned char tensunits);
|
||||
QByteArray bcdEncodeChar(unsigned char num);
|
||||
QByteArray bcdEncodeInt(unsigned int);
|
||||
void parseFrequency();
|
||||
QByteArray setMemory(memoryType mem);
|
||||
freqt parseFrequency();
|
||||
freqt parseFrequency(QByteArray data, unsigned char lastPosition); // supply index where Mhz is found
|
||||
quint64 parseFreqDataToInt(QByteArray data);
|
||||
freqt parseFrequencyRptOffset(QByteArray data);
|
||||
bool parseMemory(QVector<memParserFormat>* memParser, memoryType* mem);
|
||||
QByteArray makeFreqPayloadRptOffset(freqt freq);
|
||||
QByteArray makeFreqPayload(double frequency);
|
||||
QByteArray makeFreqPayload(freqt freq);
|
||||
QByteArray encodeTone(quint16 tone, bool tinv, bool rinv);
|
||||
QByteArray encodeTone(quint16 tone);
|
||||
unsigned char convertNumberToHex(unsigned char num);
|
||||
quint16 decodeTone(QByteArray eTone);
|
||||
quint16 decodeTone(QByteArray eTone, bool &tinv, bool &rinv);
|
||||
toneInfo decodeTone(QByteArray eTone);
|
||||
//quint16 decodeTone(QByteArray eTone, bool &tinv, bool &rinv);
|
||||
uchar makeFilterWidth(ushort width);
|
||||
|
||||
|
||||
|
@ -439,8 +441,8 @@ private:
|
|||
unsigned char audioLevelTxMean[50];
|
||||
unsigned char audioLevelTxPeak[50];
|
||||
|
||||
void parseMode(quint8 mode, quint8 filter);
|
||||
void parseSpectrum();
|
||||
mode_info parseMode(quint8 mode, quint8 filter);
|
||||
bool parseSpectrum(scopeData& d);
|
||||
void parseWFData();
|
||||
void parseSpectrumRefLevel();
|
||||
void parseDetailedRegisters1A05();
|
||||
|
|
|
@ -166,9 +166,9 @@ void rigCreator::loadRigFile(QString file)
|
|||
{
|
||||
settings->setArrayIndex(c);
|
||||
ui->inputs->insertRow(ui->inputs->rowCount());
|
||||
ui->inputs->model()->setData(ui->inputs->model()->index(c,0),QString::number(settings->value("Num", 0).toUInt(),16).rightJustified(2,'0'));
|
||||
ui->inputs->model()->setData(ui->inputs->model()->index(c,1),settings->value("Name", "").toString());
|
||||
|
||||
ui->inputs->model()->setData(ui->inputs->model()->index(c,0),QString::number(settings->value("Num", 0).toUInt()).rightJustified(2,'0'));
|
||||
ui->inputs->model()->setData(ui->inputs->model()->index(c,1),QString::number(settings->value("Reg", 0).toUInt(),16).rightJustified(2,'0'));
|
||||
ui->inputs->model()->setData(ui->inputs->model()->index(c,2),settings->value("Name", "").toString());
|
||||
}
|
||||
settings->endArray();
|
||||
}
|
||||
|
@ -395,8 +395,9 @@ void rigCreator::saveRigFile(QString file)
|
|||
for (int n = 0; n<ui->inputs->rowCount();n++)
|
||||
{
|
||||
settings->setArrayIndex(n);
|
||||
settings->setValue("Num", (ui->inputs->item(n,0) == NULL) ? 0 : ui->inputs->item(n,0)->text().toUInt(nullptr,16));
|
||||
settings->setValue("Name", (ui->inputs->item(n,1) == NULL) ? "" : ui->inputs->item(n,1)->text());
|
||||
settings->setValue("Num", (ui->inputs->item(n,0) == NULL) ? 0 : ui->inputs->item(n,0)->text().toUInt());
|
||||
settings->setValue("Reg", (ui->inputs->item(n,1) == NULL) ? 0 : ui->inputs->item(n,1)->text().toUInt(nullptr,16));
|
||||
settings->setValue("Name", (ui->inputs->item(n,2) == NULL) ? "" : ui->inputs->item(n,2)->text());
|
||||
}
|
||||
settings->endArray();
|
||||
|
||||
|
@ -496,13 +497,15 @@ QStandardItemModel* rigCreator::createModel(QStandardItemModel* model, QString s
|
|||
|
||||
for (int i=0; i < NUMFUNCS;i++)
|
||||
{
|
||||
QStandardItem *itemName = new QStandardItem(strings[i]);
|
||||
QStandardItem *itemId = new QStandardItem(i);
|
||||
if (!strings[i].startsWith('-')) {
|
||||
QStandardItem *itemName = new QStandardItem(strings[i]);
|
||||
QStandardItem *itemId = new QStandardItem(i);
|
||||
|
||||
QList<QStandardItem*> row;
|
||||
row << itemName << itemId;
|
||||
QList<QStandardItem*> row;
|
||||
row << itemName << itemId;
|
||||
|
||||
model->appendRow(row);
|
||||
model->appendRow(row);
|
||||
}
|
||||
}
|
||||
|
||||
return model;
|
||||
|
|
|
@ -287,7 +287,7 @@
|
|||
<rect>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<width>151</width>
|
||||
<width>191</width>
|
||||
<height>171</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -299,7 +299,7 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>30</y>
|
||||
<width>151</width>
|
||||
<width>191</width>
|
||||
<height>141</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -322,13 +322,13 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>2</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>0</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>60</number>
|
||||
<number>56</number>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
|
@ -344,6 +344,11 @@
|
|||
<string>Num</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Reg</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
|
@ -514,9 +519,9 @@
|
|||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<x>210</x>
|
||||
<y>50</y>
|
||||
<width>261</width>
|
||||
<width>221</width>
|
||||
<height>171</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -528,7 +533,7 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>30</y>
|
||||
<width>261</width>
|
||||
<width>221</width>
|
||||
<height>141</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -554,7 +559,7 @@
|
|||
<number>0</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>60</number>
|
||||
<number>50</number>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
|
|
|
@ -50,13 +50,16 @@ enum model_kind {
|
|||
|
||||
|
||||
enum inputTypes{ inputMic=0,
|
||||
inputACC=1,
|
||||
inputMICACC=2,
|
||||
inputACCA=1,
|
||||
inputACCB=2,
|
||||
inputUSB=3,
|
||||
inputMICUSB=4,
|
||||
inputLAN=5,
|
||||
inputACCA=6,
|
||||
inputACCB=7,
|
||||
inputLAN=4,
|
||||
inputMICACCA=5,
|
||||
inputMICACCB=6,
|
||||
inputACCAACCB=7,
|
||||
inputMICACCAACCB=8,
|
||||
inputSPDIF=9,
|
||||
inputMICUSB=10,
|
||||
inputNone,
|
||||
inputUnknown=0xff
|
||||
};
|
||||
|
@ -64,9 +67,11 @@ enum inputTypes{ inputMic=0,
|
|||
struct rigInput {
|
||||
rigInput() {}
|
||||
rigInput(inputTypes type) : type(type) {}
|
||||
rigInput(inputTypes type, QString name) : type(type), name(name) {}
|
||||
inputTypes type = inputNone;
|
||||
rigInput(inputTypes type, uchar reg, QString name) : type(type), reg(reg), name(name) {}
|
||||
inputTypes type = inputUnknown;
|
||||
uchar reg = 0;
|
||||
QString name = "";
|
||||
uchar level = 0;
|
||||
};
|
||||
|
||||
|
||||
|
|
226
rigs/IC-705.rig
226
rigs/IC-705.rig
|
@ -524,131 +524,131 @@ Inputs\3\Name=M/U
|
|||
Inputs\4\Num=3
|
||||
Inputs\4\Name=WLAN
|
||||
Inputs\size=4
|
||||
Bands\1\Num=23
|
||||
Bands\1\BSR=15
|
||||
Bands\1\Name=60m
|
||||
Bands\1\Start=5250000
|
||||
Bands\1\End=5450000
|
||||
Bands\1\Range=0
|
||||
Bands\1\Num=20
|
||||
Bands\1\BSR=1
|
||||
Bands\1\Name=160m
|
||||
Bands\1\Start=1800000
|
||||
Bands\1\End=2000000
|
||||
Bands\1\Range=2
|
||||
Bands\1\MemoryGroup=-1
|
||||
Bands\2\Num=22
|
||||
Bands\2\BSR=15
|
||||
Bands\2\Name=Gen
|
||||
Bands\2\Start=10000
|
||||
Bands\2\End=30000000
|
||||
Bands\2\Range=1.6
|
||||
Bands\2\Num=19
|
||||
Bands\2\BSR=2
|
||||
Bands\2\Name=80m
|
||||
Bands\2\Start=3500000
|
||||
Bands\2\End=4000000
|
||||
Bands\2\Range=6
|
||||
Bands\2\MemoryGroup=-1
|
||||
Bands\3\Num=21
|
||||
Bands\3\BSR=15
|
||||
Bands\3\Name=2200m
|
||||
Bands\3\Start=135000
|
||||
Bands\3\End=138000
|
||||
Bands\3\Range=0
|
||||
Bands\3\Num=17
|
||||
Bands\3\BSR=3
|
||||
Bands\3\Name=40m
|
||||
Bands\3\Start=7000000
|
||||
Bands\3\End=7300000
|
||||
Bands\3\Range=11
|
||||
Bands\3\MemoryGroup=-1
|
||||
Bands\4\Num=20
|
||||
Bands\4\BSR=1
|
||||
Bands\4\Name=160m
|
||||
Bands\4\Start=1800000
|
||||
Bands\4\End=2000000
|
||||
Bands\4\Range=2
|
||||
Bands\4\Num=16
|
||||
Bands\4\BSR=4
|
||||
Bands\4\Name=30m
|
||||
Bands\4\Start=10100000
|
||||
Bands\4\End=10150000
|
||||
Bands\4\Range=15
|
||||
Bands\4\MemoryGroup=-1
|
||||
Bands\5\Num=19
|
||||
Bands\5\BSR=2
|
||||
Bands\5\Name=80m
|
||||
Bands\5\Start=3500000
|
||||
Bands\5\End=4000000
|
||||
Bands\5\Range=6
|
||||
Bands\5\Num=15
|
||||
Bands\5\BSR=5
|
||||
Bands\5\Name=20m
|
||||
Bands\5\Start=14000000
|
||||
Bands\5\End=14350000
|
||||
Bands\5\Range=20
|
||||
Bands\5\MemoryGroup=-1
|
||||
Bands\6\Num=18
|
||||
Bands\6\BSR=15
|
||||
Bands\6\Name=630m
|
||||
Bands\6\Start=493000
|
||||
Bands\6\End=595000
|
||||
Bands\6\Range=8
|
||||
Bands\6\Num=14
|
||||
Bands\6\BSR=6
|
||||
Bands\6\Name=17m
|
||||
Bands\6\Start=18068000
|
||||
Bands\6\End=18168000
|
||||
Bands\6\Range=22
|
||||
Bands\6\MemoryGroup=-1
|
||||
Bands\7\Num=17
|
||||
Bands\7\BSR=3
|
||||
Bands\7\Name=40m
|
||||
Bands\7\Start=7000000
|
||||
Bands\7\End=7300000
|
||||
Bands\7\Range=11
|
||||
Bands\7\Num=13
|
||||
Bands\7\BSR=7
|
||||
Bands\7\Name=15m
|
||||
Bands\7\Start=21000000
|
||||
Bands\7\End=21450000
|
||||
Bands\7\Range=26
|
||||
Bands\7\MemoryGroup=-1
|
||||
Bands\8\Num=16
|
||||
Bands\8\BSR=4
|
||||
Bands\8\Name=30m
|
||||
Bands\8\Start=10100000
|
||||
Bands\8\End=10150000
|
||||
Bands\8\Range=15
|
||||
Bands\8\Num=12
|
||||
Bands\8\BSR=8
|
||||
Bands\8\Name=12m
|
||||
Bands\8\Start=24890000
|
||||
Bands\8\End=24990000
|
||||
Bands\8\Range=30
|
||||
Bands\8\MemoryGroup=-1
|
||||
Bands\9\Num=15
|
||||
Bands\9\BSR=5
|
||||
Bands\9\Name=20m
|
||||
Bands\9\Start=14000000
|
||||
Bands\9\End=14350000
|
||||
Bands\9\Range=20
|
||||
Bands\9\Num=11
|
||||
Bands\9\BSR=9
|
||||
Bands\9\Name=10m
|
||||
Bands\9\Start=28000000
|
||||
Bands\9\End=29700000
|
||||
Bands\9\Range=45
|
||||
Bands\9\MemoryGroup=-1
|
||||
Bands\10\Num=14
|
||||
Bands\10\BSR=6
|
||||
Bands\10\Name=17m
|
||||
Bands\10\Start=18068000
|
||||
Bands\10\End=18168000
|
||||
Bands\10\Range=22
|
||||
Bands\10\Num=10
|
||||
Bands\10\BSR=16
|
||||
Bands\10\Name=6m
|
||||
Bands\10\Start=50000000
|
||||
Bands\10\End=54000000
|
||||
Bands\10\Range=60
|
||||
Bands\10\MemoryGroup=-1
|
||||
Bands\11\Num=13
|
||||
Bands\11\BSR=7
|
||||
Bands\11\Name=15m
|
||||
Bands\11\Start=21000000
|
||||
Bands\11\End=21450000
|
||||
Bands\11\Range=26
|
||||
Bands\11\Num=8
|
||||
Bands\11\BSR=17
|
||||
Bands\11\Name=WFM
|
||||
Bands\11\Start=74800000
|
||||
Bands\11\End=74800000
|
||||
Bands\11\Range=108
|
||||
Bands\11\MemoryGroup=-1
|
||||
Bands\12\Num=12
|
||||
Bands\12\BSR=8
|
||||
Bands\12\Name=12m
|
||||
Bands\12\Start=24890000
|
||||
Bands\12\End=24990000
|
||||
Bands\12\Range=30
|
||||
Bands\12\Num=7
|
||||
Bands\12\BSR=18
|
||||
Bands\12\Name=Air
|
||||
Bands\12\Start=108000000
|
||||
Bands\12\End=0
|
||||
Bands\12\Range=137
|
||||
Bands\12\MemoryGroup=-1
|
||||
Bands\13\Num=11
|
||||
Bands\13\BSR=9
|
||||
Bands\13\Name=10m
|
||||
Bands\13\Start=28000000
|
||||
Bands\13\End=29700000
|
||||
Bands\13\Range=45
|
||||
Bands\13\Num=6
|
||||
Bands\13\BSR=19
|
||||
Bands\13\Name=2m
|
||||
Bands\13\Start=144000000
|
||||
Bands\13\End=148000000
|
||||
Bands\13\Range=148
|
||||
Bands\13\MemoryGroup=-1
|
||||
Bands\14\Num=10
|
||||
Bands\14\BSR=10
|
||||
Bands\14\Name=6m
|
||||
Bands\14\Start=50000000
|
||||
Bands\14\End=54000000
|
||||
Bands\14\Range=60
|
||||
Bands\14\Num=5
|
||||
Bands\14\BSR=20
|
||||
Bands\14\Name=70cm
|
||||
Bands\14\Start=420000000
|
||||
Bands\14\End=450000000
|
||||
Bands\14\Range=450
|
||||
Bands\14\MemoryGroup=-1
|
||||
Bands\15\Num=8
|
||||
Bands\15\BSR=11
|
||||
Bands\15\Name=WFM
|
||||
Bands\15\Start=74800000
|
||||
Bands\15\End=74800000
|
||||
Bands\15\Range=108
|
||||
Bands\15\Num=18
|
||||
Bands\15\BSR=21
|
||||
Bands\15\Name=630m
|
||||
Bands\15\Start=493000
|
||||
Bands\15\End=595000
|
||||
Bands\15\Range=8
|
||||
Bands\15\MemoryGroup=-1
|
||||
Bands\16\Num=7
|
||||
Bands\16\BSR=12
|
||||
Bands\16\Name=Air
|
||||
Bands\16\Start=108000000
|
||||
Bands\16\End=0
|
||||
Bands\16\Range=137
|
||||
Bands\16\Num=21
|
||||
Bands\16\BSR=21
|
||||
Bands\16\Name=2200m
|
||||
Bands\16\Start=135000
|
||||
Bands\16\End=138000
|
||||
Bands\16\Range=0
|
||||
Bands\16\MemoryGroup=-1
|
||||
Bands\17\Num=6
|
||||
Bands\17\BSR=13
|
||||
Bands\17\Name=2m
|
||||
Bands\17\Start=144000000
|
||||
Bands\17\End=148000000
|
||||
Bands\17\Range=148
|
||||
Bands\17\Num=22
|
||||
Bands\17\BSR=21
|
||||
Bands\17\Name=Gen
|
||||
Bands\17\Start=10000
|
||||
Bands\17\End=30000000
|
||||
Bands\17\Range=1.6
|
||||
Bands\17\MemoryGroup=-1
|
||||
Bands\18\Num=5
|
||||
Bands\18\BSR=14
|
||||
Bands\18\Name=70cm
|
||||
Bands\18\Start=420000000
|
||||
Bands\18\End=450000000
|
||||
Bands\18\Range=450
|
||||
Bands\18\Num=23
|
||||
Bands\18\BSR=21
|
||||
Bands\18\Name=60m
|
||||
Bands\18\Start=5250000
|
||||
Bands\18\End=5450000
|
||||
Bands\18\Range=0
|
||||
Bands\18\MemoryGroup=-1
|
||||
Bands\size=18
|
||||
Modes\1\Num=0
|
||||
|
@ -688,7 +688,7 @@ Modes\9\Reg=8
|
|||
Modes\9\Name=RTTY-R
|
||||
Modes\9\BW=1
|
||||
Modes\10\Num=12
|
||||
Modes\10\Reg=17
|
||||
Modes\10\Reg=23
|
||||
Modes\10\Name=DV
|
||||
Modes\10\BW=1
|
||||
Modes\size=10
|
||||
|
@ -742,16 +742,16 @@ Tuning%20Steps\12\Hz=10000
|
|||
Tuning%20Steps\13\Num=9
|
||||
Tuning%20Steps\13\Name=12.5 KHz
|
||||
Tuning%20Steps\13\Hz=12500
|
||||
Tuning%20Steps\14\Num=10
|
||||
Tuning%20Steps\14\Num=16
|
||||
Tuning%20Steps\14\Name=20 KHz
|
||||
Tuning%20Steps\14\Hz=20000
|
||||
Tuning%20Steps\15\Num=11
|
||||
Tuning%20Steps\15\Num=17
|
||||
Tuning%20Steps\15\Name=25 KHz
|
||||
Tuning%20Steps\15\Hz=25000
|
||||
Tuning%20Steps\16\Num=12
|
||||
Tuning%20Steps\16\Num=18
|
||||
Tuning%20Steps\16\Name=50 Khz
|
||||
Tuning%20Steps\16\Hz=50000
|
||||
Tuning%20Steps\17\Num=13
|
||||
Tuning%20Steps\17\Num=19
|
||||
Tuning%20Steps\17\Name=100 Khz
|
||||
Tuning%20Steps\17\Hz=100000
|
||||
Tuning%20Steps\18\Num=0
|
||||
|
|
242
rigs/IC-7100.rig
242
rigs/IC-7100.rig
|
@ -80,11 +80,11 @@ Commands\14\Max=12
|
|||
Commands\15\Type=Tuning Step
|
||||
Commands\15\String=\\x10
|
||||
Commands\15\Min=0
|
||||
Commands\15\Max=8
|
||||
Commands\15\Max=18
|
||||
Commands\16\Type=Attenuator Status
|
||||
Commands\16\String=\\x11
|
||||
Commands\16\Min=0
|
||||
Commands\16\Max=18
|
||||
Commands\16\Max=32
|
||||
Commands\17\Type=Speech
|
||||
Commands\17\String=\\x13
|
||||
Commands\17\Min=0
|
||||
|
@ -269,31 +269,43 @@ Commands\62\Type=RIT Frequency
|
|||
Commands\62\String=\\x21\\x01
|
||||
Commands\62\Min=0
|
||||
Commands\62\Max=1
|
||||
Commands\63\Type=Main/Sub Freq
|
||||
Commands\63\String=\\x25
|
||||
Commands\63\Type=Selected Freq
|
||||
Commands\63\String=\\x25\\x00
|
||||
Commands\63\Min=0
|
||||
Commands\63\Max=1
|
||||
Commands\64\Type=Main/Sub Mode
|
||||
Commands\64\String=\\x26
|
||||
Commands\63\Max=0
|
||||
Commands\64\Type=Unselected Freq
|
||||
Commands\64\String=\\x25\\x01
|
||||
Commands\64\Min=0
|
||||
Commands\64\Max=1
|
||||
Commands\65\Type=Command Error FA
|
||||
Commands\65\String=\\xfa
|
||||
Commands\64\Max=0
|
||||
Commands\65\Type=Selected Mode
|
||||
Commands\65\String=\\x26\\x00
|
||||
Commands\65\Min=0
|
||||
Commands\65\Max=0
|
||||
Commands\66\Type=Command OK FB
|
||||
Commands\66\String=\\xfb
|
||||
Commands\66\Type=Unselected Mode
|
||||
Commands\66\String=\\x26\\x01
|
||||
Commands\66\Min=0
|
||||
Commands\66\Max=0
|
||||
Commands\size=66
|
||||
Commands\67\Type=Command Error FA
|
||||
Commands\67\String=\\xfa
|
||||
Commands\67\Min=0
|
||||
Commands\67\Max=0
|
||||
Commands\68\Type=Command OK FB
|
||||
Commands\68\String=\\xfb
|
||||
Commands\68\Min=0
|
||||
Commands\68\Max=0
|
||||
Commands\size=68
|
||||
Spans\size=0
|
||||
Inputs\1\Num=0
|
||||
Inputs\1\Reg=0
|
||||
Inputs\1\Name=MIC
|
||||
Inputs\2\Num=1
|
||||
Inputs\2\Reg=0
|
||||
Inputs\2\Name=ACC
|
||||
Inputs\3\Num=2
|
||||
Inputs\3\Reg=0
|
||||
Inputs\3\Name=MIC/ACC
|
||||
Inputs\4\Num=3
|
||||
Inputs\4\Reg=0
|
||||
Inputs\4\Name=USB
|
||||
Inputs\size=4
|
||||
Bands\1\Num=20
|
||||
|
@ -303,117 +315,117 @@ Bands\1\Start=1800000
|
|||
Bands\1\End=2000000
|
||||
Bands\1\Range=2
|
||||
Bands\1\MemoryGroup=-1
|
||||
Bands\2\Num=10
|
||||
Bands\2\BSR=10
|
||||
Bands\2\Name=6m
|
||||
Bands\2\Start=50000000
|
||||
Bands\2\End=54000000
|
||||
Bands\2\Range=60
|
||||
Bands\2\Num=19
|
||||
Bands\2\BSR=2
|
||||
Bands\2\Name=80m
|
||||
Bands\2\Start=3500000
|
||||
Bands\2\End=4000000
|
||||
Bands\2\Range=6
|
||||
Bands\2\MemoryGroup=-1
|
||||
Bands\3\Num=6
|
||||
Bands\3\BSR=11
|
||||
Bands\3\Name=2m
|
||||
Bands\3\Start=144000000
|
||||
Bands\3\End=148000000
|
||||
Bands\3\Range=148
|
||||
Bands\3\Num=17
|
||||
Bands\3\BSR=3
|
||||
Bands\3\Name=40m
|
||||
Bands\3\Start=7000000
|
||||
Bands\3\End=7300000
|
||||
Bands\3\Range=11
|
||||
Bands\3\MemoryGroup=-1
|
||||
Bands\4\Num=5
|
||||
Bands\4\BSR=12
|
||||
Bands\4\Name=70cm
|
||||
Bands\4\Start=430000000
|
||||
Bands\4\End=450000000
|
||||
Bands\4\Range=450
|
||||
Bands\4\Num=16
|
||||
Bands\4\BSR=4
|
||||
Bands\4\Name=30m
|
||||
Bands\4\Start=10100000
|
||||
Bands\4\End=10150000
|
||||
Bands\4\Range=15
|
||||
Bands\4\MemoryGroup=-1
|
||||
Bands\5\Num=23
|
||||
Bands\5\BSR=13
|
||||
Bands\5\Name=Gen
|
||||
Bands\5\Start=10000
|
||||
Bands\5\End=30000000
|
||||
Bands\5\Range=1.6
|
||||
Bands\5\Num=15
|
||||
Bands\5\BSR=5
|
||||
Bands\5\Name=20m
|
||||
Bands\5\Start=14000000
|
||||
Bands\5\End=14350000
|
||||
Bands\5\Range=20
|
||||
Bands\5\MemoryGroup=-1
|
||||
Bands\6\Num=9
|
||||
Bands\6\BSR=13
|
||||
Bands\6\Name=4m
|
||||
Bands\6\Start=70000000
|
||||
Bands\6\End=70500000
|
||||
Bands\6\Range=0
|
||||
Bands\6\Num=14
|
||||
Bands\6\BSR=6
|
||||
Bands\6\Name=17m
|
||||
Bands\6\Start=18068000
|
||||
Bands\6\End=18168000
|
||||
Bands\6\Range=22
|
||||
Bands\6\MemoryGroup=-1
|
||||
Bands\7\Num=18
|
||||
Bands\7\BSR=13
|
||||
Bands\7\Name=60m
|
||||
Bands\7\Start=5250000
|
||||
Bands\7\End=5450000
|
||||
Bands\7\Range=0
|
||||
Bands\7\Num=13
|
||||
Bands\7\BSR=7
|
||||
Bands\7\Name=15m
|
||||
Bands\7\Start=21000000
|
||||
Bands\7\End=21450000
|
||||
Bands\7\Range=26
|
||||
Bands\7\MemoryGroup=-1
|
||||
Bands\8\Num=21
|
||||
Bands\8\BSR=13
|
||||
Bands\8\Name=630m
|
||||
Bands\8\Start=493000
|
||||
Bands\8\End=595000
|
||||
Bands\8\Range=8
|
||||
Bands\8\Num=12
|
||||
Bands\8\BSR=8
|
||||
Bands\8\Name=12m
|
||||
Bands\8\Start=24890000
|
||||
Bands\8\End=24990000
|
||||
Bands\8\Range=30
|
||||
Bands\8\MemoryGroup=-1
|
||||
Bands\9\Num=22
|
||||
Bands\9\BSR=13
|
||||
Bands\9\Name=2200m
|
||||
Bands\9\Start=135000
|
||||
Bands\9\End=138000
|
||||
Bands\9\Range=0
|
||||
Bands\9\Num=11
|
||||
Bands\9\BSR=9
|
||||
Bands\9\Name=10m
|
||||
Bands\9\Start=28000000
|
||||
Bands\9\End=29700000
|
||||
Bands\9\Range=45
|
||||
Bands\9\MemoryGroup=-1
|
||||
Bands\10\Num=19
|
||||
Bands\10\BSR=2
|
||||
Bands\10\Name=80m
|
||||
Bands\10\Start=3500000
|
||||
Bands\10\End=4000000
|
||||
Bands\10\Range=6
|
||||
Bands\10\Num=10
|
||||
Bands\10\BSR=16
|
||||
Bands\10\Name=6m
|
||||
Bands\10\Start=50000000
|
||||
Bands\10\End=54000000
|
||||
Bands\10\Range=60
|
||||
Bands\10\MemoryGroup=-1
|
||||
Bands\11\Num=17
|
||||
Bands\11\BSR=3
|
||||
Bands\11\Name=40m
|
||||
Bands\11\Start=7000000
|
||||
Bands\11\End=7300000
|
||||
Bands\11\Range=11
|
||||
Bands\11\Num=6
|
||||
Bands\11\BSR=17
|
||||
Bands\11\Name=2m
|
||||
Bands\11\Start=144000000
|
||||
Bands\11\End=148000000
|
||||
Bands\11\Range=148
|
||||
Bands\11\MemoryGroup=-1
|
||||
Bands\12\Num=16
|
||||
Bands\12\BSR=4
|
||||
Bands\12\Name=30m
|
||||
Bands\12\Start=10100000
|
||||
Bands\12\End=10150000
|
||||
Bands\12\Range=15
|
||||
Bands\12\Num=5
|
||||
Bands\12\BSR=18
|
||||
Bands\12\Name=70cm
|
||||
Bands\12\Start=430000000
|
||||
Bands\12\End=450000000
|
||||
Bands\12\Range=450
|
||||
Bands\12\MemoryGroup=-1
|
||||
Bands\13\Num=15
|
||||
Bands\13\BSR=5
|
||||
Bands\13\Name=20m
|
||||
Bands\13\Start=14000000
|
||||
Bands\13\End=14350000
|
||||
Bands\13\Range=20
|
||||
Bands\13\Num=9
|
||||
Bands\13\BSR=19
|
||||
Bands\13\Name=4m
|
||||
Bands\13\Start=70000000
|
||||
Bands\13\End=70500000
|
||||
Bands\13\Range=0
|
||||
Bands\13\MemoryGroup=-1
|
||||
Bands\14\Num=14
|
||||
Bands\14\BSR=6
|
||||
Bands\14\Name=17m
|
||||
Bands\14\Start=18068000
|
||||
Bands\14\End=18168000
|
||||
Bands\14\Range=22
|
||||
Bands\14\Num=18
|
||||
Bands\14\BSR=19
|
||||
Bands\14\Name=60m
|
||||
Bands\14\Start=5250000
|
||||
Bands\14\End=5450000
|
||||
Bands\14\Range=0
|
||||
Bands\14\MemoryGroup=-1
|
||||
Bands\15\Num=13
|
||||
Bands\15\BSR=7
|
||||
Bands\15\Name=15m
|
||||
Bands\15\Start=21000000
|
||||
Bands\15\End=21450000
|
||||
Bands\15\Range=26
|
||||
Bands\15\Num=21
|
||||
Bands\15\BSR=19
|
||||
Bands\15\Name=630m
|
||||
Bands\15\Start=493000
|
||||
Bands\15\End=595000
|
||||
Bands\15\Range=8
|
||||
Bands\15\MemoryGroup=-1
|
||||
Bands\16\Num=12
|
||||
Bands\16\BSR=8
|
||||
Bands\16\Name=12m
|
||||
Bands\16\Start=24890000
|
||||
Bands\16\End=24990000
|
||||
Bands\16\Range=30
|
||||
Bands\16\Num=22
|
||||
Bands\16\BSR=19
|
||||
Bands\16\Name=2200m
|
||||
Bands\16\Start=135000
|
||||
Bands\16\End=138000
|
||||
Bands\16\Range=0
|
||||
Bands\16\MemoryGroup=-1
|
||||
Bands\17\Num=11
|
||||
Bands\17\BSR=9
|
||||
Bands\17\Name=10m
|
||||
Bands\17\Start=28000000
|
||||
Bands\17\End=29700000
|
||||
Bands\17\Range=45
|
||||
Bands\17\Num=23
|
||||
Bands\17\BSR=19
|
||||
Bands\17\Name=Gen
|
||||
Bands\17\Start=10000
|
||||
Bands\17\End=30000000
|
||||
Bands\17\Range=1.6
|
||||
Bands\17\MemoryGroup=-1
|
||||
Bands\size=17
|
||||
Modes\1\Num=0
|
||||
|
@ -448,13 +460,13 @@ Modes\8\Num=7
|
|||
Modes\8\Reg=8
|
||||
Modes\8\Name=RTTY-R
|
||||
Modes\8\BW=1
|
||||
Modes\9\Num=17
|
||||
Modes\9\Reg=12
|
||||
Modes\9\Num=12
|
||||
Modes\9\Reg=23
|
||||
Modes\9\Name=DV
|
||||
Modes\9\BW=0
|
||||
Modes\size=9
|
||||
Attenuators\1\dB=0
|
||||
Attenuators\2\dB=12
|
||||
Attenuators\2\dB=18
|
||||
Attenuators\size=2
|
||||
Preamps\1\Num=0
|
||||
Preamps\1\Name=OFF
|
||||
|
@ -497,13 +509,13 @@ Tuning%20Steps\10\Hz=20000
|
|||
Tuning%20Steps\11\Num=9
|
||||
Tuning%20Steps\11\Name=25 KHz
|
||||
Tuning%20Steps\11\Hz=25000
|
||||
Tuning%20Steps\12\Num=10
|
||||
Tuning%20Steps\12\Num=16
|
||||
Tuning%20Steps\12\Name=50 KHz
|
||||
Tuning%20Steps\12\Hz=50000
|
||||
Tuning%20Steps\13\Num=11
|
||||
Tuning%20Steps\13\Num=17
|
||||
Tuning%20Steps\13\Name=100 KHz
|
||||
Tuning%20Steps\13\Hz=100000
|
||||
Tuning%20Steps\14\Num=12
|
||||
Tuning%20Steps\14\Num=18
|
||||
Tuning%20Steps\14\Name=1 MHz
|
||||
Tuning%20Steps\14\Hz=1000000
|
||||
Tuning%20Steps\size=14
|
||||
|
|
244
rigs/IC-7300.rig
244
rigs/IC-7300.rig
|
@ -249,67 +249,75 @@ Commands\57\Type=RIT Frequency
|
|||
Commands\57\String=\\x21\\x01
|
||||
Commands\57\Min=0
|
||||
Commands\57\Max=1
|
||||
Commands\58\Type=Main/Sub Freq
|
||||
Commands\58\String=\\x25
|
||||
Commands\58\Type=Selected Freq
|
||||
Commands\58\String=\\x25\\x00
|
||||
Commands\58\Min=0
|
||||
Commands\58\Max=1
|
||||
Commands\59\Type=Main/Sub Mode
|
||||
Commands\59\String=\\x26
|
||||
Commands\58\Max=0
|
||||
Commands\59\Type=Unselected Freq
|
||||
Commands\59\String=\\x25\\x01
|
||||
Commands\59\Min=0
|
||||
Commands\59\Max=1
|
||||
Commands\60\Type=Scope Wave Data
|
||||
Commands\60\String=\\x27\\x00
|
||||
Commands\59\Max=0
|
||||
Commands\60\Type=Selected Mode
|
||||
Commands\60\String=\\x26\\x00
|
||||
Commands\60\Min=0
|
||||
Commands\60\Max=0
|
||||
Commands\61\Type=Scope On/Off
|
||||
Commands\61\String=\\x27\\x10
|
||||
Commands\61\Type=Unselected Mode
|
||||
Commands\61\String=\\x26\\x01
|
||||
Commands\61\Min=0
|
||||
Commands\61\Max=1
|
||||
Commands\61\Max=0
|
||||
Commands\62\Type=Scope Wave Data
|
||||
Commands\62\String=\\x27\\x11
|
||||
Commands\62\String=\\x27\\x00
|
||||
Commands\62\Min=0
|
||||
Commands\62\Max=1
|
||||
Commands\63\Type=Scope Center Fixed
|
||||
Commands\63\String=\\x27\\x14
|
||||
Commands\62\Max=0
|
||||
Commands\63\Type=Scope On/Off
|
||||
Commands\63\String=\\x27\\x10
|
||||
Commands\63\Min=0
|
||||
Commands\63\Max=0
|
||||
Commands\64\Type=Scope Center Span
|
||||
Commands\64\String=\\x27\\x15
|
||||
Commands\63\Max=1
|
||||
Commands\64\Type=Scope Wave Data
|
||||
Commands\64\String=\\x27\\x11
|
||||
Commands\64\Min=0
|
||||
Commands\64\Max=0
|
||||
Commands\65\Type=Scope Edge Number
|
||||
Commands\65\String=\\x27\\x16
|
||||
Commands\64\Max=1
|
||||
Commands\65\Type=Scope Center Fixed
|
||||
Commands\65\String=\\x27\\x14
|
||||
Commands\65\Min=0
|
||||
Commands\65\Max=0
|
||||
Commands\66\Type=Scope Hold
|
||||
Commands\66\String=\\x27\\x17
|
||||
Commands\66\Type=Scope Center Span
|
||||
Commands\66\String=\\x27\\x15
|
||||
Commands\66\Min=0
|
||||
Commands\66\Max=1
|
||||
Commands\67\Type=Scope Ref
|
||||
Commands\67\String=\\x27\\x19
|
||||
Commands\66\Max=0
|
||||
Commands\67\Type=Scope Edge Number
|
||||
Commands\67\String=\\x27\\x16
|
||||
Commands\67\Min=0
|
||||
Commands\67\Max=255
|
||||
Commands\68\Type=Scope Speed
|
||||
Commands\68\String=\\x27\\x1a
|
||||
Commands\67\Max=0
|
||||
Commands\68\Type=Scope Hold
|
||||
Commands\68\String=\\x27\\x17
|
||||
Commands\68\Min=0
|
||||
Commands\68\Max=255
|
||||
Commands\69\Type=Scope During TX
|
||||
Commands\69\String=\\x27\\x1b
|
||||
Commands\68\Max=1
|
||||
Commands\69\Type=Scope Ref
|
||||
Commands\69\String=\\x27\\x19
|
||||
Commands\69\Min=0
|
||||
Commands\69\Max=1
|
||||
Commands\70\Type=Scope Center Type
|
||||
Commands\70\String=\\x27\\x1c
|
||||
Commands\69\Max=255
|
||||
Commands\70\Type=Scope Speed
|
||||
Commands\70\String=\\x27\\x1a
|
||||
Commands\70\Min=0
|
||||
Commands\70\Max=2
|
||||
Commands\71\Type=Command Error FA
|
||||
Commands\71\String=\\xfa
|
||||
Commands\70\Max=255
|
||||
Commands\71\Type=Scope During TX
|
||||
Commands\71\String=\\x27\\x1b
|
||||
Commands\71\Min=0
|
||||
Commands\71\Max=0
|
||||
Commands\72\Type=Command OK FB
|
||||
Commands\72\String=\\xfb
|
||||
Commands\71\Max=1
|
||||
Commands\72\Type=Scope Center Type
|
||||
Commands\72\String=\\x27\\x1c
|
||||
Commands\72\Min=0
|
||||
Commands\72\Max=0
|
||||
Commands\size=72
|
||||
Commands\72\Max=2
|
||||
Commands\73\Type=Command Error FA
|
||||
Commands\73\String=\\xfa
|
||||
Commands\73\Min=0
|
||||
Commands\73\Max=0
|
||||
Commands\74\Type=Command OK FB
|
||||
Commands\74\String=\\xfb
|
||||
Commands\74\Min=0
|
||||
Commands\74\Max=0
|
||||
Commands\size=74
|
||||
Spans\1\Num=0
|
||||
Spans\1\Name=±2.5 KHz
|
||||
Spans\1\Freq=2500
|
||||
|
@ -336,12 +344,16 @@ Spans\8\Name=±500 KHz
|
|||
Spans\8\Freq=500000
|
||||
Spans\size=8
|
||||
Inputs\1\Num=0
|
||||
Inputs\1\Reg=0
|
||||
Inputs\1\Name=MIC
|
||||
Inputs\2\Num=1
|
||||
Inputs\2\Reg=0
|
||||
Inputs\2\Name=ACC
|
||||
Inputs\3\Num=2
|
||||
Inputs\3\Reg=0
|
||||
Inputs\3\Name=MIC/ACC
|
||||
Inputs\4\Num=3
|
||||
Inputs\4\Reg=0
|
||||
Inputs\4\Name=USB
|
||||
Inputs\size=4
|
||||
Bands\1\Num=9
|
||||
|
@ -351,47 +363,47 @@ Bands\1\Start=70000000
|
|||
Bands\1\End=70500000
|
||||
Bands\1\Range=0
|
||||
Bands\1\MemoryGroup=-1
|
||||
Bands\2\Num=10
|
||||
Bands\2\BSR=10
|
||||
Bands\2\Name=6m
|
||||
Bands\2\Start=50000000
|
||||
Bands\2\End=54000000
|
||||
Bands\2\Range=60
|
||||
Bands\2\Num=18
|
||||
Bands\2\BSR=0
|
||||
Bands\2\Name=60m
|
||||
Bands\2\Start=5250000
|
||||
Bands\2\End=5450000
|
||||
Bands\2\Range=0
|
||||
Bands\2\MemoryGroup=-1
|
||||
Bands\3\Num=11
|
||||
Bands\3\BSR=9
|
||||
Bands\3\Name=10m
|
||||
Bands\3\Start=28000000
|
||||
Bands\3\End=29700000
|
||||
Bands\3\Range=45
|
||||
Bands\3\Num=21
|
||||
Bands\3\BSR=0
|
||||
Bands\3\Name=630m
|
||||
Bands\3\Start=493000
|
||||
Bands\3\End=595000
|
||||
Bands\3\Range=8
|
||||
Bands\3\MemoryGroup=-1
|
||||
Bands\4\Num=12
|
||||
Bands\4\BSR=8
|
||||
Bands\4\Name=12m
|
||||
Bands\4\Start=24890000
|
||||
Bands\4\End=24990000
|
||||
Bands\4\Range=30
|
||||
Bands\4\Num=22
|
||||
Bands\4\BSR=0
|
||||
Bands\4\Name=2200m
|
||||
Bands\4\Start=135000
|
||||
Bands\4\End=138000
|
||||
Bands\4\Range=0
|
||||
Bands\4\MemoryGroup=-1
|
||||
Bands\5\Num=13
|
||||
Bands\5\BSR=7
|
||||
Bands\5\Name=15m
|
||||
Bands\5\Start=21000000
|
||||
Bands\5\End=21450000
|
||||
Bands\5\Range=26
|
||||
Bands\5\Num=20
|
||||
Bands\5\BSR=1
|
||||
Bands\5\Name=160m
|
||||
Bands\5\Start=1800000
|
||||
Bands\5\End=2000000
|
||||
Bands\5\Range=2
|
||||
Bands\5\MemoryGroup=-1
|
||||
Bands\6\Num=14
|
||||
Bands\6\BSR=6
|
||||
Bands\6\Name=17m
|
||||
Bands\6\Start=18068000
|
||||
Bands\6\End=18168000
|
||||
Bands\6\Range=22
|
||||
Bands\6\Num=19
|
||||
Bands\6\BSR=2
|
||||
Bands\6\Name=80m
|
||||
Bands\6\Start=3500000
|
||||
Bands\6\End=4000000
|
||||
Bands\6\Range=6
|
||||
Bands\6\MemoryGroup=-1
|
||||
Bands\7\Num=15
|
||||
Bands\7\BSR=5
|
||||
Bands\7\Name=20m
|
||||
Bands\7\Start=14000000
|
||||
Bands\7\End=14350000
|
||||
Bands\7\Range=20
|
||||
Bands\7\Num=17
|
||||
Bands\7\BSR=3
|
||||
Bands\7\Name=40m
|
||||
Bands\7\Start=7000000
|
||||
Bands\7\End=7300000
|
||||
Bands\7\Range=11
|
||||
Bands\7\MemoryGroup=-1
|
||||
Bands\8\Num=16
|
||||
Bands\8\BSR=4
|
||||
|
@ -400,50 +412,50 @@ Bands\8\Start=10100000
|
|||
Bands\8\End=10150000
|
||||
Bands\8\Range=15
|
||||
Bands\8\MemoryGroup=-1
|
||||
Bands\9\Num=17
|
||||
Bands\9\BSR=3
|
||||
Bands\9\Name=40m
|
||||
Bands\9\Start=7000000
|
||||
Bands\9\End=7300000
|
||||
Bands\9\Range=11
|
||||
Bands\9\Num=15
|
||||
Bands\9\BSR=5
|
||||
Bands\9\Name=20m
|
||||
Bands\9\Start=14000000
|
||||
Bands\9\End=14350000
|
||||
Bands\9\Range=20
|
||||
Bands\9\MemoryGroup=-1
|
||||
Bands\10\Num=18
|
||||
Bands\10\BSR=0
|
||||
Bands\10\Name=60m
|
||||
Bands\10\Start=5250000
|
||||
Bands\10\End=5450000
|
||||
Bands\10\Range=0
|
||||
Bands\10\Num=14
|
||||
Bands\10\BSR=6
|
||||
Bands\10\Name=17m
|
||||
Bands\10\Start=18068000
|
||||
Bands\10\End=18168000
|
||||
Bands\10\Range=22
|
||||
Bands\10\MemoryGroup=-1
|
||||
Bands\11\Num=19
|
||||
Bands\11\BSR=2
|
||||
Bands\11\Name=80m
|
||||
Bands\11\Start=3500000
|
||||
Bands\11\End=4000000
|
||||
Bands\11\Range=6
|
||||
Bands\11\Num=13
|
||||
Bands\11\BSR=7
|
||||
Bands\11\Name=15m
|
||||
Bands\11\Start=21000000
|
||||
Bands\11\End=21450000
|
||||
Bands\11\Range=26
|
||||
Bands\11\MemoryGroup=-1
|
||||
Bands\12\Num=20
|
||||
Bands\12\BSR=1
|
||||
Bands\12\Name=160m
|
||||
Bands\12\Start=1800000
|
||||
Bands\12\End=2000000
|
||||
Bands\12\Range=2
|
||||
Bands\12\Num=12
|
||||
Bands\12\BSR=8
|
||||
Bands\12\Name=12m
|
||||
Bands\12\Start=24890000
|
||||
Bands\12\End=24990000
|
||||
Bands\12\Range=30
|
||||
Bands\12\MemoryGroup=-1
|
||||
Bands\13\Num=21
|
||||
Bands\13\BSR=0
|
||||
Bands\13\Name=630m
|
||||
Bands\13\Start=493000
|
||||
Bands\13\End=595000
|
||||
Bands\13\Range=8
|
||||
Bands\13\Num=11
|
||||
Bands\13\BSR=9
|
||||
Bands\13\Name=10m
|
||||
Bands\13\Start=28000000
|
||||
Bands\13\End=29700000
|
||||
Bands\13\Range=45
|
||||
Bands\13\MemoryGroup=-1
|
||||
Bands\14\Num=22
|
||||
Bands\14\BSR=0
|
||||
Bands\14\Name=2200m
|
||||
Bands\14\Start=135000
|
||||
Bands\14\End=138000
|
||||
Bands\14\Range=0
|
||||
Bands\14\Num=10
|
||||
Bands\14\BSR=16
|
||||
Bands\14\Name=6m
|
||||
Bands\14\Start=50000000
|
||||
Bands\14\End=54000000
|
||||
Bands\14\Range=60
|
||||
Bands\14\MemoryGroup=-1
|
||||
Bands\15\Num=23
|
||||
Bands\15\BSR=11
|
||||
Bands\15\BSR=17
|
||||
Bands\15\Name=Gen
|
||||
Bands\15\Start=10000
|
||||
Bands\15\End=30000000
|
||||
|
|
1007
rigs/IC-785x.rig
1007
rigs/IC-785x.rig
Plik diff jest za duży
Load Diff
146
rigs/IC-9700.rig
146
rigs/IC-9700.rig
|
@ -380,7 +380,7 @@ Commands\89\Max=45
|
|||
Commands\90\Type=Data Mode Filter
|
||||
Commands\90\String=\\x1a\\x06
|
||||
Commands\90\Min=0
|
||||
Commands\90\Max=1
|
||||
Commands\90\Max=0
|
||||
Commands\91\Type=Satellite Memory
|
||||
Commands\91\String=\\x1a\\x07
|
||||
Commands\91\Min=0
|
||||
|
@ -425,83 +425,91 @@ Commands\101\Type=GPS Position
|
|||
Commands\101\String=\\x23\\x00
|
||||
Commands\101\Min=0
|
||||
Commands\101\Max=0
|
||||
Commands\102\Type=Main/Sub Freq
|
||||
Commands\102\String=\\x25
|
||||
Commands\102\Type=Selected Freq
|
||||
Commands\102\String=\\x25\\x00
|
||||
Commands\102\Min=0
|
||||
Commands\102\Max=1
|
||||
Commands\103\Type=Main/Sub Mode
|
||||
Commands\103\String=\\x26
|
||||
Commands\102\Max=0
|
||||
Commands\103\Type=Unselected Freq
|
||||
Commands\103\String=\\x25\\x01
|
||||
Commands\103\Min=0
|
||||
Commands\103\Max=1
|
||||
Commands\104\Type=Scope Wave Data
|
||||
Commands\104\String=\\x27\\x00
|
||||
Commands\103\Max=0
|
||||
Commands\104\Type=Selected Mode
|
||||
Commands\104\String=\\x26\\x00
|
||||
Commands\104\Min=0
|
||||
Commands\104\Max=1
|
||||
Commands\105\Type=Scope On/Off
|
||||
Commands\105\String=\\x27\\x10
|
||||
Commands\104\Max=0
|
||||
Commands\105\Type=Unselected Mode
|
||||
Commands\105\String=\\x26\\x01
|
||||
Commands\105\Min=0
|
||||
Commands\105\Max=1
|
||||
Commands\106\Type=Scope Data Output
|
||||
Commands\106\String=\\x27\\x11
|
||||
Commands\105\Max=0
|
||||
Commands\106\Type=Scope Wave Data
|
||||
Commands\106\String=\\x27\\x00
|
||||
Commands\106\Min=0
|
||||
Commands\106\Max=1
|
||||
Commands\107\Type=Scope Main/Sub
|
||||
Commands\107\String=\\x27\\x12
|
||||
Commands\107\Type=Scope On/Off
|
||||
Commands\107\String=\\x27\\x10
|
||||
Commands\107\Min=0
|
||||
Commands\107\Max=1
|
||||
Commands\108\Type=Scope Center Fixed
|
||||
Commands\108\String=\\x27\\x14
|
||||
Commands\108\Type=Scope Data Output
|
||||
Commands\108\String=\\x27\\x11
|
||||
Commands\108\Min=0
|
||||
Commands\108\Max=1
|
||||
Commands\109\Type=Scope Center Span
|
||||
Commands\109\String=\\x27\\x15
|
||||
Commands\109\Type=Scope Main/Sub
|
||||
Commands\109\String=\\x27\\x12
|
||||
Commands\109\Min=0
|
||||
Commands\109\Max=7
|
||||
Commands\110\Type=Scope Edge Number
|
||||
Commands\110\String=\\x27\\x16
|
||||
Commands\110\Min=1
|
||||
Commands\110\Max=4
|
||||
Commands\111\Type=Scope Hold
|
||||
Commands\111\String=\\x27\\x17
|
||||
Commands\109\Max=1
|
||||
Commands\110\Type=Scope Center Fixed
|
||||
Commands\110\String=\\x27\\x14
|
||||
Commands\110\Min=0
|
||||
Commands\110\Max=1
|
||||
Commands\111\Type=Scope Center Span
|
||||
Commands\111\String=\\x27\\x15
|
||||
Commands\111\Min=0
|
||||
Commands\111\Max=1
|
||||
Commands\112\Type=Scope Ref
|
||||
Commands\112\String=\\x27\\x19
|
||||
Commands\112\Min=-30
|
||||
Commands\112\Max=10
|
||||
Commands\113\Type=Scope Speed
|
||||
Commands\113\String=\\x27\\x1a
|
||||
Commands\111\Max=7
|
||||
Commands\112\Type=Scope Edge Number
|
||||
Commands\112\String=\\x27\\x16
|
||||
Commands\112\Min=1
|
||||
Commands\112\Max=4
|
||||
Commands\113\Type=Scope Hold
|
||||
Commands\113\String=\\x27\\x17
|
||||
Commands\113\Min=0
|
||||
Commands\113\Max=2
|
||||
Commands\114\Type=Scope During TX
|
||||
Commands\114\String=\\x27\\x1b
|
||||
Commands\114\Min=0
|
||||
Commands\114\Max=1
|
||||
Commands\115\Type=Scope Center Type
|
||||
Commands\115\String=\\x27\\x1c
|
||||
Commands\113\Max=1
|
||||
Commands\114\Type=Scope Ref
|
||||
Commands\114\String=\\x27\\x19
|
||||
Commands\114\Min=-30
|
||||
Commands\114\Max=10
|
||||
Commands\115\Type=Scope Speed
|
||||
Commands\115\String=\\x27\\x1a
|
||||
Commands\115\Min=0
|
||||
Commands\115\Max=2
|
||||
Commands\116\Type=Scope VBW
|
||||
Commands\116\String=\\x27\\x1d
|
||||
Commands\116\Type=Scope During TX
|
||||
Commands\116\String=\\x27\\x1b
|
||||
Commands\116\Min=0
|
||||
Commands\116\Max=1
|
||||
Commands\117\Type=Scope Fixed Freq
|
||||
Commands\117\String=\\x27\\x1e
|
||||
Commands\117\Min=1
|
||||
Commands\117\Max=12
|
||||
Commands\118\Type=Voice TX
|
||||
Commands\118\String=\\x28\\x00
|
||||
Commands\117\Type=Scope Center Type
|
||||
Commands\117\String=\\x27\\x1c
|
||||
Commands\117\Min=0
|
||||
Commands\117\Max=2
|
||||
Commands\118\Type=Scope VBW
|
||||
Commands\118\String=\\x27\\x1d
|
||||
Commands\118\Min=0
|
||||
Commands\118\Max=8
|
||||
Commands\119\Type=Command Error FA
|
||||
Commands\119\String=\\xfa
|
||||
Commands\119\Min=0
|
||||
Commands\119\Max=0
|
||||
Commands\120\Type=Command OK FB
|
||||
Commands\120\String=\\xfb
|
||||
Commands\118\Max=1
|
||||
Commands\119\Type=Scope Fixed Freq
|
||||
Commands\119\String=\\x27\\x1e
|
||||
Commands\119\Min=1
|
||||
Commands\119\Max=12
|
||||
Commands\120\Type=Voice TX
|
||||
Commands\120\String=\\x28\\x00
|
||||
Commands\120\Min=0
|
||||
Commands\120\Max=0
|
||||
Commands\size=120
|
||||
Commands\120\Max=8
|
||||
Commands\121\Type=Command Error FA
|
||||
Commands\121\String=\\xfa
|
||||
Commands\121\Min=0
|
||||
Commands\121\Max=0
|
||||
Commands\122\Type=Command OK FB
|
||||
Commands\122\String=\\xfb
|
||||
Commands\122\Min=0
|
||||
Commands\122\Max=0
|
||||
Commands\size=122
|
||||
Spans\1\Num=0
|
||||
Spans\1\Name=±2.5 KHz
|
||||
Spans\1\Freq=2500
|
||||
|
@ -528,16 +536,22 @@ Spans\8\Name=±500 KHz
|
|||
Spans\8\Freq=500000
|
||||
Spans\size=8
|
||||
Inputs\1\Num=0
|
||||
Inputs\1\Reg=0
|
||||
Inputs\1\Name=MIC
|
||||
Inputs\2\Num=1
|
||||
Inputs\2\Reg=0
|
||||
Inputs\2\Name=ACC
|
||||
Inputs\3\Num=2
|
||||
Inputs\3\Reg=0
|
||||
Inputs\3\Name=M/A
|
||||
Inputs\4\Num=3
|
||||
Inputs\4\Reg=0
|
||||
Inputs\4\Name=USB
|
||||
Inputs\5\Num=4
|
||||
Inputs\5\Reg=0
|
||||
Inputs\5\Name=M/U
|
||||
Inputs\6\Num=5
|
||||
Inputs\6\Reg=0
|
||||
Inputs\6\Name=LAN
|
||||
Inputs\size=6
|
||||
Bands\1\Num=6
|
||||
|
@ -595,16 +609,16 @@ Modes\8\Reg=8
|
|||
Modes\8\Name=RTTY-R
|
||||
Modes\8\BW=1
|
||||
Modes\9\Num=12
|
||||
Modes\9\Reg=17
|
||||
Modes\9\Reg=23
|
||||
Modes\9\Name=DV
|
||||
Modes\9\BW=0
|
||||
Modes\10\Num=14
|
||||
Modes\10\Reg=22
|
||||
Modes\10\Reg=34
|
||||
Modes\10\Name=DD
|
||||
Modes\10\BW=0
|
||||
Modes\size=10
|
||||
Attenuators\1\dB=0
|
||||
Attenuators\2\dB=10
|
||||
Attenuators\2\dB=16
|
||||
Attenuators\size=2
|
||||
Preamps\1\Num=0
|
||||
Preamps\1\Name=INT/EXT OFF
|
||||
|
@ -629,7 +643,7 @@ Tuning%20Steps\4\Num=2
|
|||
Tuning%20Steps\4\Name=500 Hz
|
||||
Tuning%20Steps\4\Hz=500
|
||||
Tuning%20Steps\5\Num=3
|
||||
Tuning%20Steps\5\Name=1 KHz
|
||||
Tuning%20Steps\5\Name=1 Khz
|
||||
Tuning%20Steps\5\Hz=1000
|
||||
Tuning%20Steps\6\Num=0
|
||||
Tuning%20Steps\6\Name=2.5 KHz
|
||||
|
@ -661,11 +675,11 @@ Tuning%20Steps\14\Hz=20000
|
|||
Tuning%20Steps\15\Num=9
|
||||
Tuning%20Steps\15\Name=25 KHz
|
||||
Tuning%20Steps\15\Hz=25000
|
||||
Tuning%20Steps\16\Num=10
|
||||
Tuning%20Steps\16\Num=16
|
||||
Tuning%20Steps\16\Name=50 KHz
|
||||
Tuning%20Steps\16\Hz=50000
|
||||
Tuning%20Steps\17\Num=11
|
||||
Tuning%20Steps\17\Name=100 Khz
|
||||
Tuning%20Steps\17\Num=17
|
||||
Tuning%20Steps\17\Name=100 KHz
|
||||
Tuning%20Steps\17\Hz=100000
|
||||
Tuning%20Steps\18\Num=0
|
||||
Tuning%20Steps\18\Name=250 KHz
|
||||
|
|
968
rigs/ic-7610.rig
968
rigs/ic-7610.rig
Plik diff jest za duży
Load Diff
|
@ -58,26 +58,26 @@ void transceiverAdjustments::on_IFShiftSlider_valueChanged(int value)
|
|||
}
|
||||
else
|
||||
{
|
||||
unsigned char inner = ui->TPBFInnerSlider->value();
|
||||
unsigned char outer = ui->TPBFOuterSlider->value();
|
||||
unsigned char inner = ui->PBTInnerSlider->value();
|
||||
unsigned char outer = ui->PBTOuterSlider->value();
|
||||
int shift = value - previousIFShift;
|
||||
inner = qMax( 0, qMin(255,int (inner + shift)) );
|
||||
outer = qMax( 0, qMin(255,int (outer + shift)) );
|
||||
|
||||
ui->TPBFInnerSlider->setValue(inner);
|
||||
ui->TPBFOuterSlider->setValue(outer);
|
||||
ui->PBTInnerSlider->setValue(inner);
|
||||
ui->PBTOuterSlider->setValue(outer);
|
||||
previousIFShift = value;
|
||||
}
|
||||
}
|
||||
|
||||
void transceiverAdjustments::on_TPBFInnerSlider_valueChanged(int value)
|
||||
void transceiverAdjustments::on_PBTInnerSlider_valueChanged(int value)
|
||||
{
|
||||
emit setTPBFInner(value);
|
||||
emit setPBTInner(value);
|
||||
}
|
||||
|
||||
void transceiverAdjustments::on_TPBFOuterSlider_valueChanged(int value)
|
||||
void transceiverAdjustments::on_PBTOuterSlider_valueChanged(int value)
|
||||
{
|
||||
emit setTPBFOuter(value);
|
||||
emit setPBTOuter(value);
|
||||
}
|
||||
|
||||
void transceiverAdjustments::setRig(rigCapabilities rig)
|
||||
|
@ -88,11 +88,11 @@ void transceiverAdjustments::setRig(rigCapabilities rig)
|
|||
//ui->IFShiftSlider->setVisible(rigCaps.hasIFShift);
|
||||
//ui->IFShiftLabel->setVisible(rigCaps.hasIFShift);
|
||||
|
||||
ui->TPBFInnerSlider->setVisible(rigCaps.commands.contains(funcPBTInner));
|
||||
ui->TPBFInnerLabel->setVisible(rigCaps.commands.contains(funcPBTInner));
|
||||
ui->PBTInnerSlider->setVisible(rigCaps.commands.contains(funcPBTInner));
|
||||
ui->PBTInnerLabel->setVisible(rigCaps.commands.contains(funcPBTInner));
|
||||
|
||||
ui->TPBFOuterSlider->setVisible(rigCaps.commands.contains(funcPBTOuter));
|
||||
ui->TPBFOuterLabel->setVisible(rigCaps.commands.contains(funcPBTOuter));
|
||||
ui->PBTOuterSlider->setVisible(rigCaps.commands.contains(funcPBTOuter));
|
||||
ui->PBTOuterLabel->setVisible(rigCaps.commands.contains(funcPBTOuter));
|
||||
|
||||
haveRigCaps = true;
|
||||
}
|
||||
|
@ -105,18 +105,18 @@ void transceiverAdjustments::updateIFShift(unsigned char level)
|
|||
ui->IFShiftSlider->blockSignals(false);
|
||||
}
|
||||
|
||||
void transceiverAdjustments::updateTPBFInner(unsigned char level)
|
||||
void transceiverAdjustments::updatePBTInner(unsigned char level)
|
||||
{
|
||||
ui->TPBFInnerSlider->blockSignals(true);
|
||||
ui->TPBFInnerSlider->setValue(level);
|
||||
ui->TPBFInnerSlider->blockSignals(false);
|
||||
ui->PBTInnerSlider->blockSignals(true);
|
||||
ui->PBTInnerSlider->setValue(level);
|
||||
ui->PBTInnerSlider->blockSignals(false);
|
||||
}
|
||||
|
||||
void transceiverAdjustments::updateTPBFOuter(unsigned char level)
|
||||
void transceiverAdjustments::updatePBTOuter(unsigned char level)
|
||||
{
|
||||
ui->TPBFOuterSlider->blockSignals(true);
|
||||
ui->TPBFOuterSlider->setValue(level);
|
||||
ui->TPBFOuterSlider->blockSignals(false);
|
||||
ui->PBTOuterSlider->blockSignals(true);
|
||||
ui->PBTOuterSlider->setValue(level);
|
||||
ui->PBTOuterSlider->blockSignals(false);
|
||||
}
|
||||
|
||||
void transceiverAdjustments::updatePassband(quint16 passbandHz)
|
||||
|
@ -137,8 +137,8 @@ void transceiverAdjustments::updatePassband(quint16 passbandHz)
|
|||
|
||||
void transceiverAdjustments::on_resetPBTbtn_clicked()
|
||||
{
|
||||
ui->TPBFInnerSlider->setValue(128);
|
||||
ui->TPBFOuterSlider->setValue(128);
|
||||
ui->PBTInnerSlider->setValue(128);
|
||||
ui->PBTOuterSlider->setValue(128);
|
||||
ui->IFShiftSlider->blockSignals(true);
|
||||
ui->IFShiftSlider->setValue(128);
|
||||
ui->IFShiftSlider->blockSignals(false);
|
||||
|
|
|
@ -26,24 +26,24 @@ public:
|
|||
|
||||
signals:
|
||||
void setIFShift(unsigned char level);
|
||||
void setTPBFInner(unsigned char level);
|
||||
void setTPBFOuter(unsigned char level);
|
||||
void setPBTInner(unsigned char level);
|
||||
void setPBTOuter(unsigned char level);
|
||||
void setPassband(quint16 passbandHz);
|
||||
|
||||
public slots:
|
||||
void setRig(rigCapabilities rig);
|
||||
void updateIFShift(unsigned char level);
|
||||
void updateTPBFInner(unsigned char level);
|
||||
void updateTPBFOuter(unsigned char level);
|
||||
void updatePBTInner(unsigned char level);
|
||||
void updatePBTOuter(unsigned char level);
|
||||
void updatePassband(quint16 passbandHz);
|
||||
|
||||
private slots:
|
||||
|
||||
void on_IFShiftSlider_valueChanged(int value);
|
||||
|
||||
void on_TPBFInnerSlider_valueChanged(int value);
|
||||
void on_PBTInnerSlider_valueChanged(int value);
|
||||
|
||||
void on_TPBFOuterSlider_valueChanged(int value);
|
||||
void on_PBTOuterSlider_valueChanged(int value);
|
||||
|
||||
void on_resetPBTbtn_clicked();
|
||||
|
||||
|
|
|
@ -184,7 +184,7 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="TPBFOuterLabel">
|
||||
<widget class="QLabel" name="PBTOuterLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
|
@ -203,7 +203,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="TPBFOuterSlider">
|
||||
<widget class="QSlider" name="PBTOuterSlider">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>230</width>
|
||||
|
@ -235,7 +235,7 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="TPBFInnerLabel">
|
||||
<widget class="QLabel" name="PBTInnerLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
|
@ -254,7 +254,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="TPBFInnerSlider">
|
||||
<widget class="QSlider" name="PBTInnerSlider">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>230</width>
|
||||
|
|
|
@ -680,14 +680,14 @@ void usbController::runTimer()
|
|||
qDebug(logUsbControl()) << QString("On Button event for button %0: %1").arg(but->num).arg(but->onCommand->text);
|
||||
if (but->onCommand->command == cmdPageUp)
|
||||
emit changePage(dev, dev->currentPage+1);
|
||||
else if (but->onCommand->command == cmdPageDown)
|
||||
else if (but->onCommand->command == funcPageDown)
|
||||
emit changePage(dev, dev->currentPage-1);
|
||||
else if (but->onCommand->command == cmdLCDSpectrum)
|
||||
dev->lcd = cmdLCDSpectrum;
|
||||
else if (but->onCommand->command == cmdLCDWaterfall)
|
||||
dev->lcd = cmdLCDWaterfall;
|
||||
else if (but->onCommand->command == cmdLCDNothing) {
|
||||
dev->lcd = cmdLCDNothing;
|
||||
else if (but->onCommand->command == funcLCDSpectrum)
|
||||
dev->lcd = funcLCDSpectrum;
|
||||
else if (but->onCommand->command == funcLCDWaterfall)
|
||||
dev->lcd = funcLCDWaterfall;
|
||||
else if (but->onCommand->command == funcLCDNothing) {
|
||||
dev->lcd = funcLCDNothing;
|
||||
QTimer::singleShot(0, this, [=]() { sendRequest(dev,usbFeatureType::featureColor,i,"",Q_NULLPTR, &dev->color); });
|
||||
}else {
|
||||
emit button(but->onCommand);
|
||||
|
@ -701,16 +701,16 @@ void usbController::runTimer()
|
|||
else if ((but->toggle && but->isOn) && ((tempButtons >> i & 1) && !(dev->buttons >> i & 1)))
|
||||
{
|
||||
qDebug(logUsbControl()) << QString("Off Button (toggle) event for button %0: %1").arg(but->num).arg(but->onCommand->text);
|
||||
if (but->offCommand->command == cmdPageUp)
|
||||
if (but->offCommand->command == funcPageUp)
|
||||
emit changePage(dev, dev->currentPage+1);
|
||||
else if (but->offCommand->command == cmdPageDown)
|
||||
else if (but->offCommand->command == funcPageDown)
|
||||
emit changePage(dev, dev->currentPage-1);
|
||||
else if (but->offCommand->command == cmdLCDSpectrum)
|
||||
dev->lcd = cmdLCDSpectrum;
|
||||
else if (but->offCommand->command == cmdLCDWaterfall)
|
||||
dev->lcd = cmdLCDWaterfall;
|
||||
else if (but->offCommand->command == cmdLCDNothing) {
|
||||
dev->lcd = cmdLCDNothing;
|
||||
else if (but->offCommand->command == funcLCDSpectrum)
|
||||
dev->lcd = funcLCDSpectrum;
|
||||
else if (but->offCommand->command == funcLCDWaterfall)
|
||||
dev->lcd = funcLCDWaterfall;
|
||||
else if (but->offCommand->command == funcLCDNothing) {
|
||||
dev->lcd = funcLCDNothing;
|
||||
QTimer::singleShot(0, this, [=]() { sendRequest(dev,usbFeatureType::featureColor,i,"",Q_NULLPTR, &dev->color); });
|
||||
} else {
|
||||
emit button(but->offCommand);
|
||||
|
@ -720,13 +720,13 @@ void usbController::runTimer()
|
|||
}
|
||||
else if ((!but->toggle && but->isOn) && ((dev->buttons >> i & 1) && !(tempButtons >> i & 1)))
|
||||
{
|
||||
if (but->offCommand->command == cmdLCDSpectrum)
|
||||
dev->lcd = cmdLCDSpectrum;
|
||||
else if (but->offCommand->command == cmdLCDWaterfall)
|
||||
dev->lcd = cmdLCDWaterfall;
|
||||
else if (but->offCommand->command == cmdLCDNothing) {
|
||||
if (but->offCommand->command == funcLCDSpectrum)
|
||||
dev->lcd = funcLCDSpectrum;
|
||||
else if (but->offCommand->command == funcLCDWaterfall)
|
||||
dev->lcd = funcLCDWaterfall;
|
||||
else if (but->offCommand->command == funcLCDNothing) {
|
||||
QTimer::singleShot(0, this, [=]() { sendRequest(dev,usbFeatureType::featureColor,i,"",Q_NULLPTR, &dev->color); });
|
||||
dev->lcd = cmdLCDNothing;
|
||||
dev->lcd = funcLCDNothing;
|
||||
} else
|
||||
{
|
||||
qDebug(logUsbControl()) << QString("Off Button event for button %0: %1").arg(but->num).arg(but->offCommand->text);
|
||||
|
@ -1585,103 +1585,105 @@ void usbController::loadCommands()
|
|||
int num = 0;
|
||||
// Important commands at the top!
|
||||
commands.append(COMMAND(num++, "None", commandAny, cmdNone, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "PTT On", commandButton, cmdSetPTT, cmdGetPTT, (quint8)0x1));
|
||||
commands.append(COMMAND(num++, "PTT Off", commandButton, cmdSetPTT, cmdGetPTT, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "VFOA", commandKnob, cmdSetFreq, cmdGetFreq, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "VFOB", commandKnob, cmdSetFreq, cmdGetFreq, (quint8)0x1));
|
||||
commands.append(COMMAND(num++, "Freq Down", commandButton, cmdSetFreq, cmdGetFreq, (int)-1));
|
||||
commands.append(COMMAND(num++, "Freq Up", commandButton, cmdSetFreq, cmdGetFreq, (int)1));
|
||||
commands.append(COMMAND(num++, "PTT Off", commandButton, cmdSetPTT, cmdGetPTT, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "PTT Toggle", commandButton, cmdPTTToggle, cmdGetPTT, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandKnob, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Tune", commandButton, cmdStartATU, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandButton, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Step+", commandButton, cmdSetStepUp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Step-", commandButton, cmdSetStepDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span+", commandButton, cmdSetSpanUp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span-", commandButton, cmdSetSpanDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Modes", commandButton, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Mode+", commandButton, cmdSetModeUp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Mode-", commandButton, cmdSetModeDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Mode LSB", commandButton, cmdSetMode, modeLSB));
|
||||
commands.append(COMMAND(num++, "Mode USB", commandButton, cmdSetMode, modeUSB));
|
||||
commands.append(COMMAND(num++, "Mode LSBD", commandButton, cmdSetMode, modeLSB_D));
|
||||
commands.append(COMMAND(num++, "Mode USBD", commandButton, cmdSetMode, modeUSB_D));
|
||||
commands.append(COMMAND(num++, "Mode CW", commandButton, cmdSetMode, modeCW));
|
||||
commands.append(COMMAND(num++, "Mode CWR", commandButton, cmdSetMode, modeCW_R));
|
||||
commands.append(COMMAND(num++, "Mode FM", commandButton, cmdSetMode, modeFM));
|
||||
commands.append(COMMAND(num++, "Mode AM", commandButton, cmdSetMode, modeAM));
|
||||
commands.append(COMMAND(num++, "Mode RTTY", commandButton, cmdSetMode, modeRTTY));
|
||||
commands.append(COMMAND(num++, "Mode RTTYR", commandButton, cmdSetMode, modeRTTY_R));
|
||||
commands.append(COMMAND(num++, "Mode PSK", commandButton, cmdSetMode, modePSK));
|
||||
commands.append(COMMAND(num++, "Mode PSKR", commandButton, cmdSetMode, modePSK_R));
|
||||
commands.append(COMMAND(num++, "Mode DV", commandButton, cmdSetMode, modeDV));
|
||||
commands.append(COMMAND(num++, "Mode DD", commandButton, cmdSetMode, modeDD));
|
||||
commands.append(COMMAND(num++, "Bands", commandButton, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Band+", commandButton, cmdSetBandUp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Band-", commandButton, cmdSetBandDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Band 23cm", commandButton, cmdGetBandStackReg, band23cm));
|
||||
commands.append(COMMAND(num++, "Band 70cm", commandButton, cmdGetBandStackReg, band70cm));
|
||||
commands.append(COMMAND(num++, "Band 2m", commandButton, cmdGetBandStackReg, band2m));
|
||||
commands.append(COMMAND(num++, "Band AIR", commandButton, cmdGetBandStackReg, bandAir));
|
||||
commands.append(COMMAND(num++, "Band WFM", commandButton, cmdGetBandStackReg, bandWFM));
|
||||
commands.append(COMMAND(num++, "Band 4m", commandButton, cmdGetBandStackReg, band4m));
|
||||
commands.append(COMMAND(num++, "Band 6m", commandButton, cmdGetBandStackReg, band6m));
|
||||
commands.append(COMMAND(num++, "Band 10m", commandButton, cmdGetBandStackReg, band10m));
|
||||
commands.append(COMMAND(num++, "Band 12m", commandButton, cmdGetBandStackReg, band12m));
|
||||
commands.append(COMMAND(num++, "Band 15m", commandButton, cmdGetBandStackReg, band15m));
|
||||
commands.append(COMMAND(num++, "Band 17m", commandButton, cmdGetBandStackReg, band17m));
|
||||
commands.append(COMMAND(num++, "Band 20m", commandButton, cmdGetBandStackReg, band20m));
|
||||
commands.append(COMMAND(num++, "Band 30m", commandButton, cmdGetBandStackReg, band30m));
|
||||
commands.append(COMMAND(num++, "Band 40m", commandButton, cmdGetBandStackReg, band40m));
|
||||
commands.append(COMMAND(num++, "Band 60m", commandButton, cmdGetBandStackReg, band60m));
|
||||
commands.append(COMMAND(num++, "Band 80m", commandButton, cmdGetBandStackReg, band80m));
|
||||
commands.append(COMMAND(num++, "Band 160m", commandButton, cmdGetBandStackReg, band160m));
|
||||
commands.append(COMMAND(num++, "Band 630m", commandButton, cmdGetBandStackReg, band630m));
|
||||
commands.append(COMMAND(num++, "Band 2200m", commandButton, cmdGetBandStackReg, band2200m));
|
||||
commands.append(COMMAND(num++, "Band GEN", commandButton, cmdGetBandStackReg, bandGen));
|
||||
commands.append(COMMAND(num++, "NB/NR", commandButton, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "NR On", commandButton, cmdSetNR, cmdGetNR, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "NR Off", commandButton, cmdSetNR, cmdGetNR, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "NB On", commandButton, cmdSetNB, cmdGetNB, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "NB Off", commandButton, cmdSetNB, cmdGetNB, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Moni On", commandButton, cmdSetMonitor, cmdGetMonitor, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Moni Off", commandButton, cmdSetMonitor, cmdGetMonitor, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Comp On", commandButton, cmdSetComp, cmdGetComp, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Comp Off", commandButton, cmdSetComp, cmdGetComp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Vox On", commandButton, cmdSetVox, cmdGetVox, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Vox Off", commandButton, cmdSetVox, cmdGetVox, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Split", commandButton, cmdNone, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Split On", commandButton, cmdSetQuickSplit, cmdGetDuplexMode, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Split Off", commandButton, cmdSetQuickSplit, cmdGetDuplexMode, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Swap VFO", commandButton, cmdVFOSwap, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Scope", commandButton, cmdNone, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Spectrum", commandButton, cmdLCDSpectrum, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Waterfall", commandButton, cmdLCDWaterfall, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "No Display", commandButton, cmdLCDNothing, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "PTT On", commandButton, funcTransceiverStatus, funcTransceiverStatus, (quint8)0x1));
|
||||
commands.append(COMMAND(num++, "PTT Off", commandButton, funcTransceiverStatus, funcTransceiverStatus, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "VFOA", commandKnob, funcFreqSet, funcFreqSet, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "VFOB", commandKnob, funcFreqSet, funcFreqSet, (quint8)0x1));
|
||||
commands.append(COMMAND(num++, "Freq Down", commandButton, funcFreqSet, funcFreqSet, (int)-1));
|
||||
commands.append(COMMAND(num++, "Freq Up", commandButton, funcFreqSet, funcFreqSet, (int)1));
|
||||
commands.append(COMMAND(num++, "PTT Off", commandButton, funcTransceiverStatus, funcTransceiverStatus, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "PTT Toggle", commandButton, funcTransceiverStatus, funcTransceiverStatus, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandKnob, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Tune", commandButton, funcTunerStatus, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Step+", commandButton, funcTuningStep, 100));
|
||||
commands.append(COMMAND(num++, "Step-", commandButton, funcTuningStep, -100));
|
||||
commands.append(COMMAND(num++, "Span+", commandButton, funcScopeCenterSpan, 100));
|
||||
commands.append(COMMAND(num++, "Span-", commandButton, funcScopeCenterSpan, -100));
|
||||
commands.append(COMMAND(num++, "Modes", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Mode+", commandButton, funcModeSet, 100));
|
||||
commands.append(COMMAND(num++, "Mode-", commandButton, funcModeSet, -100));
|
||||
commands.append(COMMAND(num++, "Mode LSB", commandButton, funcModeSet, modeLSB));
|
||||
commands.append(COMMAND(num++, "Mode USB", commandButton, funcModeSet, modeUSB));
|
||||
commands.append(COMMAND(num++, "Mode LSBD", commandButton, funcModeSet, modeLSB_D));
|
||||
commands.append(COMMAND(num++, "Mode USBD", commandButton, funcModeSet, modeUSB_D));
|
||||
commands.append(COMMAND(num++, "Mode CW", commandButton, funcModeSet, modeCW));
|
||||
commands.append(COMMAND(num++, "Mode CWR", commandButton, funcModeSet, modeCW_R));
|
||||
commands.append(COMMAND(num++, "Mode FM", commandButton, funcModeSet, modeFM));
|
||||
commands.append(COMMAND(num++, "Mode AM", commandButton, funcModeSet, modeAM));
|
||||
commands.append(COMMAND(num++, "Mode RTTY", commandButton, funcModeSet, modeRTTY));
|
||||
commands.append(COMMAND(num++, "Mode RTTYR", commandButton, funcModeSet, modeRTTY_R));
|
||||
commands.append(COMMAND(num++, "Mode PSK", commandButton, funcModeSet, modePSK));
|
||||
commands.append(COMMAND(num++, "Mode PSKR", commandButton, funcModeSet, modePSK_R));
|
||||
commands.append(COMMAND(num++, "Mode DV", commandButton, funcModeSet, modeDV));
|
||||
commands.append(COMMAND(num++, "Mode DD", commandButton, funcModeSet, modeDD));
|
||||
commands.append(COMMAND(num++, "Bands", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Band+", commandButton, funcBandStackReg, 100));
|
||||
commands.append(COMMAND(num++, "Band-", commandButton, funcBandStackReg, -100));
|
||||
commands.append(COMMAND(num++, "Band 23cm", commandButton, funcBandStackReg, band23cm));
|
||||
commands.append(COMMAND(num++, "Band 70cm", commandButton, funcBandStackReg, band70cm));
|
||||
commands.append(COMMAND(num++, "Band 2m", commandButton, funcBandStackReg, band2m));
|
||||
commands.append(COMMAND(num++, "Band AIR", commandButton, funcBandStackReg, bandAir));
|
||||
commands.append(COMMAND(num++, "Band WFM", commandButton, funcBandStackReg, bandWFM));
|
||||
commands.append(COMMAND(num++, "Band 4m", commandButton, funcBandStackReg, band4m));
|
||||
commands.append(COMMAND(num++, "Band 6m", commandButton, funcBandStackReg, band6m));
|
||||
commands.append(COMMAND(num++, "Band 10m", commandButton, funcBandStackReg, band10m));
|
||||
commands.append(COMMAND(num++, "Band 12m", commandButton, funcBandStackReg, band12m));
|
||||
commands.append(COMMAND(num++, "Band 15m", commandButton, funcBandStackReg, band15m));
|
||||
commands.append(COMMAND(num++, "Band 17m", commandButton, funcBandStackReg, band17m));
|
||||
commands.append(COMMAND(num++, "Band 20m", commandButton, funcBandStackReg, band20m));
|
||||
commands.append(COMMAND(num++, "Band 30m", commandButton, funcBandStackReg, band30m));
|
||||
commands.append(COMMAND(num++, "Band 40m", commandButton, funcBandStackReg, band40m));
|
||||
commands.append(COMMAND(num++, "Band 60m", commandButton, funcBandStackReg, band60m));
|
||||
commands.append(COMMAND(num++, "Band 80m", commandButton, funcBandStackReg, band80m));
|
||||
commands.append(COMMAND(num++, "Band 160m", commandButton, funcBandStackReg, band160m));
|
||||
commands.append(COMMAND(num++, "Band 630m", commandButton, funcBandStackReg, band630m));
|
||||
commands.append(COMMAND(num++, "Band 2200m", commandButton, funcBandStackReg, band2200m));
|
||||
commands.append(COMMAND(num++, "Band GEN", commandButton, funcBandStackReg, bandGen));
|
||||
commands.append(COMMAND(num++, "NB/NR", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "NR On", commandButton, funcNoiseReduction, cmdGetNR, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "NR Off", commandButton, funcNoiseReduction, cmdGetNR, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "NB On", commandButton, funcNoiseBlanker, cmdGetNB, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "NB Off", commandButton, funcNoiseBlanker, cmdGetNB, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Moni On", commandButton, funcMonitor, cmdGetMonitor, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Moni Off", commandButton, funcMonitor, cmdGetMonitor, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Comp On", commandButton, funcCompressor, cmdGetComp, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Comp Off", commandButton, funcCompressor, cmdGetComp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Vox On", commandButton, funcVox, cmdGetVox, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Vox Off", commandButton, funcVox, cmdGetVox, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Split", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Split On", commandButton, funcQuickSplit, cmdGetDuplexMode, (quint8)0x01));
|
||||
commands.append(COMMAND(num++, "Split Off", commandButton, funcQuickSplit, cmdGetDuplexMode, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Swap VFO AB", commandButton, funcVFOSwapAB, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Swap VFO MS", commandButton, funcVFOSwapMS, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Scope", commandButton, funcSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Spectrum", commandButton, funcLCDSpectrum, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Waterfall", commandButton, funcLCDWaterfall, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "No Display", commandButton, funcLCDNothing, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Pages", commandButton, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Page Down", commandButton, cmdPageDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Page Up", commandButton, cmdPageUp, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Page Down", commandButton, funcPageDown, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "Page Up", commandButton, funcPageUp, (quint8)0x0));
|
||||
|
||||
commands.append(COMMAND(num++, "AF Gain", commandKnob, cmdSetAfGain, cmdGetAfGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "RF Gain", commandKnob, cmdSetRxRfGain, cmdGetRxGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "TX Power", commandKnob, cmdSetTxPower, cmdGetTxPower, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Mic Gain", commandKnob, cmdSetMicGain, cmdGetMicGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Mod Level", commandKnob, cmdSetModLevel, cmdNone, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Squelch", commandKnob, cmdSetSql, cmdGetSql, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Monitor", commandKnob, cmdSetMonitorGain, cmdGetMonitorGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Compressor", commandKnob, cmdSetCompLevel, cmdGetCompLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Vox Level", commandKnob, cmdSetVoxGain, cmdGetVoxGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Anti-Vox", commandKnob, cmdSetAntiVoxGain, cmdGetAntiVoxGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "NB Level", commandKnob, cmdSetNBLevel, cmdGetNBLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "NR Level", commandKnob, cmdSetNRLevel, cmdGetNRLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "AF Gain", commandKnob, funcAfGain, funcAfGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "RF Gain", commandKnob, funcRfGain, funcRfGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "TX Power", commandKnob, funcRFPower, funcRFPower, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Mic Gain", commandKnob, funcMicGain, funcMicGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Mod Level", commandKnob, funcDATAOffMod, funcDATAOffMod, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Data Mod", commandKnob, funcDATAOffMod, funcDATAOffMod, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Squelch", commandKnob, funcSquelch, funcSquelch, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Monitor", commandKnob, funcMonitorGain, funcMonitorGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Compressor", commandKnob, funcCompressorLevel, funcCompressorLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Vox Level", commandKnob, funcVoxGain, funcVoxGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Anti-Vox", commandKnob, funcAntiVoxGain, funcAntiVoxGain, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "NB Level", commandKnob, funcNBLevel, funcNBLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "NR Level", commandKnob, funcNRLevel, funcNRLevel, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandKnob, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "IF Shift", commandKnob, cmdSetIFShift, cmdGetIFShift, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "In PBT", commandKnob, cmdSetTPBFInner, cmdGetTPBFInner, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Out PBT", commandKnob, cmdSetTPBFOuter, cmdGetTPBFOuter, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "IF Shift", commandKnob, funcIFShift, funcIFShift, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "In PBT", commandKnob, funcPBTInner, funcPBTInner, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Out PBT", commandKnob, funcPBTOuter, funcPBTOuter, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "Span/Step", commandKnob, cmdSeparator, (quint8)0x0));
|
||||
commands.append(COMMAND(num++, "CW Pitch", commandKnob, cmdSetCwPitch, cmdGetCwPitch, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "CW Speed", commandKnob, cmdSetKeySpeed, cmdGetKeySpeed, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "CW Pitch", commandKnob, funcCwPitch, funcCwPitch, (quint8)0xff));
|
||||
commands.append(COMMAND(num++, "CW Speed", commandKnob, funcKeySpeed, funcKeySpeed, (quint8)0xff));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1951,7 +1953,7 @@ void usbController::restoreController(USBDEVICE* dev, QString file)
|
|||
dev->speed = (quint8)settings->value("Speed", 2).toInt();
|
||||
dev->timeout = (quint8)settings->value("Timeout", 30).toInt();
|
||||
dev->color.setNamedColor(settings->value("Color", QColor(Qt::white).name(QColor::HexArgb)).toString());
|
||||
dev->lcd = (cmds)settings->value("LCD",0).toInt();
|
||||
dev->lcd = (funcs)settings->value("LCD",0).toInt();
|
||||
|
||||
qInfo(logUsbControl()) << "Restore of" << dev->product << "path" << dev->path << "from" << file;
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ struct USBDEVICE {
|
|||
quint8 brightness=2;
|
||||
quint8 orientation=0;
|
||||
QColor color=Qt::darkGray;
|
||||
cmds lcd=cmdNone;
|
||||
funcs lcd=funcNone;
|
||||
|
||||
hid_device* handle = NULL;
|
||||
QString product = "";
|
||||
|
@ -154,8 +154,8 @@ struct COMMAND {
|
|||
int index=0;
|
||||
QString text;
|
||||
usbCommandType cmdType = commandButton;
|
||||
int command=0;
|
||||
int getCommand=0;
|
||||
int command=funcNone;
|
||||
int getCommand=funcNone;
|
||||
unsigned char suffix=0x0;
|
||||
int value=0;
|
||||
availableBands band=bandGen;
|
||||
|
|
2365
wfmain.cpp
2365
wfmain.cpp
Plik diff jest za duży
Load Diff
143
wfmain.h
143
wfmain.h
|
@ -48,6 +48,7 @@
|
|||
#include "cluster.h"
|
||||
#include "audiodevices.h"
|
||||
#include "sidebandchooser.h"
|
||||
#include "debugWindow.h"
|
||||
|
||||
#include <qcustomplot.h>
|
||||
#include <qserialportinfo.h>
|
||||
|
@ -171,8 +172,8 @@ signals:
|
|||
void getAfGain();
|
||||
void getSql();
|
||||
void getIfShift();
|
||||
void getTPBFInner();
|
||||
void getTPBFOuter();
|
||||
void getPBTInner();
|
||||
void getPBTOuter();
|
||||
void getTxPower();
|
||||
void getMicGain();
|
||||
void getSpectrumRefLevel();
|
||||
|
@ -202,12 +203,12 @@ signals:
|
|||
void setAfGain(unsigned char level);
|
||||
void setSql(unsigned char level);
|
||||
void setIFShift(unsigned char level);
|
||||
void setTPBFInner(unsigned char level);
|
||||
void setTPBFOuter(unsigned char level);
|
||||
void setPBTInner(unsigned char level);
|
||||
void setPBTOuter(unsigned char level);
|
||||
|
||||
void setIFShiftWindow(unsigned char level);
|
||||
void setTPBFInnerWindow(unsigned char level);
|
||||
void setTPBFOuterWindow(unsigned char level);
|
||||
void setPBTInnerWindow(unsigned char level);
|
||||
void setPBTOuterWindow(unsigned char level);
|
||||
void setMicGain(unsigned char);
|
||||
void setCompLevel(unsigned char);
|
||||
void setTxPower(unsigned char);
|
||||
|
@ -300,7 +301,11 @@ signals:
|
|||
void setFrequencyRange(double low, double high);
|
||||
void sendControllerRequest(USBDEVICE* dev, usbFeatureType request, int val=0, QString text="", QImage* img=Q_NULLPTR, QColor* color=Q_NULLPTR);
|
||||
|
||||
// Signals to forward incoming data onto other areas
|
||||
void haveMemory(memoryType mem);
|
||||
|
||||
private slots:
|
||||
void receiveValue(cacheItem val);
|
||||
void setAudioDevicesUI();
|
||||
void updateSizes(int tabIndex);
|
||||
void shortcutF1();
|
||||
|
@ -345,54 +350,48 @@ private slots:
|
|||
|
||||
void receiveCommReady();
|
||||
void receiveFreq(freqt);
|
||||
void receiveMode(unsigned char mode, unsigned char filter);
|
||||
void receiveMode(mode_info mode);
|
||||
void receiveSpectrumData(QByteArray spectrum, double startFreq, double endFreq);
|
||||
void receiveSpectrumMode(spectrumMode spectMode);
|
||||
void receiveSpectrumSpan(freqt freqspan, bool isSub);
|
||||
void handleScopeOutOfRange(bool outOfRange);
|
||||
void receivePTTstatus(bool pttOn);
|
||||
void receiveDataModeStatus(bool dataOn);
|
||||
void receiveDataModeStatus(unsigned char data, unsigned char filter);
|
||||
void receiveBandStackReg(freqt f, char mode, char filter, bool dataOn); // freq, mode, (filter,) datamode
|
||||
void receiveRITStatus(bool ritEnabled);
|
||||
void receiveRITValue(int ritValHz);
|
||||
void receiveModInput(inputTypes input, bool dataOn);
|
||||
void receiveModInput(rigInput input, unsigned char data);
|
||||
//void receiveDuplexMode(duplexMode dm);
|
||||
void receivePassband(quint16 pass);
|
||||
void receiveMonitorGain(unsigned char pass);
|
||||
void receiveNBLevel(unsigned char pass);
|
||||
void receiveNRLevel(unsigned char pass);
|
||||
void receiveCwPitch(unsigned char pitch);
|
||||
void receiveTPBFInner(unsigned char level);
|
||||
void receiveTPBFOuter(unsigned char level);
|
||||
void receivePBTInner(unsigned char level);
|
||||
void receivePBTOuter(unsigned char level);
|
||||
void receiveVox(bool en);
|
||||
void receiveMonitor(bool en);
|
||||
void receiveComp(bool en);
|
||||
void receiveNB(bool en);
|
||||
void receiveNR(bool en);
|
||||
void receiveTuningStep(unsigned char step);
|
||||
void receiveMemory(memoryType mem);
|
||||
|
||||
// Levels:
|
||||
void receiveRfGain(unsigned char level);
|
||||
void receiveAfGain(unsigned char level);
|
||||
void receiveSql(unsigned char level);
|
||||
void receiveIFShift(unsigned char level);
|
||||
void receiveTBPFInner(unsigned char level);
|
||||
void receiveTBPFOuter(unsigned char level);
|
||||
|
||||
// 'change' from data in transceiver controls window:
|
||||
void changeIFShift(unsigned char level);
|
||||
void changeTPBFInner(unsigned char level);
|
||||
void changeTPBFOuter(unsigned char level);
|
||||
void changePBTInner(unsigned char level);
|
||||
void changePBTOuter(unsigned char level);
|
||||
void receiveTxPower(unsigned char power);
|
||||
void receiveMicGain(unsigned char gain);
|
||||
void receiveCompLevel(unsigned char compLevel);
|
||||
void receiveVoxGain(unsigned char voxGain);
|
||||
void receiveAntiVoxGain(unsigned char antiVoxGain);
|
||||
void receiveSpectrumRefLevel(int level);
|
||||
void receiveACCGain(unsigned char level, unsigned char ab);
|
||||
void receiveUSBGain(unsigned char level);
|
||||
void receiveLANGain(unsigned char level);
|
||||
|
||||
|
||||
// Meters:
|
||||
void receiveMeter(meterKind meter, unsigned char level);
|
||||
|
@ -419,7 +418,6 @@ private slots:
|
|||
void handleWFDoubleClick(QMouseEvent *);
|
||||
void handleWFScroll(QWheelEvent *);
|
||||
void handlePlotScroll(QWheelEvent *);
|
||||
void sendRadioCommandLoop();
|
||||
void showStatusBarText(QString text);
|
||||
void receiveBaudRate(quint32 baudrate);
|
||||
void radioSelection(QList<radio_cap_packet> radios);
|
||||
|
@ -518,6 +516,10 @@ private slots:
|
|||
|
||||
void on_afGainSlider_valueChanged(int value);
|
||||
|
||||
void on_monitorSlider_valueChanged(int value);
|
||||
|
||||
void on_monitorCheck_clicked(bool checked);
|
||||
|
||||
void on_tuneNowBtn_clicked();
|
||||
|
||||
void on_tuneEnableChk_clicked(bool checked);
|
||||
|
@ -572,7 +574,7 @@ private slots:
|
|||
|
||||
void on_modeFilterCombo_activated(int index);
|
||||
|
||||
void on_dataModeBtn_toggled(bool checked);
|
||||
void on_datamodeCombo_activated(int index);
|
||||
|
||||
void on_transmitBtn_clicked();
|
||||
|
||||
|
@ -1003,43 +1005,6 @@ private:
|
|||
|
||||
unsigned char setModeVal=0;
|
||||
unsigned char setFilterVal=0;
|
||||
|
||||
std::deque <commandtype> delayedCmdQue; // rapid commands from user interaction
|
||||
std::deque <cmds> periodicCmdQueue; // rapid que for metering
|
||||
std::deque <cmds> slowPollCmdQueue; // slow, regular checking for UI sync
|
||||
std::deque <cmds> rapidPollCmdQueue; // rapid regular polling for non-meter actions
|
||||
void doCmd(cmds cmd);
|
||||
void doCmd(commandtype cmddata);
|
||||
|
||||
bool rapidPollCmdQueueEnabled = false;
|
||||
|
||||
void issueCmd(cmds cmd, freqt f);
|
||||
void issueCmd(cmds cmd, mode_info m);
|
||||
void issueCmd(cmds cmd, vfo_t v);
|
||||
void issueCmd(cmds cmd, rptrTone_t t);
|
||||
void issueCmd(cmds cmd, rptrAccessData_t rd);
|
||||
void issueCmd(cmds cmd, timekind t);
|
||||
void issueCmd(cmds cmd, datekind d);
|
||||
void issueCmd(cmds cmd, int i);
|
||||
void issueCmd(cmds cmd, unsigned char c);
|
||||
void issueCmd(cmds cmd, char c);
|
||||
void issueCmd(cmds cmd, bool b);
|
||||
void issueCmd(cmds cmd, quint16 c);
|
||||
void issueCmd(cmds cmd, quint32 c);
|
||||
void issueCmd(cmds cmd, qint16 c);
|
||||
void issueCmd(cmds cmd, QString s);
|
||||
void issueCmd(cmds cmd, memoryType s);
|
||||
|
||||
// These commands pop_front and remove similar commands:
|
||||
void issueCmdUniquePriority(cmds cmd, bool b);
|
||||
void issueCmdUniquePriority(cmds cmd, unsigned char c);
|
||||
void issueCmdUniquePriority(cmds cmd, char c);
|
||||
void issueCmdUniquePriority(cmds cmd, freqt f);
|
||||
void issueCmdUniquePriority(cmds cmd, quint16 c);
|
||||
void issueCmdUniquePriority(cmds cmd, qint16 c);
|
||||
|
||||
void removeSimilarCommand(cmds cmd);
|
||||
|
||||
qint64 lastFreqCmdTime_ms;
|
||||
|
||||
int pCmdNum = 0;
|
||||
|
@ -1091,6 +1056,11 @@ private:
|
|||
void setColorButtonOperations(QColor *colorStore, QLineEdit *e, QLedLabel *d);
|
||||
void setColorLineEditOperations(QColor *colorStore, QLineEdit *e, QLedLabel *d);
|
||||
|
||||
void calculateTimingParameters();
|
||||
void initPeriodicCommands();
|
||||
void changePollTiming(int timing_ms, bool setUI=false);
|
||||
|
||||
|
||||
void detachSettingsTab();
|
||||
void reattachSettingsTab();
|
||||
void prepareSettingsWindow();
|
||||
|
@ -1108,9 +1078,6 @@ private:
|
|||
void setUIFreq();
|
||||
|
||||
void changeTxBtn();
|
||||
void issueDelayedCommand(cmds cmd);
|
||||
void issueDelayedCommandPriority(cmds cmd);
|
||||
void issueDelayedCommandUnique(cmds cmd);
|
||||
void changeSliderQuietly(QSlider *slider, int value);
|
||||
void statusFromSliderPercent(QString name, int percentValue);
|
||||
void statusFromSliderRaw(QString name, int rawValue);
|
||||
|
@ -1119,29 +1086,13 @@ private:
|
|||
|
||||
void processChangingCurrentModLevel(unsigned char level);
|
||||
|
||||
void changeModLabel(inputTypes source);
|
||||
void changeModLabel(inputTypes source, bool updateLevel);
|
||||
void changeModLabel(rigInput source);
|
||||
void changeModLabel(rigInput source, bool updateLevel);
|
||||
|
||||
void changeModLabelAndSlider(inputTypes source);
|
||||
|
||||
void initPeriodicCommands();
|
||||
// Fast command queue for S-Meter:
|
||||
void insertPeriodicCommand(cmds cmd, unsigned char priority);
|
||||
void insertPeriodicCommandUnique(cmds cmd);
|
||||
void removePeriodicCommand(cmds cmd);
|
||||
// Fast command queue for other functions:
|
||||
void insertPeriodicRapidCmd(cmds cmd);
|
||||
void insertPeriodicRapidCmdUnique(cmds cmd);
|
||||
void removePeriodicRapidCmd(cmds cmd);
|
||||
|
||||
|
||||
void insertSlowPeriodicCommand(cmds cmd, unsigned char priority);
|
||||
void removeSlowPeriodicCommand(cmds cmd);
|
||||
void calculateTimingParameters();
|
||||
void changePollTiming(int timing_ms, bool setUI=false);
|
||||
void changeModLabelAndSlider(rigInput source);
|
||||
|
||||
void changeMode(mode_kind mode);
|
||||
void changeMode(mode_kind mode, bool dataOn);
|
||||
void changeMode(mode_kind mode, unsigned char data);
|
||||
|
||||
void connectionHandler(bool connect);
|
||||
|
||||
|
@ -1153,22 +1104,19 @@ private:
|
|||
|
||||
QHash<unsigned char,QString> rigList;
|
||||
rigCapabilities rigCaps;
|
||||
inputTypes currentModSrc = inputUnknown;
|
||||
inputTypes currentModDataSrc = inputUnknown;
|
||||
mode_kind currentMode = modeUSB;
|
||||
mode_info currentModeInfo;
|
||||
|
||||
rigInput currentModDataOffSrc = rigInput(inputUnknown);
|
||||
rigInput currentModData1Src = rigInput(inputUnknown);
|
||||
rigInput currentModData2Src = rigInput(inputUnknown);
|
||||
rigInput currentModData3Src = rigInput(inputUnknown);
|
||||
|
||||
mode_kind currentMode = modeUnknown;
|
||||
mode_info currentModeInfo = mode_info();
|
||||
|
||||
bool haveRigCaps;
|
||||
bool amTransmitting = false;
|
||||
bool splitModeEnabled = false;
|
||||
bool usingDataMode = false;
|
||||
|
||||
unsigned char micGain=0;
|
||||
unsigned char accAGain=0;
|
||||
unsigned char accBGain=0;
|
||||
unsigned char accGain=0;
|
||||
unsigned char usbGain=0;
|
||||
unsigned char lanGain=0;
|
||||
unsigned char usingDataMode = 99; // Set to invalid value initially
|
||||
|
||||
// Widgets and Special Windows:
|
||||
calibrationWindow *cal = Q_NULLPTR;
|
||||
|
@ -1211,8 +1159,8 @@ private:
|
|||
rigstate* rigState = Q_NULLPTR;
|
||||
|
||||
passbandActions passbandAction = passbandStatic;
|
||||
double TPBFInner = 0.0;
|
||||
double TPBFOuter = 0.0;
|
||||
double PBTInner = 0.0;
|
||||
double PBTOuter = 0.0;
|
||||
double passbandCenterFrequency = 0.0;
|
||||
double pbtDefault = 0.0;
|
||||
quint16 cwPitch = 600;
|
||||
|
@ -1240,7 +1188,6 @@ private:
|
|||
QSocketNotifier* uDevNotifier = nullptr;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
memories* memWindow = Q_NULLPTR;
|
||||
dxClusterClient* cluster = Q_NULLPTR;
|
||||
QThread* clusterThread = Q_NULLPTR;
|
||||
|
@ -1290,6 +1237,8 @@ Q_DECLARE_METATYPE(enum usbFeatureType)
|
|||
Q_DECLARE_METATYPE(enum cmds)
|
||||
Q_DECLARE_METATYPE(rigTypedef)
|
||||
Q_DECLARE_METATYPE(struct memoryType)
|
||||
Q_DECLARE_METATYPE(struct antennaInfo)
|
||||
Q_DECLARE_METATYPE(struct scopeData)
|
||||
|
||||
//void (*wfmain::logthistext)(QString text) = NULL;
|
||||
|
||||
|
|
477
wfmain.ui
477
wfmain.ui
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1042</width>
|
||||
<height>660</height>
|
||||
<width>1063</width>
|
||||
<height>569</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -489,15 +489,15 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="dataModeBtn">
|
||||
<property name="accessibleName">
|
||||
<string>Data Mode Enable</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_55">
|
||||
<property name="text">
|
||||
<string>Data</string>
|
||||
<string>Data:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="datamodeCombo"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_22">
|
||||
<property name="text">
|
||||
|
@ -535,18 +535,40 @@
|
|||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_17">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="rfGainSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -579,6 +601,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -586,18 +624,40 @@
|
|||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_18">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="afGainSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -630,6 +690,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -637,18 +713,40 @@
|
|||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_19">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="sqlSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -681,6 +779,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_10">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -688,18 +802,40 @@
|
|||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_20">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="txPowerSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -732,6 +868,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_11">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -739,18 +891,40 @@
|
|||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_21">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="micGainSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -783,6 +957,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_12">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -790,18 +980,40 @@
|
|||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_22">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="scopeRefLevelSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -843,6 +1055,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_13">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -850,18 +1078,40 @@
|
|||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_23">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="wfLengthSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -897,6 +1147,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_14">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -907,18 +1173,40 @@
|
|||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_24">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="topLevelSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -954,6 +1242,22 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_15">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -970,18 +1274,40 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_25">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="botLevelSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
|
@ -1008,6 +1334,99 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_16">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_29">
|
||||
<item>
|
||||
<spacer name="verticalSpacer_26">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="monitorSlider">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Set the rado monitor level</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_54">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mon</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="monitorCheck">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -2258,7 +2677,7 @@
|
|||
<item>
|
||||
<widget class="QStackedWidget" name="settingsStack">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="radioAccess">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
|
@ -3483,7 +3902,7 @@ Please use the "Radio Server" page to select server audio</string>
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>579</width>
|
||||
<width>824</width>
|
||||
<height>254</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -5562,7 +5981,7 @@ Please use the "Radio Server" page to select server audio</string>
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1042</width>
|
||||
<width>1063</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -5590,8 +6009,8 @@ Please use the "Radio Server" page to select server audio</string>
|
|||
<resources/>
|
||||
<connections/>
|
||||
<buttongroups>
|
||||
<buttongroup name="underlayButtonGroup"/>
|
||||
<buttongroup name="buttonGroup"/>
|
||||
<buttongroup name="pollingButtonGroup"/>
|
||||
<buttongroup name="underlayButtonGroup"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
|
|
@ -233,6 +233,7 @@ SOURCES += main.cpp\
|
|||
cachingqueue.cpp \
|
||||
cwsender.cpp \
|
||||
cwsidetone.cpp \
|
||||
debugwindow.cpp \
|
||||
loggingwindow.cpp \
|
||||
memories.cpp \
|
||||
rigcreator.cpp \
|
||||
|
@ -276,6 +277,7 @@ HEADERS += wfmain.h \
|
|||
commhandler.h \
|
||||
cwsender.h \
|
||||
cwsidetone.h \
|
||||
debugwindow.h \
|
||||
loggingwindow.h \
|
||||
memories.h \
|
||||
prefs.h \
|
||||
|
@ -325,6 +327,7 @@ HEADERS += wfmain.h \
|
|||
FORMS += wfmain.ui \
|
||||
calibrationwindow.ui \
|
||||
cwsender.ui \
|
||||
debugwindow.ui \
|
||||
loggingwindow.ui \
|
||||
memories.ui \
|
||||
rigcreator.ui \
|
||||
|
|
117
wfviewtypes.h
117
wfviewtypes.h
|
@ -117,17 +117,38 @@ struct rptrAccessData_t {
|
|||
};
|
||||
|
||||
struct mode_info {
|
||||
mode_info() {};
|
||||
mode_info () {};
|
||||
mode_info(mode_kind mk, quint8 reg, QString name, bool bw): mk(mk), reg(reg), name(name),bw(bw) {};
|
||||
mode_kind mk;
|
||||
unsigned char reg;
|
||||
unsigned char filter;
|
||||
mode_kind mk=modeUnknown;
|
||||
unsigned char reg=99;
|
||||
unsigned char filter=1; // Default filter is always 1
|
||||
selVFO_t VFO = activeVFO;
|
||||
bool data = false;
|
||||
QString name;
|
||||
bool bw; // Can the bandwidth of the current filter be changed?
|
||||
unsigned char data = 0;
|
||||
QString name="";
|
||||
bool bw=false; // Can the bandwidth of the current filter be changed?
|
||||
quint16 pass = 0;
|
||||
};
|
||||
|
||||
struct antennaInfo {
|
||||
quint8 antenna;
|
||||
bool rx;
|
||||
};
|
||||
|
||||
struct scopeData {
|
||||
bool valid=false;
|
||||
QByteArray data;
|
||||
bool mainSub;
|
||||
uchar mode;
|
||||
bool oor;
|
||||
double startFreq;
|
||||
double endFreq;
|
||||
};
|
||||
|
||||
struct toneInfo {
|
||||
quint16 tone=0;
|
||||
bool tinv=false;
|
||||
bool rinv=false;
|
||||
};
|
||||
|
||||
enum breakIn_t {
|
||||
brkinOff = 0x00,
|
||||
|
@ -154,41 +175,41 @@ struct timekind {
|
|||
};
|
||||
|
||||
enum cmds {
|
||||
cmdNone, cmdGetRigID, cmdGetRigCIV, cmdGetFreq, cmdGetFreqB, cmdSetFreq, cmdGetMode, cmdSetMode,
|
||||
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
||||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
||||
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetNRLevel, cmdSetNRLevel, cmdGetTPBFInner, cmdSetTPBFInner,
|
||||
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetPassband, cmdSetPassband, cmdGetNBLevel, cmdSetNBLevel,
|
||||
cmdGetCompLevel, cmdSetCompLevel, cmdGetTuningStep, cmdSetTuningStep,
|
||||
cmdGetMonitorGain, cmdSetMonitorGain, cmdGetVoxGain, cmdSetVoxGain, cmdGetAntiVoxGain, cmdSetAntiVoxGain,
|
||||
cmdGetCwPitch, cmdGetPskTone, cmdGetRttyMark, cmdSetCwPitch, cmdSetPskTone, cmdSetRttyMark,
|
||||
cmdGetVox,cmdSetVox, cmdGetMonitor,cmdSetMonitor, cmdGetComp, cmdSetComp, cmdGetNB, cmdSetNB, cmdGetNR, cmdSetNR,
|
||||
cmdSetATU, cmdStartATU, cmdGetATUStatus,
|
||||
cmdGetSpectrumMode, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode,
|
||||
cmdGetPTT, cmdSetPTT,cmdPTTToggle,
|
||||
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdGetModLevel, cmdSetModLevel,
|
||||
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
||||
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
|
||||
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
||||
cmdGetTone, cmdGetTSQL, cmdGetToneEnabled, cmdGetTSQLEnabled, cmdGetDTCS,
|
||||
cmdSetToneEnabled, cmdSetTSQLEnabled, cmdGetRptAccessMode, cmdSetTone, cmdSetTSQL,
|
||||
cmdSetRptAccessMode, cmdSetRptDuplexOffset, cmdGetRptDuplexOffset,
|
||||
cmdSelVFO, cmdVFOSwap, cmdVFOEqualAB, cmdVFOEqualMS, cmdSetQuickSplit,
|
||||
cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
||||
cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW, cmdGetDashRatio, cmdSetDashRatio,
|
||||
cmdSetTime, cmdSetDate, cmdSetUTCOffset,
|
||||
cmdGetTransceive, cmdSetTransceive,cmdGetPower,cmdSetPower,
|
||||
cmdGetMemory, cmdGetSatMemory, cmdSetMemory, cmdClearMemory,cmdRecallMemory, cmdSetVFOMode, cmdSetMemoryMode, cmdSetSatelliteMode,
|
||||
// Below Only used for USB Controller at the moment.
|
||||
cmdSetBandUp, cmdSetBandDown, cmdSetModeUp, cmdSetModeDown, cmdSetStepUp, cmdSetStepDown,
|
||||
cmdSetSpanUp, cmdSetSpanDown, cmdIFFilterUp, cmdIFFilterDown, cmdPageDown, cmdPageUp,
|
||||
cmdLCDWaterfall, cmdLCDSpectrum, cmdLCDNothing, cmdSeparator
|
||||
cmdNone, cmdGetRigID, cmdGetRigCIV, cmdGetFreq, cmdGetFreqB, cmdSetFreq, cmdGetMode, cmdSetMode,
|
||||
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
||||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
||||
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetNRLevel, cmdSetNRLevel, cmdGetPBTInner, cmdSetPBTInner,
|
||||
cmdGetPBTOuter, cmdSetPBTOuter, cmdGetPassband, cmdSetPassband, cmdGetNBLevel, cmdSetNBLevel,
|
||||
cmdGetCompLevel, cmdSetCompLevel, cmdGetTuningStep, cmdSetTuningStep,
|
||||
cmdGetMonitorGain, cmdSetMonitorGain, cmdGetVoxGain, cmdSetVoxGain, cmdGetAntiVoxGain, cmdSetAntiVoxGain,
|
||||
cmdGetCwPitch, cmdGetPskTone, cmdGetRttyMark, cmdSetCwPitch, cmdSetPskTone, cmdSetRttyMark,
|
||||
cmdGetVox,cmdSetVox, cmdGetMonitor,cmdSetMonitor, cmdGetComp, cmdSetComp, cmdGetNB, cmdSetNB, cmdGetNR, cmdSetNR,
|
||||
cmdSetATU, cmdStartATU, cmdGetATUStatus,
|
||||
cmdGetSpectrumMode, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode,
|
||||
cmdGetPTT, cmdSetPTT,cmdPTTToggle,
|
||||
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdGetModLevel, cmdSetModLevel,
|
||||
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
||||
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
|
||||
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
||||
cmdGetTone, cmdGetTSQL, cmdGetToneEnabled, cmdGetTSQLEnabled, cmdGetDTCS,
|
||||
cmdSetToneEnabled, cmdSetTSQLEnabled, cmdGetRptAccessMode, cmdSetTone, cmdSetTSQL,
|
||||
cmdSetRptAccessMode, cmdSetRptDuplexOffset, cmdGetRptDuplexOffset,
|
||||
cmdSelVFO, cmdVFOSwap, cmdVFOEqualAB, cmdVFOEqualMS, cmdSetQuickSplit,
|
||||
cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
||||
cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW, cmdGetDashRatio, cmdSetDashRatio,
|
||||
cmdSetTime, cmdSetDate, cmdSetUTCOffset,
|
||||
cmdGetTransceive, cmdSetTransceive,cmdGetPower,cmdSetPower,
|
||||
cmdGetMemory, cmdGetSatMemory, cmdSetMemory, cmdClearMemory,cmdRecallMemory, cmdSetVFOMode, cmdSetMemoryMode, cmdSetSatelliteMode,
|
||||
// Below Only used for USB Controller at the moment.
|
||||
cmdSetBandUp, cmdSetBandDown, cmdSetModeUp, cmdSetModeDown, cmdSetStepUp, cmdSetStepDown,
|
||||
cmdSetSpanUp, cmdSetSpanDown, cmdIFFilterUp, cmdIFFilterDown, cmdPageDown, cmdPageUp,
|
||||
cmdLCDWaterfall, cmdLCDSpectrum, cmdLCDNothing, cmdSeparator
|
||||
};
|
||||
|
||||
|
||||
// funcs and funcString MUST match exactly (and NUMFUNCS must be updated)
|
||||
#define NUMFUNCS 188
|
||||
#define NUMFUNCS 197
|
||||
|
||||
enum funcs { funcNone,
|
||||
funcfreqTR, funcModeTR, funcBandEdgeFreq, funcFreqGet, funcModeGet, funcFreqSet, // \x00
|
||||
|
@ -209,7 +230,7 @@ funcDSPIFFilter, funcNotchWidth, funcSSBBandwidth, funcMainSu
|
|||
funcToneSquelchType, funcIPPlus, funcSendCW, funcPowerControl, funcTransceiverId, funcFilterWidth,
|
||||
funcMemoryContents, funcBandStackReg, funcMemoryKeyer, funcIFFilterWidth, funcQuickDualWatch, funcQuickSplit,
|
||||
funcAutoRepeater, funcTunerStatus, funcTransverter, funcTransverterOffset, funcLockFunction, funcREFAdjust,
|
||||
funcREFAdjustFine, funcACC1ModLevel, funcACC2ModLevel, funcUSBModLevel, funcLANModLevel, funcDATAOffMod,
|
||||
funcREFAdjustFine, funcACCAModLevel, funcACCBModLevel, funcUSBModLevel, funcLANModLevel, funcSPDIFModLevel, funcDATAOffMod,
|
||||
funcDATA1Mod, funcDATA2Mod, funcDATA3Mod, funcCIVTransceive, funcTime, funcDate,
|
||||
funcUTCOffset, funcCLOCK2, funcCLOCK2UTCOffset, funcCLOCK2Name, funcDashRatio, funcScanSpeed,
|
||||
funcScanResume, funcRecorderMode, funcRecorderTX, funcRecorderRX, funcRecorderSplit, funcRecorderPTTAuto,
|
||||
|
@ -217,14 +238,16 @@ funcRecorderPreRec, funcRXAntConnector, funcAntennaSelectMode, funcNBDept
|
|||
funcVOXVoiceDelay, funcAPFType, funcAPFTypeLevel, funcPSKTone, funcRTTYMarkTone, funcDataModeWithFilter,
|
||||
funcAFMute, funcToneFreq, funcTSQLFreq, funcDTCSCode, funcCSQLCode, funcTransceiverStatus,
|
||||
funcXFCStatus, funcReadTXFreq, funcCIVOutput, funcReadTXFreqs, funcReadUserTXFreqs, funcUserTXBandEdgeFreq,
|
||||
funcRITFreq, funcRitStatus, funcRitTXStatus, funcMainSubFreq, funcMainSubMode, funcScopeWaveData,
|
||||
funcRITFreq, funcRitStatus, funcRitTXStatus, funcSelectedFreq, funcSelectedMode, funcUnselectedFreq,
|
||||
funcUnselectedMode, funcScopeWaveData,
|
||||
funcScopeOnOff, funcScopeDataOutput, funcScopeMainSub, funcScopeSingleDual, funcScopeCenterFixed, funcScopeCenterSpan,
|
||||
funcScopeEdgeNumber, funcScopeHold, funcScopeRef, funcScopeSpeed, funcScopeDuringTX, funcScopeCenterType,
|
||||
funcScopeVBW, funcScopeFixedFreq, funcScopeRBW, funcVoiceTX, funcMainSubPrefix, funcAFCSetting,
|
||||
funcGPSTXMode, funcSatelliteMemory, funcGPSPosition, funcMemoryGroup, funcSelectVFO, funcFA,
|
||||
funcGPSTXMode, funcSatelliteMemory, funcGPSPosition, funcMemoryGroup, funcSelectVFO, funcSeparator,
|
||||
funcLCDWaterfall, funcLCDSpectrum, funcLCDNothing, funcPageUp, funcPageDown, funcFA,
|
||||
funcFB
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Any changes to these strings WILL break rig definitions, add new ones to end. **Missing commas concatenate strings!**
|
||||
static QString funcString[] { "None",
|
||||
|
@ -246,19 +269,21 @@ static QString funcString[] { "None",
|
|||
"Tone Squelch Type", "IP Plus Status", "Send CW", "Power Control", "Transceiver ID", "Filter Width",
|
||||
"Memory Contents", "Band Stacking Reg", "Memory Keyer", "IF Filter Width", "Quick Dual Watch", "Quick Split",
|
||||
"Auto Repeater Mode", "Tuner/ATU Status", "Transverter Function", "Transverter Offset", "Lock Function", "REF Adjust",
|
||||
"REF Adjust Fine", "ACC1 Mod Level", "ACC2 Mod Level", "USB Mod Level", "LAN Mod Level", "Data Off Mod Input",
|
||||
"REF Adjust Fine", "ACC1 Mod Level", "ACC2 Mod Level", "USB Mod Level", "LAN Mod Level", "SPDIF Mod Level", "Data Off Mod Input",
|
||||
"DATA1 Mod Input", "DATA2 Mod Input", "DATA3 Mod Input", "CIV Transceive", "System Time", "System Date",
|
||||
"UTC Offset", "CLOCK2 Setting", "CLOCK2 UTC Offset", "CLOCK 2 Name", "Dash Ratio", "Scanning Speed",
|
||||
"Scanning Resume", "Recorder Mode", "Recorder TX", "Recorder RX", "Recorder Split", "Recorder PTT Auto",
|
||||
"Recorder Pre Rec", "RX Ant Connector", "Antenna Select Mode", "NB Depth", "NB Width", "VOX Delay",
|
||||
"VOX Voice Delay", "APF Type", "APF Type Level", "PSK Tone", "RTTY Mark Tone", "Data Mode Filter",
|
||||
"AF Mute Status", "Tone Frequency", "TSQL Frequency", "DTCS Code/Polarity", "CSQL Code", "Transceiver Status",
|
||||
"AF Mute Status", "Tone Frequency", "TSQL Frequency", "DTCS Code/Polarity", "CSQL Code", "Transceiver Status",
|
||||
"XFC Status", "Read TX Freq", "CI-V Output", "Read TX Freqs", "Read User TX Freqs", "User TX Band Edge Freq",
|
||||
"RIT Frequency", "RIT Status", "RIT TX Status", "Main/Sub Freq", "Main/Sub Mode", "Scope Wave Data",
|
||||
"RIT Frequency", "RIT Status", "RIT TX Status", "Selected Freq", "Selected Mode", "Unselected Freq",
|
||||
"Unselected Mode", "Scope Wave Data",
|
||||
"Scope On/Off", "Scope Data Output", "Scope Main/Sub", "Scope Single/Dual", "Scope Center Fixed", "Scope Center Span",
|
||||
"Scope Edge Number", "Scope Hold", "Scope Ref", "Scope Speed", "Scope During TX", "Scope Center Type",
|
||||
"Scope VBW", "Scope Fixed Freq", "Scope RBW", "Voice TX", "Main/Sub Prefix", "AFC Function",
|
||||
"GPS TX Mode", "Satellite Memory", "GPS Position", "Memory Group", "(int)Select VFO", "Command Error FA",
|
||||
"GPS TX Mode", "Satellite Memory", "GPS Position", "Memory Group", "-Select VFO", "-Seperator",
|
||||
"-LCD Waterfall", "-LCD Spectrum", "-LCD Nothing", "-Page Up", "-Page Down", "Command Error FA",
|
||||
"Command OK FB"
|
||||
};
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue