2012-05-22 13:09:48 -04:00
|
|
|
#ifndef MAINWINDOW_H
|
|
|
|
#define MAINWINDOW_H
|
|
|
|
#include <QtGui>
|
|
|
|
#include <QTimer>
|
|
|
|
#include <QDateTime>
|
|
|
|
#include "soundin.h"
|
|
|
|
#include "soundout.h"
|
|
|
|
#include "commons.h"
|
2013-04-16 16:15:25 -04:00
|
|
|
#include "psk_reporter.h"
|
2013-04-22 20:52:51 -04:00
|
|
|
#include <hamlib/rigclass.h>
|
2013-03-21 10:14:26 -04:00
|
|
|
|
|
|
|
#ifdef WIN32
|
2013-03-09 21:45:12 -05:00
|
|
|
#include "PSKReporter.h"
|
2013-03-21 10:14:26 -04:00
|
|
|
#endif
|
2012-05-22 13:09:48 -04:00
|
|
|
|
|
|
|
//--------------------------------------------------------------- MainWindow
|
|
|
|
namespace Ui {
|
|
|
|
class MainWindow;
|
|
|
|
}
|
|
|
|
|
|
|
|
class MainWindow : public QMainWindow
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2013-04-13 08:28:03 -04:00
|
|
|
explicit MainWindow(QSharedMemory *shdmem, QWidget *parent = 0);
|
2012-05-22 13:09:48 -04:00
|
|
|
~MainWindow();
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
void showSoundInError(const QString& errorMsg);
|
|
|
|
void showStatusMessage(const QString& statusMsg);
|
|
|
|
void dataSink(int k);
|
|
|
|
void diskDat();
|
|
|
|
void diskWriteFinished();
|
|
|
|
void freezeDecode(int n);
|
|
|
|
void guiUpdate();
|
2013-03-01 16:25:33 -05:00
|
|
|
void doubleClickOnCall(bool shift, bool ctrl);
|
2013-04-03 20:09:25 -04:00
|
|
|
void doubleClickOnCall2(bool shift, bool ctrl);
|
2012-11-20 15:39:41 -05:00
|
|
|
void readFromStdout();
|
|
|
|
void readFromStderr();
|
|
|
|
void jt9_error();
|
2012-05-22 13:09:48 -04:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void keyPressEvent( QKeyEvent *e );
|
|
|
|
void closeEvent(QCloseEvent*);
|
|
|
|
virtual bool eventFilter(QObject *object, QEvent *event);
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void on_tx1_editingFinished();
|
|
|
|
void on_tx2_editingFinished();
|
|
|
|
void on_tx3_editingFinished();
|
|
|
|
void on_tx4_editingFinished();
|
|
|
|
void on_tx5_editingFinished();
|
|
|
|
void on_tx6_editingFinished();
|
|
|
|
void on_actionDeviceSetup_triggered();
|
|
|
|
void on_monitorButton_clicked();
|
|
|
|
void on_actionExit_triggered();
|
|
|
|
void on_actionAbout_triggered();
|
|
|
|
void OnExit();
|
|
|
|
void on_actionLinrad_triggered();
|
|
|
|
void on_actionCuteSDR_triggered();
|
|
|
|
void on_autoButton_clicked();
|
|
|
|
void on_stopTxButton_clicked();
|
|
|
|
void on_stopButton_clicked();
|
|
|
|
void on_actionOnline_Users_Guide_triggered();
|
|
|
|
void on_actionWide_Waterfall_triggered();
|
|
|
|
void on_actionOpen_triggered();
|
|
|
|
void on_actionOpen_next_in_directory_triggered();
|
|
|
|
void on_actionDecode_remaining_files_in_directory_triggered();
|
2012-07-02 12:13:21 -04:00
|
|
|
void on_actionDelete_all_wav_files_in_SaveDir_triggered();
|
2012-05-22 13:09:48 -04:00
|
|
|
void on_actionF4_sets_Tx6_triggered();
|
|
|
|
void on_actionNone_triggered();
|
|
|
|
void on_actionSave_all_triggered();
|
|
|
|
void on_actionKeyboard_shortcuts_triggered();
|
|
|
|
void on_actionSpecial_mouse_commands_triggered();
|
|
|
|
void on_DecodeButton_clicked();
|
|
|
|
void decode();
|
|
|
|
void decodeBusy(bool b);
|
|
|
|
void on_EraseButton_clicked();
|
|
|
|
void on_txb1_clicked();
|
|
|
|
void on_txFirstCheckBox_stateChanged(int arg1);
|
|
|
|
void set_ntx(int n);
|
|
|
|
void on_txb2_clicked();
|
|
|
|
void on_txb3_clicked();
|
|
|
|
void on_txb4_clicked();
|
|
|
|
void on_txb5_clicked();
|
|
|
|
void on_txb6_clicked();
|
|
|
|
void on_lookupButton_clicked();
|
|
|
|
void on_addButton_clicked();
|
|
|
|
void on_dxCallEntry_textChanged(const QString &arg1);
|
|
|
|
void on_dxGridEntry_textChanged(const QString &arg1);
|
|
|
|
void on_genStdMsgsPushButton_clicked();
|
|
|
|
void on_logQSOButton_clicked();
|
|
|
|
void on_actionAFMHot_triggered();
|
|
|
|
void on_actionBlue_triggered();
|
2012-10-04 17:39:48 -04:00
|
|
|
void on_actionJT9_2_triggered();
|
|
|
|
void on_actionJT9_1_triggered();
|
|
|
|
void on_actionJT9_5_triggered();
|
|
|
|
void on_actionJT9_30_triggered();
|
|
|
|
void on_actionJT9_10_triggered();
|
2012-09-25 16:26:12 -04:00
|
|
|
void on_NBcheckBox_toggled(bool checked);
|
|
|
|
void on_NBslider_valueChanged(int value);
|
2012-10-05 15:14:45 -04:00
|
|
|
void on_TxFreqSpinBox_valueChanged(int arg1);
|
2012-10-30 12:49:24 -04:00
|
|
|
void on_actionSave_synced_triggered();
|
|
|
|
void on_actionSave_decoded_triggered();
|
2012-10-31 14:33:56 -04:00
|
|
|
void on_actionQuickDecode_triggered();
|
|
|
|
void on_actionMediumDecode_triggered();
|
|
|
|
void on_actionDeepestDecode_triggered();
|
2012-11-01 15:54:40 -04:00
|
|
|
void on_inGain_valueChanged(int n);
|
2012-11-23 11:05:50 -05:00
|
|
|
void bumpFqso(int n);
|
2012-11-24 11:18:49 -05:00
|
|
|
void on_actionMonitor_OFF_at_startup_triggered();
|
2013-03-18 12:14:18 -04:00
|
|
|
void on_actionErase_ALL_TXT_triggered();
|
|
|
|
void on_actionErase_wsjtx_log_adi_triggered();
|
2013-03-18 18:47:24 -04:00
|
|
|
void showMacros(const QPoint& pos);
|
|
|
|
void onPopup1();
|
|
|
|
void onPopup2();
|
2013-03-21 18:58:16 -04:00
|
|
|
void onPopup3();
|
|
|
|
void onPopup4();
|
|
|
|
void onPopup5();
|
|
|
|
void onPopup6();
|
|
|
|
void onPopup7();
|
|
|
|
void onPopup8();
|
|
|
|
void onPopup9();
|
|
|
|
void onPopup10();
|
2013-03-23 14:24:27 -04:00
|
|
|
void on_actionConvert_JT9_x_to_RTTY_triggered(bool checked);
|
|
|
|
void on_actionLog_JT9_without_submode_triggered(bool checked);
|
|
|
|
void on_actionLog_dB_reports_to_Comments_triggered(bool checked);
|
2013-03-24 13:29:26 -04:00
|
|
|
void startTx2();
|
|
|
|
void stopTx();
|
|
|
|
void stopTx2();
|
|
|
|
void on_bandComboBox_currentIndexChanged(int index);
|
2013-03-26 12:23:40 -04:00
|
|
|
void on_actionPrompt_to_log_QSO_triggered(bool checked);
|
2013-04-03 11:35:11 -04:00
|
|
|
void on_actionBlank_line_between_decoding_periods_triggered(bool checked);
|
2013-04-03 17:32:21 -04:00
|
|
|
void on_actionClear_DX_Call_and_Grid_after_logging_triggered(bool checked);
|
|
|
|
void on_actionDisplay_distance_in_miles_triggered(bool checked);
|
2013-04-07 21:50:49 -04:00
|
|
|
void on_pbCallCQ_clicked();
|
|
|
|
void on_pbAnswerCaller_clicked();
|
|
|
|
void on_pbSendRRR_clicked();
|
|
|
|
void on_pbAnswerCQ_clicked();
|
|
|
|
void on_pbSendReport_clicked();
|
|
|
|
void on_pbSend73_clicked();
|
|
|
|
void on_rbGenMsg_toggled(bool checked);
|
|
|
|
void on_rbFreeText_toggled(bool checked);
|
|
|
|
void on_freeTextMsg_editingFinished();
|
2013-04-08 14:31:21 -04:00
|
|
|
void on_actionDouble_click_on_call_sets_Tx_Enable_triggered(bool checked);
|
|
|
|
void on_rptSpinBox_valueChanged(int n);
|
2013-04-08 20:34:39 -04:00
|
|
|
void on_actionColor_highlighting_in_left_window_triggered(bool checked);
|
2013-04-11 12:51:57 -04:00
|
|
|
void on_action_73TxDisable_triggered(bool checked);
|
|
|
|
void on_actionRunaway_Tx_watchdog_triggered(bool checked);
|
2013-04-12 13:57:20 -04:00
|
|
|
void on_actionTx2QSO_triggered(bool checked);
|
|
|
|
void killFile();
|
2013-04-14 10:11:20 -04:00
|
|
|
void on_tuneButton_clicked();
|
2013-04-24 11:00:30 -04:00
|
|
|
void on_actionAllow_multiple_instances_triggered(bool checked);
|
2013-04-24 12:05:04 -04:00
|
|
|
void on_pbR2T_clicked();
|
|
|
|
void on_pbT2R_clicked();
|
2013-04-28 09:35:01 -04:00
|
|
|
void acceptQSO2(bool accepted);
|
2013-04-24 12:05:04 -04:00
|
|
|
|
2013-03-23 14:24:27 -04:00
|
|
|
private:
|
2012-05-22 13:09:48 -04:00
|
|
|
Ui::MainWindow *ui;
|
2013-03-18 09:24:50 -04:00
|
|
|
|
|
|
|
double m_dialFreq;
|
|
|
|
|
2013-04-11 12:51:57 -04:00
|
|
|
qint64 m_msErase;
|
2013-04-18 06:35:58 -04:00
|
|
|
qint64 m_secBandChanged;
|
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
qint32 m_nDevIn;
|
|
|
|
qint32 m_nDevOut;
|
|
|
|
qint32 m_idInt;
|
|
|
|
qint32 m_waterfallAvg;
|
2013-03-24 08:55:13 -04:00
|
|
|
qint32 m_pttMethodIndex;
|
2012-05-22 13:09:48 -04:00
|
|
|
qint32 m_QSOfreq0;
|
|
|
|
qint32 m_ntx;
|
|
|
|
qint32 m_pttPort;
|
|
|
|
qint32 m_timeout;
|
|
|
|
qint32 m_txFreq;
|
|
|
|
qint32 m_setftx;
|
|
|
|
qint32 m_ndepth;
|
|
|
|
qint32 m_sec0;
|
2012-09-24 11:20:48 -04:00
|
|
|
qint32 m_RxLog;
|
2012-05-22 13:09:48 -04:00
|
|
|
qint32 m_nutc0;
|
|
|
|
qint32 m_nrx;
|
|
|
|
qint32 m_hsym0;
|
|
|
|
qint32 m_paInDevice;
|
|
|
|
qint32 m_paOutDevice;
|
|
|
|
qint32 m_NBslider;
|
2012-09-24 15:11:31 -04:00
|
|
|
qint32 m_TRperiod;
|
2012-09-25 20:48:49 -04:00
|
|
|
qint32 m_nsps;
|
2012-10-11 14:33:50 -04:00
|
|
|
qint32 m_hsymStop;
|
2012-10-15 15:55:48 -04:00
|
|
|
qint32 m_len1;
|
2012-11-01 15:54:40 -04:00
|
|
|
qint32 m_inGain;
|
2012-11-21 12:42:53 -05:00
|
|
|
qint32 m_nsave;
|
2013-03-24 08:55:13 -04:00
|
|
|
qint32 m_catPortIndex;
|
|
|
|
qint32 m_rig;
|
|
|
|
qint32 m_rigIndex;
|
|
|
|
qint32 m_serialRate;
|
|
|
|
qint32 m_serialRateIndex;
|
|
|
|
qint32 m_dataBits;
|
|
|
|
qint32 m_dataBitsIndex;
|
|
|
|
qint32 m_stopBits;
|
|
|
|
qint32 m_stopBitsIndex;
|
|
|
|
qint32 m_handshakeIndex;
|
|
|
|
qint32 m_ncw;
|
|
|
|
qint32 m_secID;
|
|
|
|
qint32 m_COMportOpen;
|
|
|
|
qint32 m_iptt;
|
2013-03-24 13:29:26 -04:00
|
|
|
qint32 m_band;
|
2013-04-08 14:31:21 -04:00
|
|
|
qint32 m_repeatMsg;
|
2013-04-11 16:59:17 -04:00
|
|
|
qint32 m_watchdogLimit;
|
2012-05-22 13:09:48 -04:00
|
|
|
|
|
|
|
bool m_monitoring;
|
|
|
|
bool m_transmitting;
|
|
|
|
bool m_diskData;
|
|
|
|
bool m_loopall;
|
|
|
|
bool m_decoderBusy;
|
|
|
|
bool m_txFirst;
|
|
|
|
bool m_auto;
|
|
|
|
bool m_restart;
|
|
|
|
bool m_startAnother;
|
2012-10-30 12:49:24 -04:00
|
|
|
bool m_saveSynced;
|
|
|
|
bool m_saveDecoded;
|
2012-05-22 13:09:48 -04:00
|
|
|
bool m_saveAll;
|
|
|
|
bool m_widebandDecode;
|
|
|
|
bool m_kb8rq;
|
|
|
|
bool m_NB;
|
2012-10-27 14:06:48 -04:00
|
|
|
bool m_call3Modified;
|
2012-11-01 15:54:40 -04:00
|
|
|
bool m_dataAvailable;
|
2012-11-20 15:39:41 -05:00
|
|
|
bool m_killAll;
|
2012-11-24 09:36:45 -05:00
|
|
|
bool m_bsynced;
|
|
|
|
bool m_bdecoded;
|
2012-11-24 11:18:49 -05:00
|
|
|
bool m_monitorStartOFF;
|
2013-03-09 21:45:12 -05:00
|
|
|
bool m_pskReporter;
|
2013-03-11 11:51:44 -04:00
|
|
|
bool m_pskReporterInit;
|
2013-03-23 14:24:27 -04:00
|
|
|
bool m_noSuffix;
|
|
|
|
bool m_toRTTY;
|
|
|
|
bool m_dBtoComments;
|
2013-03-24 08:55:13 -04:00
|
|
|
bool m_catEnabled;
|
2013-03-24 21:24:47 -04:00
|
|
|
bool m_After73;
|
2013-03-26 12:23:40 -04:00
|
|
|
bool m_promptToLog;
|
2013-03-28 20:21:26 -04:00
|
|
|
bool m_blankLine;
|
2013-04-03 11:35:11 -04:00
|
|
|
bool m_insertBlank;
|
2013-04-03 17:32:21 -04:00
|
|
|
bool m_clearCallGrid;
|
|
|
|
bool m_bMiles;
|
2013-04-03 20:09:25 -04:00
|
|
|
bool m_decodedText2;
|
2013-04-07 21:50:49 -04:00
|
|
|
bool m_freeText;
|
2013-04-08 14:31:21 -04:00
|
|
|
bool m_quickCall;
|
2013-04-08 20:34:39 -04:00
|
|
|
bool m_leftColor;
|
2013-04-11 12:51:57 -04:00
|
|
|
bool m_73TxDisable;
|
|
|
|
bool m_sent73;
|
|
|
|
bool m_runaway;
|
2013-04-12 13:57:20 -04:00
|
|
|
bool m_tx2QSO;
|
2013-04-14 10:11:20 -04:00
|
|
|
bool m_tune;
|
2013-04-22 20:52:51 -04:00
|
|
|
bool m_bRigOpen;
|
2013-04-24 11:00:30 -04:00
|
|
|
bool m_bMultipleOK;
|
2013-04-25 10:41:06 -04:00
|
|
|
bool m_bDTRoff;
|
2013-04-25 18:57:08 -04:00
|
|
|
bool m_pttData;
|
2013-04-28 14:58:03 -04:00
|
|
|
bool m_bLogGeom;
|
2013-04-24 15:41:58 -04:00
|
|
|
|
2012-10-15 15:55:48 -04:00
|
|
|
char m_decoded[80];
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
float m_pctZap;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
QRect m_wideGraphGeom;
|
2013-04-28 14:58:03 -04:00
|
|
|
QRect m_logQSOgeom;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
QLabel* lab1; // labels in status bar
|
|
|
|
QLabel* lab2;
|
|
|
|
QLabel* lab3;
|
|
|
|
QLabel* lab4;
|
|
|
|
QLabel* lab5;
|
|
|
|
QLabel* lab6;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
QMessageBox msgBox0;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
QFuture<void>* future1;
|
|
|
|
QFuture<void>* future2;
|
2012-10-15 15:18:45 -04:00
|
|
|
QFuture<void>* future3;
|
2012-05-22 13:09:48 -04:00
|
|
|
QFutureWatcher<void>* watcher1;
|
|
|
|
QFutureWatcher<void>* watcher2;
|
2012-10-15 15:18:45 -04:00
|
|
|
QFutureWatcher<void>* watcher3;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2012-11-20 15:39:41 -05:00
|
|
|
QProcess proc_jt9;
|
2012-11-24 09:36:45 -05:00
|
|
|
|
2013-03-28 20:21:26 -04:00
|
|
|
QTimer* ptt1Timer; //StartTx delay
|
|
|
|
QTimer* ptt0Timer; //StopTx delay
|
|
|
|
QTimer* logQSOTimer;
|
2013-04-12 13:57:20 -04:00
|
|
|
QTimer* killFileTimer;
|
2013-04-17 11:53:43 -04:00
|
|
|
QTimer* tuneButtonTimer;
|
2013-03-24 13:29:26 -04:00
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
QString m_path;
|
|
|
|
QString m_pbdecoding_style1;
|
|
|
|
QString m_pbmonitor_style;
|
|
|
|
QString m_pbAutoOn_style;
|
2013-04-14 10:11:20 -04:00
|
|
|
QString m_pbTune_style;
|
2012-05-22 13:09:48 -04:00
|
|
|
QString m_myCall;
|
|
|
|
QString m_myGrid;
|
2013-04-08 14:31:21 -04:00
|
|
|
QString m_baseCall;
|
2012-05-22 13:09:48 -04:00
|
|
|
QString m_hisCall;
|
|
|
|
QString m_hisGrid;
|
|
|
|
QString m_appDir;
|
|
|
|
QString m_saveDir;
|
|
|
|
QString m_dxccPfx;
|
|
|
|
QString m_palette;
|
|
|
|
QString m_dateTime;
|
|
|
|
QString m_mode;
|
2012-11-24 09:36:45 -05:00
|
|
|
QString m_fname;
|
2013-04-07 21:50:49 -04:00
|
|
|
QString m_rpt;
|
2013-03-18 12:14:18 -04:00
|
|
|
QString m_rptSent;
|
|
|
|
QString m_rptRcvd;
|
|
|
|
QString m_qsoStart;
|
|
|
|
QString m_qsoStop;
|
2013-03-24 08:55:13 -04:00
|
|
|
QString m_catPort;
|
|
|
|
QString m_handshake;
|
|
|
|
QString m_cmnd;
|
2013-04-08 14:31:21 -04:00
|
|
|
QString m_msgSent0;
|
2013-04-12 13:57:20 -04:00
|
|
|
QString m_fileToSave;
|
2013-03-21 18:58:16 -04:00
|
|
|
|
2013-03-25 15:13:49 -04:00
|
|
|
QStringList m_macro;
|
|
|
|
QStringList m_dFreq;
|
|
|
|
|
2013-04-28 09:35:01 -04:00
|
|
|
QDateTime dateTimeQSO;
|
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
SoundInThread soundInThread; //Instantiate the audio threads
|
|
|
|
SoundOutThread soundOutThread;
|
|
|
|
|
2013-04-13 08:28:03 -04:00
|
|
|
QSharedMemory *mem_jt9;
|
|
|
|
|
2013-04-16 16:15:25 -04:00
|
|
|
PSK_Reporter *psk_Reporter;
|
|
|
|
|
2012-05-22 13:09:48 -04:00
|
|
|
//---------------------------------------------------- private functions
|
|
|
|
void readSettings();
|
|
|
|
void writeSettings();
|
|
|
|
void createStatusBar();
|
|
|
|
void updateStatusBar();
|
|
|
|
void msgBox(QString t);
|
|
|
|
void genStdMsgs(QString rpt);
|
|
|
|
void lookup();
|
|
|
|
void ba2msg(QByteArray ba, char* message);
|
|
|
|
void msgtype(QString t, QLineEdit* tx);
|
|
|
|
void stub();
|
2013-03-18 09:24:50 -04:00
|
|
|
void statusChanged();
|
2013-03-25 15:13:49 -04:00
|
|
|
void dialFreqChanged2(double f);
|
2013-04-07 21:50:49 -04:00
|
|
|
void freeText();
|
2013-04-12 13:57:20 -04:00
|
|
|
void displayTxMsg(QString t);
|
2013-04-22 20:52:51 -04:00
|
|
|
void rigOpen();
|
2013-03-19 09:18:23 -04:00
|
|
|
bool gridOK(QString g);
|
2013-04-08 14:31:21 -04:00
|
|
|
QString baseCall(QString t);
|
2012-05-22 13:09:48 -04:00
|
|
|
};
|
|
|
|
|
2012-09-26 11:20:43 -04:00
|
|
|
extern void getfile(QString fname, int ntrperiod);
|
|
|
|
extern void savewav(QString fname, int ntrperiod);
|
2012-05-22 13:09:48 -04:00
|
|
|
extern int killbyname(const char* progName);
|
|
|
|
extern void getDev(int* numDevices,char hostAPI_DeviceName[][50],
|
|
|
|
int minChan[], int maxChan[],
|
|
|
|
int minSpeed[], int maxSpeed[]);
|
2013-04-23 16:46:04 -04:00
|
|
|
extern int ptt(int nport, int ntx, int* iptt, int* nopen);
|
2012-05-22 13:09:48 -04:00
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
//----------------------------------------------------- C and Fortran routines
|
2012-11-01 15:54:40 -04:00
|
|
|
void symspec_(int* k, int* ntrperiod, int* nsps, int* ingain, int* nb,
|
|
|
|
int* m_NBslider, float* px, float s[], float red[],
|
|
|
|
float* df3, int* nhsym, int* nzap, float* slimit,
|
2012-11-21 12:42:53 -05:00
|
|
|
uchar lstrong[], int* npts8);
|
2012-10-15 15:18:45 -04:00
|
|
|
|
2012-12-11 13:50:07 -05:00
|
|
|
void genjt9_(char* msg, int* ichk, char* msgsent, int itone[],
|
|
|
|
int* itext, int len1, int len2);
|
2012-10-15 15:18:45 -04:00
|
|
|
|
2013-03-27 16:49:12 -04:00
|
|
|
bool stdmsg_(const char* msg, int len);
|
2013-03-23 11:41:31 -04:00
|
|
|
|
|
|
|
void azdist_(char* MyGrid, char* HisGrid, double* utch, int* nAz, int* nEl,
|
|
|
|
int* nDmiles, int* nDkm, int* nHotAz, int* nHotABetter,
|
|
|
|
int len1, int len2);
|
2013-03-24 21:24:47 -04:00
|
|
|
|
|
|
|
void morse_(char* msg, int* icw, int* ncw, int len);
|
2012-10-28 11:47:43 -04:00
|
|
|
}
|
2012-05-22 13:09:48 -04:00
|
|
|
|
|
|
|
#endif // MAINWINDOW_H
|