diff --git a/cwsender.cpp b/cwsender.cpp index 3c66e83..eb08fcf 100644 --- a/cwsender.cpp +++ b/cwsender.cpp @@ -15,6 +15,7 @@ cwSender::cwSender(QWidget *parent) : ui->textToSendEdit->setFocus(); ui->statusbar->setToolTipDuration(3000); this->setToolTipDuration(3000); + connect(ui->textToSendEdit->lineEdit(), &QLineEdit::textEdited, this, &cwSender::textChanged); } cwSender::~cwSender() @@ -26,13 +27,14 @@ cwSender::~cwSender() void cwSender::showEvent(QShowEvent *event) { emit getCWSettings(); + QMainWindow::showEvent(event); (void)event; } void cwSender::handleKeySpeed(unsigned char wpm) { //qDebug(logCW()) << "Told that current WPM is" << wpm; - if((wpm >= 6) && (wpm <=48)) + if ((wpm >= 6) && (wpm <= 48)) { //qDebug(logCW()) << "Setting WPM UI control to" << wpm; ui->wpmSpin->blockSignals(true); @@ -41,6 +43,16 @@ void cwSender::handleKeySpeed(unsigned char wpm) } } +void cwSender::handleDashRatio(unsigned char ratio) +{ + if ((ratio >= 28) && (ratio <= 45)) + { + ui->dashSpin->blockSignals(true); + ui->dashSpin->setValue(double(ratio/10)); + ui->dashSpin->blockSignals(false); + } +} + void cwSender::handlePitch(unsigned char pitch) { quint16 cwPitch = round((((600.0 / 255.0) * pitch) + 300) / 5.0) * 5.0; ui->pitchSpin->blockSignals(true); @@ -68,6 +80,22 @@ void cwSender::handleCurrentModeUpdate(mode_kind mode) } } +void cwSender::textChanged(QString text) +{ + if (ui->sendImmediateChk->isChecked()) + { + if (text.back() == ' ') + { + int toSend = text.mid(0, 30).size(); + if (toSend > 0) { + emit sendCW(text.mid(0, 30)); + ui->transcriptText->appendPlainText(text.mid(0, 30)); + ui->textToSendEdit->clearEditText(); + } + } + } +} + void cwSender::on_sendBtn_clicked() { if( (ui->textToSendEdit->currentText().length() > 0) && @@ -114,12 +142,16 @@ void cwSender::on_wpmSpin_valueChanged(int wpm) emit setKeySpeed((unsigned char)wpm); } +void cwSender::on_dashSpin_valueChanged(double ratio) +{ + emit setDashRatio((unsigned char)double(ratio * 10)); +} + void cwSender::on_pitchSpin_valueChanged(int arg1) { // quint16 cwPitch = round((((600.0 / 255.0) * pitch) + 300) / 5.0) * 5.0; unsigned char pitch = 0; pitch = ceil((arg1 - 300) * (255.0 / 600.0)); - qDebug() << "Setting pitch" << pitch; emit setPitch(pitch); } @@ -189,7 +221,7 @@ void cwSender::runMacroButton(int buttonNumber) if(macroText[buttonNumber].isEmpty()) return; QString outText; - if(macroText[buttonNumber].contains("\%1")) + if(macroText[buttonNumber].contains("%1")) { outText = macroText[buttonNumber].arg(sequenceNumber, 3, 10, QChar('0')); sequenceNumber++; @@ -199,9 +231,20 @@ void cwSender::runMacroButton(int buttonNumber) } else { outText = macroText[buttonNumber]; } - emit sendCW(outText); + + if (ui->cutNumbersChk->isChecked()) + { + outText.replace("0", "T"); + outText.replace("9", "N"); + } + + for (int i = 0; i < outText.size(); i = i + 30) { + emit sendCW(outText.mid(i,30)); + } + ui->transcriptText->appendPlainText(outText); ui->textToSendEdit->setFocus(); + if( (currentMode==modeCW) || (currentMode==modeCW_R) ) { @@ -215,8 +258,8 @@ void cwSender::editMacroButton(int buttonNumber, QPushButton* btn) { bool ok; QString promptFirst = QString("Please enter the text for macro %1,\n" - "up to 30 characters.\n").arg(buttonNumber); - QString promptSecond = QString("You may use \"\%1\" to insert a sequence number."); + "up to 60 characters.\n").arg(buttonNumber); + QString promptSecond = QString("You may use \"%1\" to insert a sequence number."); QString prompt = promptFirst+promptSecond; QString newMacroText = QInputDialog::getText(this, "Macro Edit", @@ -225,12 +268,12 @@ void cwSender::editMacroButton(int buttonNumber, QPushButton* btn) if(!ok) return; - if(newMacroText.length() > 30) + if (newMacroText.length() > 60) { QMessageBox msgBox; msgBox.setText(QString("The text entered was too long \n" - "(max length is 30 characters).\n" - "Your input was %1 characters.").arg(newMacroText.length())); + "(max length is 60 characters).\n" + "Your input was %1 characters.").arg(newMacroText.length())); msgBox.exec(); this->raise(); return; diff --git a/cwsender.h b/cwsender.h index e07ccf7..b767135 100644 --- a/cwsender.h +++ b/cwsender.h @@ -29,12 +29,14 @@ signals: void sendCW(QString cwMessage); void stopCW(); void setKeySpeed(unsigned char wpm); + void setDashRatio(unsigned char ratio); void setPitch(unsigned char pitch); void setBreakInMode(unsigned char b); void getCWSettings(); public slots: void handleKeySpeed(unsigned char wpm); + void handleDashRatio(unsigned char ratio); void handlePitch(unsigned char pitch); void handleBreakInMode(unsigned char b); void handleCurrentModeUpdate(mode_kind mode); @@ -47,10 +49,14 @@ private slots: //void on_textToSendEdit_returnPressed(); + void textChanged(QString text); + void on_breakinCombo_activated(int index); void on_wpmSpin_valueChanged(int arg1); + void on_dashSpin_valueChanged(double arg1); + void on_pitchSpin_valueChanged(int arg1); void on_macro1btn_clicked(); @@ -79,6 +85,7 @@ private: Ui::cwSender *ui; QString macroText[11]; int sequenceNumber = 1; + int lastSentPos = 0; mode_kind currentMode; void processMacroButton(int buttonNumber, QPushButton *btn); void runMacroButton(int buttonNumber); diff --git a/cwsender.ui b/cwsender.ui index 3a9e358..20b8cc2 100644 --- a/cwsender.ui +++ b/cwsender.ui @@ -6,7 +6,7 @@ 0 0 - 886 + 822 451 @@ -177,115 +177,6 @@ - - - - QLayout::SetMinimumSize - - - - - - 0 - 0 - - - - <html><head/><body><p>Set the desired break-in mode:</p><p>1. None: You must manually key and unkey the radio.</p><p>2. Semi: Transmit is automatic and switches to receive at the end of the text.</p><p>3. Full: Same as semi, but with breaks between characters when possible.</p></body></html> - - - - Off - - - - - Semi - - - - - Full - - - - - - - - WPM: - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - Set the Words Per Minute - - - 6 - - - 48 - - - 20 - - - - - - - Break In - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - 300 - - - 900 - - - 5 - - - 600 - - - - - - - PITCH (Hz): - - - Qt::AlignCenter - - - - - @@ -370,6 +261,152 @@ + + + + QLayout::SetMinimumSize + + + + + + 0 + 0 + + + + <html><head/><body><p>Set the desired break-in mode:</p><p>1. None: You must manually key and unkey the radio.</p><p>2. Semi: Transmit is automatic and switches to receive at the end of the text.</p><p>3. Full: Same as semi, but with breaks between characters when possible.</p></body></html> + + + + Off + + + + + Semi + + + + + Full + + + + + + + + PITCH (Hz): + + + Qt::AlignCenter + + + + + + + WPM: + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + 300 + + + 900 + + + 5 + + + 600 + + + + + + + Break In + + + Qt::AlignCenter + + + + + + + 2.800000000000000 + + + 4.500000000000000 + + + 0.100000000000000 + + + 3.000000000000000 + + + + + + + Dash Ratio + + + + + + + + 0 + 0 + + + + Set the Words Per Minute + + + 6 + + + 48 + + + 20 + + + + + + + Cut Num + + + + + + + Send Immed + + + + + diff --git a/repeatersetup.cpp b/repeatersetup.cpp index 6af089f..f19d804 100644 --- a/repeatersetup.cpp +++ b/repeatersetup.cpp @@ -445,7 +445,7 @@ void repeaterSetup::showEvent(QShowEvent *event) emit getSplitModeEnabled(); if(rig.hasRepeaterModes) emit getRptDuplexOffset(); - + QMainWindow::showEvent(event); (void)event; } diff --git a/rigcommander.cpp b/rigcommander.cpp index b54acfe..3737ea4 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -1014,6 +1014,72 @@ void rigCommander::setCwPitch(unsigned char pitch) prepDataAndSend(payload); } +void rigCommander::getDashRatio() +{ + QByteArray payload; + switch (rigCaps.model) + { + case model705: + payload.setRawData("\x1A\x05\x02\x52", 4); + break; + case model9700: + payload.setRawData("\x1A\x05\x02\x24", 4); + break; + case model7100: + payload.setRawData("\x1A\x05\x01\x35", 4); + break; + case model7300: + payload.setRawData("\x1A\x05\x01\x61", 4); + break; + case model7610: + payload.setRawData("\x1A\x05\x02\x28", 4); + break; + case model7700: + payload.setRawData("\x1A\x05\x01\x34", 4); + break; + case model7850: + payload.setRawData("\x1A\x05\x02\x51", 4); + break; + default: + break; + } + prepDataAndSend(payload); +} + +void rigCommander::setDashRatio(unsigned char ratio) +{ + QByteArray payload; + switch (rigCaps.model) + { + case model705: + payload.setRawData("\x1A\x05\x02\x52", 4); + break; + case model9700: + payload.setRawData("\x1A\x05\x02\x24", 4); + break; + case model7100: + payload.setRawData("\x1A\x05\x01\x35", 4); + break; + case model7300: + payload.setRawData("\x1A\x05\x01\x61", 4); + break; + case model7610: + payload.setRawData("\x1A\x05\x02\x28", 4); + break; + case model7700: + payload.setRawData("\x1A\x05\x01\x34", 4); + break; + case model7850: + payload.setRawData("\x1A\x05\x02\x51", 4); + break; + default: + break; + } + + payload.append(bcdEncodeInt(ratio).at(1)); // Discard first byte + prepDataAndSend(payload); +} + void rigCommander::getPskTone() { QByteArray payload; @@ -1796,7 +1862,7 @@ void rigCommander::parseLevels() case '\x0C': state.set(KEYSPD, level, false); //qInfo(logRig()) << "Have received key speed in RC, raw level: " << level << ", WPM: " << (level/6.071)+6 << ", rounded: " << round((level/6.071)+6); - emit haveKeySpeed(round((level/6.071)+6)); + emit haveKeySpeed(round((level / 6.071) + 6)); break; case '\x0D': // Notch filder setting - ignore for now @@ -3198,6 +3264,8 @@ void rigCommander::parseDetailedRegisters1A05() case 90: emit haveLANGain(level); break; + case 228: + emit haveDashRatio(inputRaw); default: break; } diff --git a/rigcommander.h b/rigcommander.h index 740fda3..bc40264 100644 --- a/rigcommander.h +++ b/rigcommander.h @@ -129,6 +129,8 @@ public slots: void getPassband(); void getCwPitch(); void setCwPitch(unsigned char pitch); + void getDashRatio(); + void setDashRatio(unsigned char ratio); void getPskTone(); void setPskTone(unsigned char tone); void getRttyMark(); @@ -363,6 +365,7 @@ signals: // CW: void haveKeySpeed(unsigned char wpm); void haveCWBreakMode(unsigned char bmode); + void haveDashRatio(unsigned char ratio); // Rig State diff --git a/wfmain.cpp b/wfmain.cpp index 41aed09..cf58a30 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -355,10 +355,13 @@ void wfmain::rigConnections() connect(this, SIGNAL(setKeySpeed(unsigned char)), rig, SLOT(setKeySpeed(unsigned char))); connect(this, SIGNAL(getKeySpeed()), rig, SLOT(getKeySpeed())); connect(this, SIGNAL(setCwPitch(unsigned char)), rig, SLOT(setCwPitch(unsigned char))); + connect(this, SIGNAL(setDashRatio(unsigned char)), rig, SLOT(setDashRatio(unsigned char))); connect(this, SIGNAL(setCWBreakMode(unsigned char)), rig, SLOT(setBreakIn(unsigned char))); connect(this, SIGNAL(getCWBreakMode()), rig, SLOT(getBreakIn())); connect(this->rig, &rigCommander::haveKeySpeed, [=](const unsigned char& wpm) { cw->handleKeySpeed(wpm); }); + connect(this->rig, &rigCommander::haveDashRatio, + [=](const unsigned char& ratio) { cw->handleDashRatio(ratio); }); connect(this->rig, &rigCommander::haveCwPitch, [=](const unsigned char& speed) { cw->handlePitch(speed); }); connect(this->rig, &rigCommander::haveCWBreakMode, @@ -469,6 +472,7 @@ void wfmain::rigConnections() connect(this, SIGNAL(getPassband()), rig, SLOT(getPassband())); connect(this, SIGNAL(setPassband(quint16)), rig, SLOT(setPassband(quint16))); connect(this, SIGNAL(getCwPitch()), rig, SLOT(getCwPitch())); + connect(this, SIGNAL(getDashRatio()), rig, SLOT(getDashRatio())); connect(this, SIGNAL(getPskTone()), rig, SLOT(getPskTone())); connect(this, SIGNAL(getRttyMark()), rig, SLOT(getRttyMark())); connect(this, SIGNAL(getTone()), rig, SLOT(getTone())); @@ -1156,12 +1160,15 @@ void wfmain::setupMainUI() [=](const unsigned char &bmode) { issueCmd(cmdSetBreakMode, bmode);}); connect(this->cw, &cwSender::setKeySpeed, [=](const unsigned char& wpm) { issueCmd(cmdSetKeySpeed, wpm); }); + connect(this->cw, &cwSender::setDashRatio, + [=](const unsigned char& ratio) { issueCmd(cmdSetDashRatio, ratio); }); connect(this->cw, &cwSender::setPitch, [=](const unsigned char& pitch) { issueCmd(cmdSetCwPitch, pitch); }); connect(this->cw, &cwSender::getCWSettings, - [=]() { issueDelayedCommand(cmdGetKeySpeed); - issueDelayedCommand(cmdGetBreakMode);}); - + [=]() { issueDelayedCommand(cmdGetKeySpeed); + issueDelayedCommand(cmdGetBreakMode); + issueDelayedCommand(cmdGetCwPitch); + issueDelayedCommand(cmdGetDashRatio); }); } void wfmain::prepareSettingsWindow() @@ -3887,6 +3894,12 @@ void wfmain::doCmd(commandtype cmddata) emit setCwPitch(pitch); break; } + case cmdSetDashRatio: + { + unsigned char ratio = (*std::static_pointer_cast(data)); + emit setDashRatio(ratio); + break; + } case cmdSetATU: { bool atuOn = (*std::static_pointer_cast(data)); @@ -4012,6 +4025,9 @@ void wfmain::doCmd(cmds cmd) case cmdGetCwPitch: emit getCwPitch(); break; + case cmdGetDashRatio: + emit getDashRatio(); + break; case cmdGetPskTone: emit getPskTone(); break; diff --git a/wfmain.h b/wfmain.h index d305b55..e32a95c 100644 --- a/wfmain.h +++ b/wfmain.h @@ -141,6 +141,7 @@ signals: void getMeters(meterKind meter); void getPassband(); void getCwPitch(); + void getDashRatio(); void getPskTone(); void getRttyMark(); @@ -190,6 +191,7 @@ signals: void getKeySpeed(); void setKeySpeed(unsigned char wpm); void setCwPitch(unsigned char pitch); + void setDashRatio(unsigned char ratio); void setCWBreakMode(unsigned char breakMode); void getCWBreakMode(); diff --git a/wfview.vcxproj b/wfview.vcxproj index 658b730..df5a42e 100644 --- a/wfview.vcxproj +++ b/wfview.vcxproj @@ -111,7 +111,7 @@ $(SolutionDir)wfview-release\ - msvc2019_64_v62 + msvc2016_64_v632 core;gui;network;widgets;multimedia;printsupport;serialport;xml @@ -119,7 +119,7 @@ core;gui;network;widgets;multimedia;printsupport;serialport;xml - msvc2019_64_v62 + msvc2016_64_v632 core;gui;network;widgets;multimedia;printsupport;serialport;xml @@ -131,7 +131,7 @@ - .;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories) + .;.\hidapi\hidapi;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories) -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions) release\ false @@ -152,8 +152,8 @@ true - ..\portaudio\msvc\X64\Release\portaudio_x64.lib;..\qcustomplot\x64\qcustomplot2.lib;..\opus\win32\VS2015\x64\Release\opus.lib;$(QTDIR)\lib\Qt6Multimedia.lib;$(QTDIR)\lib\Qt6PrintSupport.lib;$(QTDIR)\lib\Qt6Widgets.lib;$(QTDIR)\lib\Qt6Gui.lib;$(QTDIR)\lib\Qt6SerialPort.lib;$(QTDIR)\lib\Qt6Network.lib;$(QTDIR)\lib\Qt6Core.lib;$(QTDIR)\lib\Qt6EntryPoint.lib;shell32.lib;%(AdditionalDependencies) - ..\opus\win32\VS2015\x64\Release;..\qcustomplot\x64;..\portaudio\msvc\X64\Release;%(AdditionalLibraryDirectories) + ..\hidapi\windows\x64\Release\hidapi.lib;..\portaudio\msvc\X64\Release\portaudio_x64.lib;..\qcustomplot\x64\qcustomplot2.lib;..\opus\win32\VS2015\x64\Release\opus.lib;$(QTDIR)\lib\Qt6Multimedia.lib;$(QTDIR)\lib\Qt6PrintSupport.lib;$(QTDIR)\lib\Qt6Widgets.lib;$(QTDIR)\lib\Qt6Gui.lib;$(QTDIR)\lib\Qt6SerialPort.lib;$(QTDIR)\lib\Qt6Network.lib;$(QTDIR)\lib\Qt6Core.lib;$(QTDIR)\lib\Qt6EntryPoint.lib;shell32.lib;%(AdditionalDependencies) + ..\hidapi\windows\x64\Release;..\opus\win32\VS2015\x64\Release;..\qcustomplot\x64;..\portaudio\msvc\X64\Release;%(AdditionalLibraryDirectories) "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) true true @@ -275,7 +275,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Release\portaudio_x86.dll wfview-release\ - .;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories) + .;.\hidapi\hidapi;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories) -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions) debug\ false @@ -295,8 +295,8 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Release\portaudio_x86.dll wfview-release\ stdc17 - ..\portaudio\msvc\X64\Debug\portaudio_x64.lib;..\qcustomplot\x64\qcustomplotd2.lib;..\opus\win32\VS2015\x64\Debug\opus.lib;$(QTDIR)\lib\Qt6Multimediad.lib;$(QTDIR)\lib\Qt6PrintSupportd.lib;$(QTDIR)\lib\Qt6Widgetsd.lib;$(QTDIR)\lib\Qt6Guid.lib;$(QTDIR)\lib\Qt6SerialPortd.lib;$(QTDIR)\lib\Qt6Networkd.lib;$(QTDIR)\lib\Qt6Cored.lib;$(QTDIR)\lib\Qt6EntryPointd.lib;shell32.lib;%(AdditionalDependencies) - ..\opus\win32\VS2015\x64\Debug;..\qcustomplot\x64;..\portaudio\msvc\X64\Debug;%(AdditionalLibraryDirectories) + ..\hidapi\windows\x64\Debug\hidapi.lib;..\portaudio\msvc\X64\Debug\portaudio_x64.lib;..\qcustomplot\x64\qcustomplotd2.lib;..\opus\win32\VS2015\x64\Debug\opus.lib;$(QTDIR)\lib\Qt6Multimediad.lib;$(QTDIR)\lib\Qt6PrintSupportd.lib;$(QTDIR)\lib\Qt6Widgetsd.lib;$(QTDIR)\lib\Qt6Guid.lib;$(QTDIR)\lib\Qt6SerialPortd.lib;$(QTDIR)\lib\Qt6Networkd.lib;$(QTDIR)\lib\Qt6Cored.lib;$(QTDIR)\lib\Qt6EntryPointd.lib;shell32.lib;%(AdditionalDependencies) + ..\hidapi\windows\x64\Debug;..\opus\win32\VS2015\x64\Debug;..\qcustomplot\x64;..\portaudio\msvc\X64\Debug;%(AdditionalLibraryDirectories) "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) true true @@ -415,6 +415,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug + @@ -443,6 +444,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug + @@ -450,6 +452,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug + @@ -538,6 +541,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug + diff --git a/wfview.vcxproj.filters b/wfview.vcxproj.filters index 04a65b6..2f52d05 100644 --- a/wfview.vcxproj.filters +++ b/wfview.vcxproj.filters @@ -149,6 +149,9 @@ Source Files + + Source Files + @@ -262,6 +265,9 @@ Header Files + + Header Files + @@ -299,6 +305,9 @@ Form Files + + Form Files + @@ -441,5 +450,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/wfview.vcxproj.user b/wfview.vcxproj.user index 55b6057..7c2d6bc 100644 --- a/wfview.vcxproj.user +++ b/wfview.vcxproj.user @@ -45,10 +45,10 @@ 2022-08-21T18:58:23.4329764Z - 2023-01-29T11:49:00.1257696Z + 2023-02-14T17:48:26.0594274Z - 2023-01-29T11:48:59.4191765Z + 2023-02-14T17:48:25.7629768Z 2022-08-22T10:47:49.1255783Z @@ -60,9 +60,9 @@ 2022-08-20T19:06:43.4553894Z - 2023-01-29T11:49:01.5629425Z + 2023-02-14T17:48:27.5731249Z - 2023-01-29T11:49:00.7644018Z + 2023-02-14T17:48:27.1219605Z \ No newline at end of file diff --git a/wfviewtypes.h b/wfviewtypes.h index b86e131..a331a5f 100644 --- a/wfviewtypes.h +++ b/wfviewtypes.h @@ -166,7 +166,7 @@ enum cmds { cmdSetRptAccessMode, cmdSetRptDuplexOffset, cmdGetRptDuplexOffset, cmdSelVFO, cmdVFOSwap, cmdVFOEqualAB, cmdVFOEqualMS, cmdSetQuickSplit, cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna, - cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW, + cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW, cmdGetDashRatio, cmdSetDashRatio, cmdSetTime, cmdSetDate, cmdSetUTCOffset, // Below Only used for USB Controller at the moment. cmdSetBandUp, cmdSetBandDown, cmdSetModeUp, cmdSetModeDown, cmdSetStepUp, cmdSetStepDown, cmdSetSpanUp, cmdSetSpanDown, cmdIFFilterUp, cmdIFFilterDown