#22
1.4.0
PianetaRadio 2022-12-05 21:02:58 +01:00 zatwierdzone przez GitHub
rodzic e642a6f545
commit 724a3dc356
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 87 dodań i 27 usunięć

Wyświetl plik

@ -22,6 +22,11 @@
#include "rig.h"
#include <stdio.h>
#include <string.h>
#include <QDebug>
DialogCommand::DialogCommand(RIG *rig, QWidget *parent) :
QDialog(parent),
@ -29,6 +34,10 @@ DialogCommand::DialogCommand(RIG *rig, QWidget *parent) :
{
ui->setupUi(this);
my_rig = rig;
int backend = RIG_BACKEND_NUM(my_rig->caps->rig_model);
if (backend == RIG_YAESU || backend == RIG_KENWOOD) ui->radioButton_yaesu->setChecked(true);
else if (backend == RIG_ICOM) ui->radioButton_icom->setChecked(true);
}
DialogCommand::~DialogCommand()
@ -38,25 +47,45 @@ DialogCommand::~DialogCommand()
void DialogCommand::on_pushButton_send_clicked()
{
bool hex = false; //Flag for Hex command
QString sendCmdS = ui->lineEdit_commandSend->text();
const unsigned char *sendCmd = (unsigned char*)sendCmdS.toLatin1().data();
int sendCmdLen = sendCmdS.size();
unsigned char termCmd[] = ";";
QByteArray sendCmdA;
if (sendCmdS.isEmpty()) return;
if (sendCmdS.contains("0x", Qt::CaseInsensitive)) //Hex input
{
sendCmdS = sendCmdS.mid(2);
sendCmdA = QByteArray::fromHex(sendCmdS.toLatin1());
hex = true;
}
else sendCmdA = sendCmdS.toUtf8(); //Char input
unsigned char rcvdCmd[100];
QByteArray termCmdA;
termCmdA.resize(1);
if (ui->radioButton_yaesu->isChecked()) termCmdA[0] = ';';
else if (ui->radioButton_icom->isChecked()) termCmdA[0] = 0xfd;
else if (ui->radioButton_CR->isChecked()) termCmdA[0] = 0x0d;
else if (ui->radioButton_LF->isChecked()) termCmdA[0] = 0x0a;
else termCmdA[0] = '\0';
unsigned char *termCmd = (unsigned char*)termCmdA.data();
sendCmdA.append(termCmdA);
unsigned char *sendCmd = (unsigned char*)sendCmdA.data();
int sendCmdLen = strlen((char*)sendCmd);
unsigned char rcvdCmd[200];
int rcvdCmdLen = sizeof(rcvdCmd);
//qDebug()<<sendCmdS<<(char*)termCmd<<(char*)sendCmd<<sendCmdLen;
rig_send_raw(my_rig, sendCmd, sendCmdLen, rcvdCmd, rcvdCmdLen, termCmd);
//QString rcvdCmdS = rcvdCmd;
//qDebug()<<(char *)rcvdCmd;
int retLen = rig_send_raw(my_rig, sendCmd, sendCmdLen, rcvdCmd, rcvdCmdLen, termCmd);
if (retLen > 0)
{
QString rcvdCmdS;
QByteArray rcvdCmdA(QByteArray::fromRawData((char *)rcvdCmd, retLen));
if (hex) rcvdCmdS = rcvdCmdA.toHex();
else rcvdCmdS = rcvdCmdA;
ui->lineEdit_receive->setText(rcvdCmdS);
}
//int rig_send_raw(rig, const unsigned char *send, int send_len, unsigned char *reply, int reply_len, unsigned char *term);
//send contains the raw command data

Wyświetl plik

@ -13,49 +13,79 @@
<property name="windowTitle">
<string>Command</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gridLayout" columnstretch="0,0,0,0">
<item row="0" column="0">
<widget class="QLabel" name="label_commandSend">
<property name="text">
<string>Command Send</string>
</property>
<property name="buddy">
<cstring>lineEdit_commandSend</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_commandSend"/>
<item row="2" column="0">
<widget class="QLabel" name="label_received">
<property name="text">
<string>Received</string>
</property>
<property name="buddy">
<cstring>lineEdit_receive</cstring>
</property>
</widget>
</item>
<item row="0" column="2">
<item row="0" column="3">
<widget class="QPushButton" name="pushButton_send">
<property name="text">
<string>Send</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_receive">
<item row="1" column="3">
<widget class="QRadioButton" name="radioButton_LF">
<property name="text">
<string>Receive</string>
<string>LF</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="0" column="1" colspan="2">
<widget class="QLineEdit" name="lineEdit_commandSend"/>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="pushButton_close">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QRadioButton" name="radioButton_CR">
<property name="text">
<string>CR</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QLineEdit" name="lineEdit_receive">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="checkBox_icom">
<item row="1" column="1">
<widget class="QRadioButton" name="radioButton_icom">
<property name="text">
<string>Icom</string>
<string>Icom 0xfd</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pushButton_close">
<item row="1" column="0">
<widget class="QRadioButton" name="radioButton_yaesu">
<property name="text">
<string>Close</string>
<string>Yaesu/Kwd ;</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>

Wyświetl plik

@ -81,7 +81,8 @@ MainWindow::MainWindow(QWidget *parent)
//* Debug
rig_set_debug_level(RIG_DEBUG_WARN); //normal
//rig_set_debug_level(RIG_DEBUG_TRACE); //debug
//rig_set_debug_level(RIG_DEBUG_VERBOSE); //debug verbose
//rig_set_debug_level(RIG_DEBUG_TRACE); //debug trace
rig_set_debug_time_stamp(true);
if ((debugFile=fopen("catradio.log","w+")) == NULL) rig_set_debug_level(RIG_DEBUG_NONE);
else rig_set_debug_file(debugFile);