js8call/mainwindow.h

1106 lines
38 KiB
C
Raw Normal View History

2018-02-08 21:28:33 -05:00
// -*- Mode: C++ -*-
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#ifdef QT5
#include <QtWidgets>
#else
#include <QtGui>
#endif
#include <QThread>
#include <QMutex>
#include <QMutexLocker>
2018-02-08 21:28:33 -05:00
#include <QTimer>
#include <QDateTime>
#include <QList>
#include <QAudioDeviceInfo>
#include <QScopedPointer>
#include <QDir>
#include <QProgressDialog>
#include <QAbstractSocket>
#include <QHostAddress>
#include <QPair>
2018-02-08 21:28:33 -05:00
#include <QPointer>
#include <QSet>
#include <QVector>
#include <QFuture>
#include <QFutureWatcher>
#include <functional>
2018-02-08 21:28:33 -05:00
#include "AudioDevice.hpp"
#include "commons.h"
#include "Radio.hpp"
#include "Modes.hpp"
#include "FrequencyList.hpp"
#include "Configuration.hpp"
#include "Transceiver.hpp"
#include "DisplayManual.hpp"
#include "psk_reporter.h"
#include "logbook/logbook.h"
#include "commons.h"
#include "MessageBox.hpp"
#include "NetworkAccessManager.hpp"
#include "qorderedmap.h"
#include "qpriorityqueue.h"
#include "varicode.h"
#include "MessageClient.hpp"
#include "MessageServer.h"
#include "TCPClient.h"
#include "SpotClient.h"
#include "APRSISClient.h"
#include "keyeater.h"
2019-10-08 14:33:38 -04:00
#include "NotificationAudio.h"
#include "ProcessThread.h"
#include "Decoder.h"
2018-02-08 21:28:33 -05:00
#define NUM_JT4_SYMBOLS 206 //(72+31)*2, embedded sync
#define NUM_JT65_SYMBOLS 126 //63 data + 63 sync
#define NUM_JT9_SYMBOLS 85 //69 data + 16 sync
#define NUM_WSPR_LF_SYMBOLS 412 //300 data + 109 sync + 3 ramp
#define NUM_ISCAT_SYMBOLS 1291 //30*11025/256
#define NUM_MSK144_SYMBOLS 144 //s8 + d48 + s8 + d80
#define NUM_QRA64_SYMBOLS 84 //63 data + 21 sync
Squashed commit of the following: commit dbca224ee15f598ba86b860c19e902b594f6b888 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 14 21:10:17 2019 -0400 Cleanup decoder with easy parameters commit 427a6ac6bf02a7de80e76b921bbd48ec23dab0c4 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 22:56:32 2019 -0400 Working on downsampling commit ef5e1fb9cdafb6069b6f67377c3bc9e073d2785e Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 22:01:34 2019 -0400 Fixed NN parameters commit 216dbc83a931127540fb028d3365a205b4ef1d28 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 21:40:20 2019 -0400 Fixed dupe during sync commit 9505d50ba6c42b05e5fff1a059864a643d9e7558 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 16:54:37 2019 -0400 Tweaking downsampling commit 86cd07e1ac8ce8d64cdd2d4321cf295cd867f80e Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 10:11:07 2019 -0400 Working with logging commit 0de3849a442d20081f545c6fef5fadf2def6e0d2 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 03:46:51 2019 -0400 250 millisecond startup delay commit a35cc5302b6f8532a424d504a4e2feaacf74ef99 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 03:39:20 2019 -0400 1200 sps, 10 seconds, 80Hz commit 6f36db20f90c510336b497605d9d7667d6f0f44f Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 03:27:12 2019 -0400 Working word count commit 741c55ac0840512d68e1fbdb2f1fff6adfcd4612 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 02:40:40 2019 -0400 Updated LDPC simulator commit ce0992644315402503f44bdae4131bacf2cc3e21 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 02:34:01 2019 -0400 Weird. Apparently symbol stop is the only way to get decodes to work in app...need to figure out why commit 8b330fbff6574f2ee6d7a471dd93a2cb57b492dd Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 13 01:50:37 2019 -0400 More parameter fixups (downsampling) and first decode commit 37c780b45e6579294b5a4692b8e8d0602d9bd8b1 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 12 23:20:58 2019 -0400 More params fixing commit bc8547e1e8f55bfb4bce5f95890f3cf6798e36d7 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 12 22:48:00 2019 -0400 Fixed params in fortran code commit 10fbf9f4a78c6244e0082a31819ee26aeae39325 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 12 16:08:32 2019 -0400 Using constants in place of literals in a few places to make it easier to change
2019-08-14 21:11:06 -04:00
2018-02-08 21:28:33 -05:00
#define NUM_CW_SYMBOLS 250
#define TX_SAMPLE_RATE 48000
2018-03-05 14:49:51 -05:00
#define N_WIDGETS 33
2018-02-08 21:28:33 -05:00
extern int volatile itone[NUM_ISCAT_SYMBOLS]; //Audio tones for all Tx symbols
extern int volatile icw[NUM_CW_SYMBOLS]; //Dits for CW ID
//--------------------------------------------------------------- MainWindow
namespace Ui {
class MainWindow;
}
class QSettings;
class QLineEdit;
class QFont;
class QHostInfo;
class WideGraph;
class LogQSO;
class Transceiver;
class MessageAveraging;
class MessageClient;
class QTime;
class HelpTextWindow;
class SoundOutput;
class Modulator;
class SoundInput;
class Detector;
class MultiSettings;
class EqualizationToolsDialog;
class DecodedText;
class JSCChecker;
2018-02-08 21:28:33 -05:00
using namespace std;
typedef std::function<void()> Callback;
2018-02-08 21:28:33 -05:00
class MainWindow : public QMainWindow
{
Q_OBJECT;
struct CallDetail;
2019-01-03 12:39:48 -05:00
struct CommandDetail;
2018-02-08 21:28:33 -05:00
public:
using Frequency = Radio::Frequency;
using FrequencyDelta = Radio::FrequencyDelta;
using Mode = Modes::Mode;
explicit MainWindow(QDir const& temp_directory, bool multiple, MultiSettings *,
QSharedMemory *shdmem, unsigned downSampleFactor,
QSplashScreen *,
QWidget *parent = nullptr);
~MainWindow();
private:
void initDecoderSubprocess();
2018-02-08 21:28:33 -05:00
public slots:
void showSoundInError(const QString& errorMsg);
void showSoundOutError(const QString& errorMsg);
void showStatusMessage(const QString& statusMsg);
void dataSink(qint64 frames);
void diskDat();
void guiUpdate();
void readFromStdout(QProcess * proc);
2018-02-08 21:28:33 -05:00
void setXIT(int n, Frequency base = 0u);
void qsy(int hzDelta);
void drifted(int prev, int cur);
void setFreqOffsetForRestore(int freq, bool shouldRestore);
bool tryRestoreFreqOffset();
2018-02-08 21:28:33 -05:00
void setFreq4(int rxFreq, int txFreq);
bool hasExistingMessageBufferToMe(int *pOffset);
bool hasExistingMessageBuffer(int submode, int offset, bool drift, int *pPrevOffset);
bool hasClosedExistingMessageBuffer(int offset);
2018-07-31 23:26:01 -04:00
void logCallActivity(CallDetail d, bool spot=true);
2019-01-14 09:48:53 -05:00
void logHeardGraph(QString from, QString to);
2018-07-24 02:53:01 -04:00
QString lookupCallInCompoundCache(QString const &call);
void cacheActivity(QString key);
void restoreActivity(QString key);
void clearActivity();
void clearBandActivity();
void clearRXActivity();
void clearCallActivity();
void createGroupCallsignTableRows(QTableWidget *table, const QString &selectedCall);
void displayTextForFreq(QString text, int freq, QDateTime date, bool isTx, bool isNewLine, bool isLast);
void writeNoticeTextToUI(QDateTime date, QString text);
int writeMessageTextToUI(QDateTime date, QString text, int freq, bool isTx, int block=-1);
bool isMessageQueuedForTransmit();
bool isInDecodeDelayThreshold(int seconds);
void prependMessageText(QString text);
void addMessageText(QString text, bool clear=false, bool selectFirstPlaceholder=false);
void confirmThenEnqueueMessage(int timeout, int priority, QString message, int offset, Callback c);
void enqueueMessage(int priority, QString message, int offset, Callback c);
void resetMessage();
void resetMessageUI();
void restoreMessage();
void initializeDummyData();
bool ensureCallsignSet(bool alert=true);
2018-10-27 15:01:27 -04:00
bool ensureKeyNotStuck(QString const& text);
bool ensureNotIdle();
bool ensureCanTransmit();
bool ensureCreateMessageReady(const QString &text);
QString createMessage(QString const& text, bool *pDisableTypeahead);
QString appendMessage(QString const& text, bool isData, bool *pDisableTypeahead);
QString createMessageTransmitQueue(QString const& text, bool reset, bool isData, bool *pDisableTypeahead);
void resetMessageTransmitQueue();
QPair<QString, int> popMessageFrame();
void tryNotify(const QString &key);
int rxThreshold(int submode);
int rxSnrThreshold(int submode);
void processDecodedLine(QByteArray t);
2018-02-08 21:28:33 -05:00
protected:
void keyPressEvent (QKeyEvent *) override;
void closeEvent(QCloseEvent *) override;
void childEvent(QChildEvent *) override;
bool eventFilter(QObject *, QEvent *) override;
private slots:
void initialize_fonts ();
void on_tx1_editingFinished();
void on_tx2_editingFinished();
void on_tx3_editingFinished();
void on_tx4_editingFinished();
void on_tx5_currentTextChanged (QString const&);
void on_tx6_editingFinished();
Squashed commit of the following: commit 0d6833b23da2519155ee93b98b4144240b356730 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 14:06:47 2019 -0400 Bump version commit 17705fcff6a22529f3dec45aa95cad90feb78c63 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:36:03 2019 -0400 Updated configration labeling for idle timeout commit a9f8aa9549c1c6b62201a6c102d91649ee17b9a5 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:07:11 2019 -0400 Decoder params tests commit 94e524741020fd8b3925233a189cedf0a8a282cc Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:24:23 2019 -0400 Fixed decoder bug that crashed the software commit 4fdbfc8d9082e0f52513a5c215489b13558972f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:02:52 2019 -0400 Decoder params tweak commit 1e25ac41d442372f09b254d957e0d9e31773254e Merge: 97a0fb5 552cd7f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:17:40 2019 -0400 Merge branch 'fortran-cleanup' of bitbucket.org:widefido/js8call-private into fortran-cleanup commit 97a0fb51b37c24e2638400dc5694fc4e988ae4f2 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:15:25 2019 -0400 Heartbeat as a mode does not work if slow mode does not work. Tabling this idea for now. commit 552cd7fe5fc81c712b57b5f3ea79599177e53f69 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 23:35:14 2019 +0000 js8_params.f90 edited online with Bitbucket commit 7c9e960b863148a4ecbca4f61584536471623ea2 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:28:52 2019 -0400 Do not randomize offset at startup commit cff7b90dbb9aada2944e668a9bcf078470af4608 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:20:19 2019 -0400 Slow label for button commit 977145dee89ccd7da4d43ce0bc2f9b79243aa200 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:17:36 2019 -0400 Experimental slow mode commit 27c128e0b327e1c077a9b49e11750bef2f3c26eb Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 15:26:01 2019 -0400 HBs are Normal commit 89792f91abf22dcd7c512bf7362f5e2e1cb36374 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 14:16:27 2019 -0400 Update heartbeat UI for more clarity commit f5cebbcdabe37d90b75ca7e8d1675a553e107c83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:58:53 2019 -0400 Optimize decode params commit b14003bb34d93f9e93d7d4ad4241d619963c3a65 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:30:00 2019 -0400 Shrink speed column for Joe ;) commit 35f4446146efc9fd7044af3b56b0b93664238b24 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:54:28 2019 -0400 Fixed fast mode decoder for directed messages commit 64212acc30dd360348a72b354899a5b0de28aa83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:05:11 2019 -0400 Simplified decoder callbacks commit a026766517d282a3fda0258356f6f22fee2a916f Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 09:50:33 2019 -0400 Commentary commit 9d28b1ff5bd5cda7a04028218a01639e3902bf7b Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 23:33:22 2019 -0400 Let's experiment with a new UI for HB commit a013d66d8b8d16cc941a14eb76af2ce23b7bb6d5 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 21:44:26 2019 -0400 31.25 baud experiment commit 0671458bf588dd94710c5ba34f20695e13a28d31 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 15:31:43 2019 -0400 Added basic foundation for slow mode, coming soon. commit 8b9aed6e29b093e8fb736ebdbdf0fbe12a820e8e Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 09:59:08 2019 -0400 Display SPEED+AUTO commit 5f5af250c1c5b610e8969b32c01654d3467f0973 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Sep 1 09:45:39 2019 -0400 Added mode speed option to the activity tables commit 82fa0335fdd41f0a578149e0211d6307293c739d Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 23:14:07 2019 -0400 Remember mode speed setting commit 79ec805b223099bb4d552dc612a6c97a8982525e Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:14:04 2019 -0400 Remove unused sync vars commit fc52dfcc320e59f6c7ca58ba277cb70469419587 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:12:11 2019 -0400 Timing delta max commit 62b8fc5054d3611d40d7441d57d695df594b8446 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:14:08 2019 -0400 Fast modes optionally can use huff encoding for data... we'll see which is best commit 44c357aff3e1c6687e93fb843917bd420888b397 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:03:21 2019 -0400 Added ability to use a different message packing algorithm for fast modes commit e075a078eb75509ef690e6c78c0e797ada569b94 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:18:14 2019 -0400 Fixed symbol offset in sync code for turbo mode commit a130b5d4a594e9bceece003be0ba72abb05a9f90 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:09:27 2019 -0400 Added WPM to menu commit 98cacab7bfc243492b6dec703d216d378cc3d34d Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 23:18:58 2019 -0400 Key eater commit eef58e2c88d010c7f3917a111243eae744a425c3 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 16:07:31 2019 -0400 Reorganizing js8dec for better understanding and less confusion between it and JS8b commit 08c14f966e1cda836ca90a8bd1ccd5ae68ec8dd7 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 14:20:52 2019 -0400 Do no expose relay and messaging to fast and turbo modes commit c605a31c266866f78eb043812af837ead6442ede Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 12:02:41 2019 -0400 Do not allow mode speed changes if transmitting commit add062e657a5215f9a4a1ae3ee82063aa85cf0e4 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 23:02:31 2019 -0400 Fixed bug where tones were not generated with the correct costas arrays...causing really poor synchronization and failed decodes. I'm surprised it worked at all :P commit cd492b5dd9fd62b5518a5711a1ef8ec522ea08fe Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 21:56:45 2019 -0400 Back to 20 baud. It has the best decodability, imho commit a2266cd00b8bd14c77bdbc8fc18818689e969858 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 14:27:29 2019 -0400 Back to 20 baud with some decoder optimizations commit 86413042e75873585bcb40236da67f2d64870859 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 23:04:47 2019 -0400 Try 24 baud commit a6704162b37d1c0704f43a64ab6b8a0a6e3c1cba Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 17:09:12 2019 -0400 Fixed legacy compiler issue with mode text commit 2fdbcc12e5f0c8cc8062c745af0930db4472cd9c Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 10:17:23 2019 -0400 Function for determining current mode commit 82e70345baa665418a51307f0309f2b7dcb3d3b7 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:26 2019 -0400 Don't write the log commit d3380e01676537f4bab9a05932cb5a59de3cf45f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:03 2019 -0400 Fixed issues with turbo decode with partial sync code commit c2a8ebb8f305e67fcb2597d25e062663722a0d73 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 03:30:02 2019 -0400 Working through better decoding of fast modes commit 7ca93f8c6a7970559577c9dfd833eb92a1b91a0c Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 23:23:34 2019 -0400 Trying for better TX/RX delays commit b99271b4feaa7e41c7b88219cb3c7d43dbe7b48d Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:57:02 2019 -0400 Added flags to easily enable/disable the faster modes commit 32d913a7f7d3deb6a8d66651d51673ec451d2500 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:43:20 2019 -0400 Added mode button commit c7cc90548591638bfc5a4a8895036dd67b155aaa Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:17:42 2019 -0400 Updated start delay for the modes commit b91dc63f92101cd8b6adbf9de588c4ffd10bfc10 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:55:57 2019 -0400 Late threshold for turbo mode is 1/2 the delay commit 09ec95fab1307e65aa9bd462d60525afd2a770fe Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:52:55 2019 -0400 Renamed mode menu items commit a4e5a9ed9bce66c625e4df1182cd3c91a6ba44dd Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:50:45 2019 -0400 Only enable networking and autoreply for normal JS8 commit fc558d5823c46fc5d3dc651610b7af43e7519165 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:14:12 2019 -0400 Fixed spot button tooltip commit 9a9965d543540a2d215bcbfff34934846afe507a Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 10:04:31 2019 -0400 Working selectable decoder commit 4a9cdbc52dae1d857c102d8777f1aded4fac87bb Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 20:53:30 2019 -0400 Mode menu selection of the submodes. Turbo decoder disabled right now. Naming to be determined commit a3acbf7c243f7aa740c229ae178fffa528e68933 Merge: 8ea554d daa8cc2 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 13:29:14 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 8ea554d79904c9b2f3ccf1027bf4d41fb25e6fe3 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 09:53:21 2019 -0400 Use indx variable instead of computed commit 067e65500328133f921b172e515babbcc0df831b Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 22:41:00 2019 -0400 Make it easier to flip between modes commit a544a7635201072f3ea20483353edf2e79dc813d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 21:18:46 2019 -0400 Fixed sync issues with multi costas. Added log statements for future debugging commit a8f3ead932017ae7d98fdb9a779bf3bb44bd395d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:54:59 2019 -0400 Playing around with different costas arrays commit fa89fe11a15d26abadd5102c8980620cfeffccd9 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:51:45 2019 -0400 Added reference to 7x7 costas arrays commit 2417ebed6139534214f76ce94bdf1f54a966760a Merge: 6011f1e 32fcabd Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:41:39 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 6011f1e807b1814399477d3c172db46831a090c6 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:35:42 2019 -0400 Back to 10 baud. Update late threshold to be computed to 3/4 dead air time. commit 41d3995861226f7208b2773430010a48abc125c1 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:36:12 2019 -0400 Trying out 20 baud commit a8d77e9e5b98f3f0bf19f68b53199b5952e8aaad Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:23:36 2019 -0400 Fixed up sync quarter symbol constant commit 7050722436b9c629ea00649e6b3c81d7af7be82a Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 14:43:48 2019 -0400 Computed symbol stop commit f130fe87abdccbabd2e71f2771b789c7f46d57ca Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 20:56:59 2019 -0400 Added reference to 7x7 costas arrays commit 53e91858f5a4e9ce78c38ef65c77e87f1903c058 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 16:34:51 2019 -0400 Back to 10 baud commit 1ae79d566ebd9a40ad3cf4a07977ef0e09615d91 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:41 2019 -0400 Testing 31.25 baud commit 7e033c28ae090d6c3f5a63fa651ee51c3243d61c Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:17 2019 -0400 Experimenting with a few different baudrates commit 050e24ad3a040924ded6d641004ae63da47e4251 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 12:25:50 2019 -0400 Added ldpcsim for js8 commit d309a75d860e39737dec732560432a191290b258 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:42:11 2019 -0400 Experimental submode switching commit 74f72bb24a22631b8b69942ea0633bb0564b8aa3 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:41:53 2019 -0400 Allow switching decoders based on submode commit f8740a23b27e80fa53350e140d4638a27cd6e975 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:43:18 2019 -0400 Initial spike of js8 fortran code commit 31625316639f79246b4a2e3d0cea4507bf0547f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:09:00 2019 -0400 Remove fix contest message commit c0e0862afa8ae2d47e9577562399b8c9bc929c6a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:05:05 2019 -0400 Cleanup unused text files and batch files commit 1b3aa55869f0c310e6c911a7cbb3fe269bc7421a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:00:38 2019 -0400 Removed fast_decode and dx commit 49e5cabff25c13620a9d2c6fc6ddd4988f1be217 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:54:39 2019 -0400 Cleaning up msk stuff commit 8bde6f391f4b23d2a2e9d55685d96bc647a462f6 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:44:39 2019 -0400 Initial cleanup pass of qra, ftrsd, and wsprd
2019-09-05 14:07:24 -04:00
void on_menuModeJS8_aboutToShow();
2018-11-15 22:06:52 -05:00
void on_menuControl_aboutToShow();
void on_actionCheck_for_Updates_triggered();
void on_actionEnable_Monitor_RX_toggled(bool checked);
void on_actionEnable_Transmitter_TX_toggled(bool checked);
void on_actionEnable_Reporting_SPOT_toggled(bool checked);
2020-04-26 16:50:13 -04:00
void on_actionEnable_Tuning_Tone_TUNE_toggled(bool checked);
void on_menuWindow_aboutToShow();
void on_actionFocus_Message_Receive_Area_triggered();
void on_actionFocus_Message_Reply_Area_triggered();
void on_actionFocus_Band_Activity_Table_triggered();
void on_actionFocus_Call_Activity_Table_triggered();
void on_actionClear_All_Activity_triggered();
void on_actionClear_Band_Activity_triggered();
void on_actionClear_RX_Activity_triggered();
void on_actionClear_Call_Activity_triggered();
2019-01-23 20:31:26 -05:00
void on_actionSetOffset_triggered();
2018-11-22 10:37:38 -05:00
void on_actionShow_Fullscreen_triggered(bool checked);
void on_actionShow_Statusbar_triggered(bool checked);
void on_actionShow_Frequency_Clock_triggered(bool checked);
void on_actionShow_Band_Activity_triggered(bool checked);
void on_actionShow_Band_Heartbeats_and_ACKs_triggered(bool checked);
void on_actionShow_Call_Activity_triggered(bool checked);
void on_actionShow_Waterfall_triggered(bool checked);
2018-09-01 18:26:10 -04:00
void on_actionShow_Waterfall_Controls_triggered(bool checked);
void on_actionShow_Waterfall_Time_Drift_Controls_triggered(bool checked);
void on_actionReset_Window_Sizes_triggered();
2018-02-08 21:28:33 -05:00
void on_actionSettings_triggered();
void openSettings(int tab=0);
void prepareApi();
void prepareSpotting();
2018-07-09 16:31:37 -04:00
void on_spotButton_clicked(bool checked);
2018-02-08 21:28:33 -05:00
void on_monitorButton_clicked (bool);
void on_actionAbout_triggered();
void on_autoButton_clicked (bool);
void on_labDialFreq_clicked();
void resetPushButtonToggleText(QPushButton *btn);
2018-02-08 21:28:33 -05:00
void on_stopTxButton_clicked();
2019-12-27 19:46:36 -05:00
void on_dialFreqUpButton_clicked();
void on_dialFreqDownButton_clicked();
2018-02-08 21:28:33 -05:00
void on_stopButton_clicked();
2018-10-03 17:10:43 -04:00
void on_actionAdd_Log_Entry_triggered();
2018-02-08 21:28:33 -05:00
void on_actionRelease_Notes_triggered ();
2018-03-05 14:49:51 -05:00
void on_actionFT8_DXpedition_Mode_User_Guide_triggered();
2018-02-08 21:28:33 -05:00
void on_actionOnline_User_Guide_triggered();
void on_actionLocal_User_Guide_triggered();
void on_actionOpen_triggered();
void on_actionOpen_next_in_directory_triggered();
void on_actionDecode_remaining_files_in_directory_triggered();
void on_actionDelete_all_wav_files_in_SaveDir_triggered();
void on_actionOpen_log_directory_triggered ();
void on_actionOpen_Save_Directory_triggered();
2018-02-08 21:28:33 -05:00
void on_actionNone_triggered();
void on_actionSave_all_triggered();
void on_actionKeyboard_shortcuts_triggered();
void on_actionSpecial_mouse_commands_triggered();
void on_actionSolve_FreqCal_triggered();
void on_actionCopyright_Notice_triggered();
bool decode(qint32 k);
bool isDecodeReady(int submode, qint32 k, qint32 k0, qint32 *pCurrentDecodeStart, qint32 *pNextDecodeStart, qint32 *pStart, qint32 *pSz, qint32 *pCycle);
bool decodeEnqueueReady(qint32 k, qint32 k0);
bool decodeEnqueueReadyExperiment(qint32 k, qint32 k0);
bool decodeProcessQueue(qint32 *pSubmode);
void decodeStart();
void decodePrepareSaveAudio(int submode);
2018-02-08 21:28:33 -05:00
void decodeBusy(bool b);
void decodeDone ();
void decodeCheckHangingDecoder();
2018-02-08 21:28:33 -05:00
void on_EraseButton_clicked();
void set_dateTimeQSO(int m_ntx);
void set_ntx(int n);
void on_txrb1_toggled(bool status);
void on_txrb1_doubleClicked ();
void on_txrb2_toggled(bool status);
void on_txrb3_toggled(bool status);
void on_txrb4_toggled(bool status);
void on_txrb4_doubleClicked ();
void on_txrb5_toggled(bool status);
void on_txrb5_doubleClicked ();
void on_txrb6_toggled(bool status);
void on_txb1_clicked();
void on_txb1_doubleClicked ();
void on_txb2_clicked();
void on_txb3_clicked();
void on_txb4_clicked();
void on_txb4_doubleClicked ();
void on_txb5_clicked();
void on_txb5_doubleClicked ();
void on_txb6_clicked();
void on_startTxButton_toggled(bool checked);
void toggleTx(bool start);
void on_rbNextFreeTextMsg_toggled (bool status);
2018-02-08 21:28:33 -05:00
void on_lookupButton_clicked();
void on_addButton_clicked();
void on_dxCallEntry_textChanged (QString const&);
void on_dxGridEntry_textChanged (QString const&);
void on_dxCallEntry_returnPressed ();
void on_genStdMsgsPushButton_clicked();
void on_logQSOButton_clicked();
Squashed commit of the following: commit 0d6833b23da2519155ee93b98b4144240b356730 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 14:06:47 2019 -0400 Bump version commit 17705fcff6a22529f3dec45aa95cad90feb78c63 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:36:03 2019 -0400 Updated configration labeling for idle timeout commit a9f8aa9549c1c6b62201a6c102d91649ee17b9a5 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:07:11 2019 -0400 Decoder params tests commit 94e524741020fd8b3925233a189cedf0a8a282cc Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:24:23 2019 -0400 Fixed decoder bug that crashed the software commit 4fdbfc8d9082e0f52513a5c215489b13558972f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:02:52 2019 -0400 Decoder params tweak commit 1e25ac41d442372f09b254d957e0d9e31773254e Merge: 97a0fb5 552cd7f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:17:40 2019 -0400 Merge branch 'fortran-cleanup' of bitbucket.org:widefido/js8call-private into fortran-cleanup commit 97a0fb51b37c24e2638400dc5694fc4e988ae4f2 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:15:25 2019 -0400 Heartbeat as a mode does not work if slow mode does not work. Tabling this idea for now. commit 552cd7fe5fc81c712b57b5f3ea79599177e53f69 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 23:35:14 2019 +0000 js8_params.f90 edited online with Bitbucket commit 7c9e960b863148a4ecbca4f61584536471623ea2 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:28:52 2019 -0400 Do not randomize offset at startup commit cff7b90dbb9aada2944e668a9bcf078470af4608 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:20:19 2019 -0400 Slow label for button commit 977145dee89ccd7da4d43ce0bc2f9b79243aa200 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:17:36 2019 -0400 Experimental slow mode commit 27c128e0b327e1c077a9b49e11750bef2f3c26eb Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 15:26:01 2019 -0400 HBs are Normal commit 89792f91abf22dcd7c512bf7362f5e2e1cb36374 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 14:16:27 2019 -0400 Update heartbeat UI for more clarity commit f5cebbcdabe37d90b75ca7e8d1675a553e107c83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:58:53 2019 -0400 Optimize decode params commit b14003bb34d93f9e93d7d4ad4241d619963c3a65 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:30:00 2019 -0400 Shrink speed column for Joe ;) commit 35f4446146efc9fd7044af3b56b0b93664238b24 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:54:28 2019 -0400 Fixed fast mode decoder for directed messages commit 64212acc30dd360348a72b354899a5b0de28aa83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:05:11 2019 -0400 Simplified decoder callbacks commit a026766517d282a3fda0258356f6f22fee2a916f Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 09:50:33 2019 -0400 Commentary commit 9d28b1ff5bd5cda7a04028218a01639e3902bf7b Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 23:33:22 2019 -0400 Let's experiment with a new UI for HB commit a013d66d8b8d16cc941a14eb76af2ce23b7bb6d5 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 21:44:26 2019 -0400 31.25 baud experiment commit 0671458bf588dd94710c5ba34f20695e13a28d31 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 15:31:43 2019 -0400 Added basic foundation for slow mode, coming soon. commit 8b9aed6e29b093e8fb736ebdbdf0fbe12a820e8e Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 09:59:08 2019 -0400 Display SPEED+AUTO commit 5f5af250c1c5b610e8969b32c01654d3467f0973 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Sep 1 09:45:39 2019 -0400 Added mode speed option to the activity tables commit 82fa0335fdd41f0a578149e0211d6307293c739d Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 23:14:07 2019 -0400 Remember mode speed setting commit 79ec805b223099bb4d552dc612a6c97a8982525e Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:14:04 2019 -0400 Remove unused sync vars commit fc52dfcc320e59f6c7ca58ba277cb70469419587 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:12:11 2019 -0400 Timing delta max commit 62b8fc5054d3611d40d7441d57d695df594b8446 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:14:08 2019 -0400 Fast modes optionally can use huff encoding for data... we'll see which is best commit 44c357aff3e1c6687e93fb843917bd420888b397 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:03:21 2019 -0400 Added ability to use a different message packing algorithm for fast modes commit e075a078eb75509ef690e6c78c0e797ada569b94 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:18:14 2019 -0400 Fixed symbol offset in sync code for turbo mode commit a130b5d4a594e9bceece003be0ba72abb05a9f90 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:09:27 2019 -0400 Added WPM to menu commit 98cacab7bfc243492b6dec703d216d378cc3d34d Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 23:18:58 2019 -0400 Key eater commit eef58e2c88d010c7f3917a111243eae744a425c3 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 16:07:31 2019 -0400 Reorganizing js8dec for better understanding and less confusion between it and JS8b commit 08c14f966e1cda836ca90a8bd1ccd5ae68ec8dd7 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 14:20:52 2019 -0400 Do no expose relay and messaging to fast and turbo modes commit c605a31c266866f78eb043812af837ead6442ede Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 12:02:41 2019 -0400 Do not allow mode speed changes if transmitting commit add062e657a5215f9a4a1ae3ee82063aa85cf0e4 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 23:02:31 2019 -0400 Fixed bug where tones were not generated with the correct costas arrays...causing really poor synchronization and failed decodes. I'm surprised it worked at all :P commit cd492b5dd9fd62b5518a5711a1ef8ec522ea08fe Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 21:56:45 2019 -0400 Back to 20 baud. It has the best decodability, imho commit a2266cd00b8bd14c77bdbc8fc18818689e969858 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 14:27:29 2019 -0400 Back to 20 baud with some decoder optimizations commit 86413042e75873585bcb40236da67f2d64870859 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 23:04:47 2019 -0400 Try 24 baud commit a6704162b37d1c0704f43a64ab6b8a0a6e3c1cba Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 17:09:12 2019 -0400 Fixed legacy compiler issue with mode text commit 2fdbcc12e5f0c8cc8062c745af0930db4472cd9c Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 10:17:23 2019 -0400 Function for determining current mode commit 82e70345baa665418a51307f0309f2b7dcb3d3b7 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:26 2019 -0400 Don't write the log commit d3380e01676537f4bab9a05932cb5a59de3cf45f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:03 2019 -0400 Fixed issues with turbo decode with partial sync code commit c2a8ebb8f305e67fcb2597d25e062663722a0d73 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 03:30:02 2019 -0400 Working through better decoding of fast modes commit 7ca93f8c6a7970559577c9dfd833eb92a1b91a0c Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 23:23:34 2019 -0400 Trying for better TX/RX delays commit b99271b4feaa7e41c7b88219cb3c7d43dbe7b48d Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:57:02 2019 -0400 Added flags to easily enable/disable the faster modes commit 32d913a7f7d3deb6a8d66651d51673ec451d2500 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:43:20 2019 -0400 Added mode button commit c7cc90548591638bfc5a4a8895036dd67b155aaa Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:17:42 2019 -0400 Updated start delay for the modes commit b91dc63f92101cd8b6adbf9de588c4ffd10bfc10 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:55:57 2019 -0400 Late threshold for turbo mode is 1/2 the delay commit 09ec95fab1307e65aa9bd462d60525afd2a770fe Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:52:55 2019 -0400 Renamed mode menu items commit a4e5a9ed9bce66c625e4df1182cd3c91a6ba44dd Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:50:45 2019 -0400 Only enable networking and autoreply for normal JS8 commit fc558d5823c46fc5d3dc651610b7af43e7519165 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:14:12 2019 -0400 Fixed spot button tooltip commit 9a9965d543540a2d215bcbfff34934846afe507a Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 10:04:31 2019 -0400 Working selectable decoder commit 4a9cdbc52dae1d857c102d8777f1aded4fac87bb Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 20:53:30 2019 -0400 Mode menu selection of the submodes. Turbo decoder disabled right now. Naming to be determined commit a3acbf7c243f7aa740c229ae178fffa528e68933 Merge: 8ea554d daa8cc2 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 13:29:14 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 8ea554d79904c9b2f3ccf1027bf4d41fb25e6fe3 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 09:53:21 2019 -0400 Use indx variable instead of computed commit 067e65500328133f921b172e515babbcc0df831b Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 22:41:00 2019 -0400 Make it easier to flip between modes commit a544a7635201072f3ea20483353edf2e79dc813d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 21:18:46 2019 -0400 Fixed sync issues with multi costas. Added log statements for future debugging commit a8f3ead932017ae7d98fdb9a779bf3bb44bd395d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:54:59 2019 -0400 Playing around with different costas arrays commit fa89fe11a15d26abadd5102c8980620cfeffccd9 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:51:45 2019 -0400 Added reference to 7x7 costas arrays commit 2417ebed6139534214f76ce94bdf1f54a966760a Merge: 6011f1e 32fcabd Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:41:39 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 6011f1e807b1814399477d3c172db46831a090c6 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:35:42 2019 -0400 Back to 10 baud. Update late threshold to be computed to 3/4 dead air time. commit 41d3995861226f7208b2773430010a48abc125c1 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:36:12 2019 -0400 Trying out 20 baud commit a8d77e9e5b98f3f0bf19f68b53199b5952e8aaad Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:23:36 2019 -0400 Fixed up sync quarter symbol constant commit 7050722436b9c629ea00649e6b3c81d7af7be82a Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 14:43:48 2019 -0400 Computed symbol stop commit f130fe87abdccbabd2e71f2771b789c7f46d57ca Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 20:56:59 2019 -0400 Added reference to 7x7 costas arrays commit 53e91858f5a4e9ce78c38ef65c77e87f1903c058 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 16:34:51 2019 -0400 Back to 10 baud commit 1ae79d566ebd9a40ad3cf4a07977ef0e09615d91 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:41 2019 -0400 Testing 31.25 baud commit 7e033c28ae090d6c3f5a63fa651ee51c3243d61c Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:17 2019 -0400 Experimenting with a few different baudrates commit 050e24ad3a040924ded6d641004ae63da47e4251 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 12:25:50 2019 -0400 Added ldpcsim for js8 commit d309a75d860e39737dec732560432a191290b258 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:42:11 2019 -0400 Experimental submode switching commit 74f72bb24a22631b8b69942ea0633bb0564b8aa3 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:41:53 2019 -0400 Allow switching decoders based on submode commit f8740a23b27e80fa53350e140d4638a27cd6e975 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:43:18 2019 -0400 Initial spike of js8 fortran code commit 31625316639f79246b4a2e3d0cea4507bf0547f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:09:00 2019 -0400 Remove fix contest message commit c0e0862afa8ae2d47e9577562399b8c9bc929c6a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:05:05 2019 -0400 Cleanup unused text files and batch files commit 1b3aa55869f0c310e6c911a7cbb3fe269bc7421a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:00:38 2019 -0400 Removed fast_decode and dx commit 49e5cabff25c13620a9d2c6fc6ddd4988f1be217 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:54:39 2019 -0400 Cleaning up msk stuff commit 8bde6f391f4b23d2a2e9d55685d96bc647a462f6 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:44:39 2019 -0400 Initial cleanup pass of qra, ftrsd, and wsprd
2019-09-05 14:07:24 -04:00
void on_actionModeJS8HB_toggled(bool checked);
void on_actionModeJS8Normal_triggered();
void on_actionModeJS8Fast_triggered();
void on_actionModeJS8Turbo_triggered();
void on_actionModeJS8Slow_triggered();
void on_actionModeJS8Ultra_triggered();
Squashed commit of the following: commit 0d6833b23da2519155ee93b98b4144240b356730 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 14:06:47 2019 -0400 Bump version commit 17705fcff6a22529f3dec45aa95cad90feb78c63 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:36:03 2019 -0400 Updated configration labeling for idle timeout commit a9f8aa9549c1c6b62201a6c102d91649ee17b9a5 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:07:11 2019 -0400 Decoder params tests commit 94e524741020fd8b3925233a189cedf0a8a282cc Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:24:23 2019 -0400 Fixed decoder bug that crashed the software commit 4fdbfc8d9082e0f52513a5c215489b13558972f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:02:52 2019 -0400 Decoder params tweak commit 1e25ac41d442372f09b254d957e0d9e31773254e Merge: 97a0fb5 552cd7f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:17:40 2019 -0400 Merge branch 'fortran-cleanup' of bitbucket.org:widefido/js8call-private into fortran-cleanup commit 97a0fb51b37c24e2638400dc5694fc4e988ae4f2 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:15:25 2019 -0400 Heartbeat as a mode does not work if slow mode does not work. Tabling this idea for now. commit 552cd7fe5fc81c712b57b5f3ea79599177e53f69 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 23:35:14 2019 +0000 js8_params.f90 edited online with Bitbucket commit 7c9e960b863148a4ecbca4f61584536471623ea2 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:28:52 2019 -0400 Do not randomize offset at startup commit cff7b90dbb9aada2944e668a9bcf078470af4608 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:20:19 2019 -0400 Slow label for button commit 977145dee89ccd7da4d43ce0bc2f9b79243aa200 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:17:36 2019 -0400 Experimental slow mode commit 27c128e0b327e1c077a9b49e11750bef2f3c26eb Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 15:26:01 2019 -0400 HBs are Normal commit 89792f91abf22dcd7c512bf7362f5e2e1cb36374 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 14:16:27 2019 -0400 Update heartbeat UI for more clarity commit f5cebbcdabe37d90b75ca7e8d1675a553e107c83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:58:53 2019 -0400 Optimize decode params commit b14003bb34d93f9e93d7d4ad4241d619963c3a65 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:30:00 2019 -0400 Shrink speed column for Joe ;) commit 35f4446146efc9fd7044af3b56b0b93664238b24 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:54:28 2019 -0400 Fixed fast mode decoder for directed messages commit 64212acc30dd360348a72b354899a5b0de28aa83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:05:11 2019 -0400 Simplified decoder callbacks commit a026766517d282a3fda0258356f6f22fee2a916f Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 09:50:33 2019 -0400 Commentary commit 9d28b1ff5bd5cda7a04028218a01639e3902bf7b Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 23:33:22 2019 -0400 Let's experiment with a new UI for HB commit a013d66d8b8d16cc941a14eb76af2ce23b7bb6d5 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 21:44:26 2019 -0400 31.25 baud experiment commit 0671458bf588dd94710c5ba34f20695e13a28d31 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 15:31:43 2019 -0400 Added basic foundation for slow mode, coming soon. commit 8b9aed6e29b093e8fb736ebdbdf0fbe12a820e8e Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 09:59:08 2019 -0400 Display SPEED+AUTO commit 5f5af250c1c5b610e8969b32c01654d3467f0973 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Sep 1 09:45:39 2019 -0400 Added mode speed option to the activity tables commit 82fa0335fdd41f0a578149e0211d6307293c739d Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 23:14:07 2019 -0400 Remember mode speed setting commit 79ec805b223099bb4d552dc612a6c97a8982525e Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:14:04 2019 -0400 Remove unused sync vars commit fc52dfcc320e59f6c7ca58ba277cb70469419587 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:12:11 2019 -0400 Timing delta max commit 62b8fc5054d3611d40d7441d57d695df594b8446 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:14:08 2019 -0400 Fast modes optionally can use huff encoding for data... we'll see which is best commit 44c357aff3e1c6687e93fb843917bd420888b397 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:03:21 2019 -0400 Added ability to use a different message packing algorithm for fast modes commit e075a078eb75509ef690e6c78c0e797ada569b94 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:18:14 2019 -0400 Fixed symbol offset in sync code for turbo mode commit a130b5d4a594e9bceece003be0ba72abb05a9f90 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:09:27 2019 -0400 Added WPM to menu commit 98cacab7bfc243492b6dec703d216d378cc3d34d Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 23:18:58 2019 -0400 Key eater commit eef58e2c88d010c7f3917a111243eae744a425c3 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 16:07:31 2019 -0400 Reorganizing js8dec for better understanding and less confusion between it and JS8b commit 08c14f966e1cda836ca90a8bd1ccd5ae68ec8dd7 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 14:20:52 2019 -0400 Do no expose relay and messaging to fast and turbo modes commit c605a31c266866f78eb043812af837ead6442ede Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 12:02:41 2019 -0400 Do not allow mode speed changes if transmitting commit add062e657a5215f9a4a1ae3ee82063aa85cf0e4 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 23:02:31 2019 -0400 Fixed bug where tones were not generated with the correct costas arrays...causing really poor synchronization and failed decodes. I'm surprised it worked at all :P commit cd492b5dd9fd62b5518a5711a1ef8ec522ea08fe Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 21:56:45 2019 -0400 Back to 20 baud. It has the best decodability, imho commit a2266cd00b8bd14c77bdbc8fc18818689e969858 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 14:27:29 2019 -0400 Back to 20 baud with some decoder optimizations commit 86413042e75873585bcb40236da67f2d64870859 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 23:04:47 2019 -0400 Try 24 baud commit a6704162b37d1c0704f43a64ab6b8a0a6e3c1cba Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 17:09:12 2019 -0400 Fixed legacy compiler issue with mode text commit 2fdbcc12e5f0c8cc8062c745af0930db4472cd9c Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 10:17:23 2019 -0400 Function for determining current mode commit 82e70345baa665418a51307f0309f2b7dcb3d3b7 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:26 2019 -0400 Don't write the log commit d3380e01676537f4bab9a05932cb5a59de3cf45f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:03 2019 -0400 Fixed issues with turbo decode with partial sync code commit c2a8ebb8f305e67fcb2597d25e062663722a0d73 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 03:30:02 2019 -0400 Working through better decoding of fast modes commit 7ca93f8c6a7970559577c9dfd833eb92a1b91a0c Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 23:23:34 2019 -0400 Trying for better TX/RX delays commit b99271b4feaa7e41c7b88219cb3c7d43dbe7b48d Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:57:02 2019 -0400 Added flags to easily enable/disable the faster modes commit 32d913a7f7d3deb6a8d66651d51673ec451d2500 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:43:20 2019 -0400 Added mode button commit c7cc90548591638bfc5a4a8895036dd67b155aaa Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:17:42 2019 -0400 Updated start delay for the modes commit b91dc63f92101cd8b6adbf9de588c4ffd10bfc10 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:55:57 2019 -0400 Late threshold for turbo mode is 1/2 the delay commit 09ec95fab1307e65aa9bd462d60525afd2a770fe Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:52:55 2019 -0400 Renamed mode menu items commit a4e5a9ed9bce66c625e4df1182cd3c91a6ba44dd Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:50:45 2019 -0400 Only enable networking and autoreply for normal JS8 commit fc558d5823c46fc5d3dc651610b7af43e7519165 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:14:12 2019 -0400 Fixed spot button tooltip commit 9a9965d543540a2d215bcbfff34934846afe507a Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 10:04:31 2019 -0400 Working selectable decoder commit 4a9cdbc52dae1d857c102d8777f1aded4fac87bb Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 20:53:30 2019 -0400 Mode menu selection of the submodes. Turbo decoder disabled right now. Naming to be determined commit a3acbf7c243f7aa740c229ae178fffa528e68933 Merge: 8ea554d daa8cc2 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 13:29:14 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 8ea554d79904c9b2f3ccf1027bf4d41fb25e6fe3 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 09:53:21 2019 -0400 Use indx variable instead of computed commit 067e65500328133f921b172e515babbcc0df831b Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 22:41:00 2019 -0400 Make it easier to flip between modes commit a544a7635201072f3ea20483353edf2e79dc813d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 21:18:46 2019 -0400 Fixed sync issues with multi costas. Added log statements for future debugging commit a8f3ead932017ae7d98fdb9a779bf3bb44bd395d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:54:59 2019 -0400 Playing around with different costas arrays commit fa89fe11a15d26abadd5102c8980620cfeffccd9 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:51:45 2019 -0400 Added reference to 7x7 costas arrays commit 2417ebed6139534214f76ce94bdf1f54a966760a Merge: 6011f1e 32fcabd Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:41:39 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 6011f1e807b1814399477d3c172db46831a090c6 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:35:42 2019 -0400 Back to 10 baud. Update late threshold to be computed to 3/4 dead air time. commit 41d3995861226f7208b2773430010a48abc125c1 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:36:12 2019 -0400 Trying out 20 baud commit a8d77e9e5b98f3f0bf19f68b53199b5952e8aaad Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:23:36 2019 -0400 Fixed up sync quarter symbol constant commit 7050722436b9c629ea00649e6b3c81d7af7be82a Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 14:43:48 2019 -0400 Computed symbol stop commit f130fe87abdccbabd2e71f2771b789c7f46d57ca Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 20:56:59 2019 -0400 Added reference to 7x7 costas arrays commit 53e91858f5a4e9ce78c38ef65c77e87f1903c058 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 16:34:51 2019 -0400 Back to 10 baud commit 1ae79d566ebd9a40ad3cf4a07977ef0e09615d91 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:41 2019 -0400 Testing 31.25 baud commit 7e033c28ae090d6c3f5a63fa651ee51c3243d61c Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:17 2019 -0400 Experimenting with a few different baudrates commit 050e24ad3a040924ded6d641004ae63da47e4251 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 12:25:50 2019 -0400 Added ldpcsim for js8 commit d309a75d860e39737dec732560432a191290b258 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:42:11 2019 -0400 Experimental submode switching commit 74f72bb24a22631b8b69942ea0633bb0564b8aa3 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:41:53 2019 -0400 Allow switching decoders based on submode commit f8740a23b27e80fa53350e140d4638a27cd6e975 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:43:18 2019 -0400 Initial spike of js8 fortran code commit 31625316639f79246b4a2e3d0cea4507bf0547f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:09:00 2019 -0400 Remove fix contest message commit c0e0862afa8ae2d47e9577562399b8c9bc929c6a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:05:05 2019 -0400 Cleanup unused text files and batch files commit 1b3aa55869f0c310e6c911a7cbb3fe269bc7421a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:00:38 2019 -0400 Removed fast_decode and dx commit 49e5cabff25c13620a9d2c6fc6ddd4988f1be217 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:54:39 2019 -0400 Cleaning up msk stuff commit 8bde6f391f4b23d2a2e9d55685d96bc647a462f6 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:44:39 2019 -0400 Initial cleanup pass of qra, ftrsd, and wsprd
2019-09-05 14:07:24 -04:00
void on_actionHeartbeatAcknowledgements_toggled(bool checked);
void on_actionModeMultiDecoder_toggled(bool checked);
void on_actionModeAutoreply_toggled(bool checked);
bool canCurrentModeSendHeartbeat();
void prepareMonitorControls();
Squashed commit of the following: commit 0d6833b23da2519155ee93b98b4144240b356730 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 14:06:47 2019 -0400 Bump version commit 17705fcff6a22529f3dec45aa95cad90feb78c63 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:36:03 2019 -0400 Updated configration labeling for idle timeout commit a9f8aa9549c1c6b62201a6c102d91649ee17b9a5 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Sep 5 10:07:11 2019 -0400 Decoder params tests commit 94e524741020fd8b3925233a189cedf0a8a282cc Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:24:23 2019 -0400 Fixed decoder bug that crashed the software commit 4fdbfc8d9082e0f52513a5c215489b13558972f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 21:02:52 2019 -0400 Decoder params tweak commit 1e25ac41d442372f09b254d957e0d9e31773254e Merge: 97a0fb5 552cd7f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:17:40 2019 -0400 Merge branch 'fortran-cleanup' of bitbucket.org:widefido/js8call-private into fortran-cleanup commit 97a0fb51b37c24e2638400dc5694fc4e988ae4f2 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Sep 4 18:15:25 2019 -0400 Heartbeat as a mode does not work if slow mode does not work. Tabling this idea for now. commit 552cd7fe5fc81c712b57b5f3ea79599177e53f69 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 23:35:14 2019 +0000 js8_params.f90 edited online with Bitbucket commit 7c9e960b863148a4ecbca4f61584536471623ea2 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:28:52 2019 -0400 Do not randomize offset at startup commit cff7b90dbb9aada2944e668a9bcf078470af4608 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:20:19 2019 -0400 Slow label for button commit 977145dee89ccd7da4d43ce0bc2f9b79243aa200 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 16:17:36 2019 -0400 Experimental slow mode commit 27c128e0b327e1c077a9b49e11750bef2f3c26eb Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 15:26:01 2019 -0400 HBs are Normal commit 89792f91abf22dcd7c512bf7362f5e2e1cb36374 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 14:16:27 2019 -0400 Update heartbeat UI for more clarity commit f5cebbcdabe37d90b75ca7e8d1675a553e107c83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:58:53 2019 -0400 Optimize decode params commit b14003bb34d93f9e93d7d4ad4241d619963c3a65 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 11:30:00 2019 -0400 Shrink speed column for Joe ;) commit 35f4446146efc9fd7044af3b56b0b93664238b24 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:54:28 2019 -0400 Fixed fast mode decoder for directed messages commit 64212acc30dd360348a72b354899a5b0de28aa83 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 10:05:11 2019 -0400 Simplified decoder callbacks commit a026766517d282a3fda0258356f6f22fee2a916f Author: Jordan Sherer <jordan@widefido.com> Date: Tue Sep 3 09:50:33 2019 -0400 Commentary commit 9d28b1ff5bd5cda7a04028218a01639e3902bf7b Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 23:33:22 2019 -0400 Let's experiment with a new UI for HB commit a013d66d8b8d16cc941a14eb76af2ce23b7bb6d5 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 21:44:26 2019 -0400 31.25 baud experiment commit 0671458bf588dd94710c5ba34f20695e13a28d31 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 15:31:43 2019 -0400 Added basic foundation for slow mode, coming soon. commit 8b9aed6e29b093e8fb736ebdbdf0fbe12a820e8e Author: Jordan Sherer <jordan@widefido.com> Date: Mon Sep 2 09:59:08 2019 -0400 Display SPEED+AUTO commit 5f5af250c1c5b610e8969b32c01654d3467f0973 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Sep 1 09:45:39 2019 -0400 Added mode speed option to the activity tables commit 82fa0335fdd41f0a578149e0211d6307293c739d Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 23:14:07 2019 -0400 Remember mode speed setting commit 79ec805b223099bb4d552dc612a6c97a8982525e Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:14:04 2019 -0400 Remove unused sync vars commit fc52dfcc320e59f6c7ca58ba277cb70469419587 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 21:12:11 2019 -0400 Timing delta max commit 62b8fc5054d3611d40d7441d57d695df594b8446 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:14:08 2019 -0400 Fast modes optionally can use huff encoding for data... we'll see which is best commit 44c357aff3e1c6687e93fb843917bd420888b397 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 17:03:21 2019 -0400 Added ability to use a different message packing algorithm for fast modes commit e075a078eb75509ef690e6c78c0e797ada569b94 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:18:14 2019 -0400 Fixed symbol offset in sync code for turbo mode commit a130b5d4a594e9bceece003be0ba72abb05a9f90 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 31 16:09:27 2019 -0400 Added WPM to menu commit 98cacab7bfc243492b6dec703d216d378cc3d34d Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 23:18:58 2019 -0400 Key eater commit eef58e2c88d010c7f3917a111243eae744a425c3 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 16:07:31 2019 -0400 Reorganizing js8dec for better understanding and less confusion between it and JS8b commit 08c14f966e1cda836ca90a8bd1ccd5ae68ec8dd7 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 14:20:52 2019 -0400 Do no expose relay and messaging to fast and turbo modes commit c605a31c266866f78eb043812af837ead6442ede Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 30 12:02:41 2019 -0400 Do not allow mode speed changes if transmitting commit add062e657a5215f9a4a1ae3ee82063aa85cf0e4 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 23:02:31 2019 -0400 Fixed bug where tones were not generated with the correct costas arrays...causing really poor synchronization and failed decodes. I'm surprised it worked at all :P commit cd492b5dd9fd62b5518a5711a1ef8ec522ea08fe Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 21:56:45 2019 -0400 Back to 20 baud. It has the best decodability, imho commit a2266cd00b8bd14c77bdbc8fc18818689e969858 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 29 14:27:29 2019 -0400 Back to 20 baud with some decoder optimizations commit 86413042e75873585bcb40236da67f2d64870859 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 23:04:47 2019 -0400 Try 24 baud commit a6704162b37d1c0704f43a64ab6b8a0a6e3c1cba Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 17:09:12 2019 -0400 Fixed legacy compiler issue with mode text commit 2fdbcc12e5f0c8cc8062c745af0930db4472cd9c Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 10:17:23 2019 -0400 Function for determining current mode commit 82e70345baa665418a51307f0309f2b7dcb3d3b7 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:26 2019 -0400 Don't write the log commit d3380e01676537f4bab9a05932cb5a59de3cf45f Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 09:59:03 2019 -0400 Fixed issues with turbo decode with partial sync code commit c2a8ebb8f305e67fcb2597d25e062663722a0d73 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 28 03:30:02 2019 -0400 Working through better decoding of fast modes commit 7ca93f8c6a7970559577c9dfd833eb92a1b91a0c Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 23:23:34 2019 -0400 Trying for better TX/RX delays commit b99271b4feaa7e41c7b88219cb3c7d43dbe7b48d Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:57:02 2019 -0400 Added flags to easily enable/disable the faster modes commit 32d913a7f7d3deb6a8d66651d51673ec451d2500 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:43:20 2019 -0400 Added mode button commit c7cc90548591638bfc5a4a8895036dd67b155aaa Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 22:17:42 2019 -0400 Updated start delay for the modes commit b91dc63f92101cd8b6adbf9de588c4ffd10bfc10 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:55:57 2019 -0400 Late threshold for turbo mode is 1/2 the delay commit 09ec95fab1307e65aa9bd462d60525afd2a770fe Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:52:55 2019 -0400 Renamed mode menu items commit a4e5a9ed9bce66c625e4df1182cd3c91a6ba44dd Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:50:45 2019 -0400 Only enable networking and autoreply for normal JS8 commit fc558d5823c46fc5d3dc651610b7af43e7519165 Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 21:14:12 2019 -0400 Fixed spot button tooltip commit 9a9965d543540a2d215bcbfff34934846afe507a Author: Jordan Sherer <jordan@widefido.com> Date: Tue Aug 27 10:04:31 2019 -0400 Working selectable decoder commit 4a9cdbc52dae1d857c102d8777f1aded4fac87bb Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 20:53:30 2019 -0400 Mode menu selection of the submodes. Turbo decoder disabled right now. Naming to be determined commit a3acbf7c243f7aa740c229ae178fffa528e68933 Merge: 8ea554d daa8cc2 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 13:29:14 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 8ea554d79904c9b2f3ccf1027bf4d41fb25e6fe3 Author: Jordan Sherer <jordan@widefido.com> Date: Mon Aug 26 09:53:21 2019 -0400 Use indx variable instead of computed commit 067e65500328133f921b172e515babbcc0df831b Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 22:41:00 2019 -0400 Make it easier to flip between modes commit a544a7635201072f3ea20483353edf2e79dc813d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 21:18:46 2019 -0400 Fixed sync issues with multi costas. Added log statements for future debugging commit a8f3ead932017ae7d98fdb9a779bf3bb44bd395d Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:54:59 2019 -0400 Playing around with different costas arrays commit fa89fe11a15d26abadd5102c8980620cfeffccd9 Author: Jordan Sherer <jordan@widefido.com> Date: Sun Aug 25 15:51:45 2019 -0400 Added reference to 7x7 costas arrays commit 2417ebed6139534214f76ce94bdf1f54a966760a Merge: 6011f1e 32fcabd Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:41:39 2019 -0400 Merge branch 'ft8call-develop' into fortran-cleanup commit 6011f1e807b1814399477d3c172db46831a090c6 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 23:35:42 2019 -0400 Back to 10 baud. Update late threshold to be computed to 3/4 dead air time. commit 41d3995861226f7208b2773430010a48abc125c1 Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:36:12 2019 -0400 Trying out 20 baud commit a8d77e9e5b98f3f0bf19f68b53199b5952e8aaad Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 15:23:36 2019 -0400 Fixed up sync quarter symbol constant commit 7050722436b9c629ea00649e6b3c81d7af7be82a Author: Jordan Sherer <jordan@widefido.com> Date: Sat Aug 24 14:43:48 2019 -0400 Computed symbol stop commit f130fe87abdccbabd2e71f2771b789c7f46d57ca Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 20:56:59 2019 -0400 Added reference to 7x7 costas arrays commit 53e91858f5a4e9ce78c38ef65c77e87f1903c058 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 16:34:51 2019 -0400 Back to 10 baud commit 1ae79d566ebd9a40ad3cf4a07977ef0e09615d91 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:41 2019 -0400 Testing 31.25 baud commit 7e033c28ae090d6c3f5a63fa651ee51c3243d61c Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 15:14:17 2019 -0400 Experimenting with a few different baudrates commit 050e24ad3a040924ded6d641004ae63da47e4251 Author: Jordan Sherer <jordan@widefido.com> Date: Fri Aug 23 12:25:50 2019 -0400 Added ldpcsim for js8 commit d309a75d860e39737dec732560432a191290b258 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:42:11 2019 -0400 Experimental submode switching commit 74f72bb24a22631b8b69942ea0633bb0564b8aa3 Author: Jordan Sherer <jordan@widefido.com> Date: Thu Aug 22 22:41:53 2019 -0400 Allow switching decoders based on submode commit f8740a23b27e80fa53350e140d4638a27cd6e975 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:43:18 2019 -0400 Initial spike of js8 fortran code commit 31625316639f79246b4a2e3d0cea4507bf0547f9 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 23:09:00 2019 -0400 Remove fix contest message commit c0e0862afa8ae2d47e9577562399b8c9bc929c6a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:05:05 2019 -0400 Cleanup unused text files and batch files commit 1b3aa55869f0c310e6c911a7cbb3fe269bc7421a Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 21:00:38 2019 -0400 Removed fast_decode and dx commit 49e5cabff25c13620a9d2c6fc6ddd4988f1be217 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:54:39 2019 -0400 Cleaning up msk stuff commit 8bde6f391f4b23d2a2e9d55685d96bc647a462f6 Author: Jordan Sherer <jordan@widefido.com> Date: Wed Aug 21 20:44:39 2019 -0400 Initial cleanup pass of qra, ftrsd, and wsprd
2019-09-05 14:07:24 -04:00
void prepareHeartbeatMode(bool enabled);
void on_actionJS8_triggered();
2018-02-08 21:28:33 -05:00
void on_TxFreqSpinBox_valueChanged(int arg1);
void on_actionSave_decoded_triggered();
void on_actionQuickDecode_toggled (bool);
void on_actionMediumDecode_toggled (bool);
void on_actionDeepDecode_toggled (bool);
2018-02-08 21:28:33 -05:00
void on_actionDeepestDecode_toggled (bool);
void bumpFqso(int n);
void on_actionErase_ALL_TXT_triggered();
2018-03-05 14:49:51 -05:00
void on_actionErase_FoxQSO_txt_triggered();
2018-10-04 13:52:52 -04:00
void on_actionErase_js8call_log_adi_triggered();
void startTx();
2018-02-08 21:28:33 -05:00
void startTx2();
void stopTx();
void stopTx2();
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_clicked(bool checked);
void on_rbFreeText_clicked(bool checked);
void on_clearAction_triggered(QObject * sender);
void buildFrequencyMenu(QMenu *menu);
2018-11-29 22:43:15 -05:00
void buildHeartbeatMenu(QMenu *menu);
void buildCQMenu(QMenu *menu);
void buildRepeatMenu(QMenu *menu, QPushButton * button, bool isLowInterval, int * interval);
2018-11-27 23:04:11 -05:00
void sendHeartbeat();
void sendHeartbeatAck(QString to, int snr, QString extra);
2018-11-27 23:04:11 -05:00
void on_hbMacroButton_toggled(bool checked);
void on_hbMacroButton_clicked();
void sendCQ(bool repeat=false);
2018-11-27 23:04:11 -05:00
void on_cqMacroButton_toggled(bool checked);
2018-07-05 04:45:55 -04:00
void on_cqMacroButton_clicked();
void on_replyMacroButton_clicked();
void on_snrMacroButton_clicked();
2019-02-08 16:57:42 -05:00
void on_infoMacroButton_clicked();
void on_statusMacroButton_clicked();
void setShowColumn(QString tableKey, QString columnKey, bool value);
2018-11-03 01:59:21 -04:00
bool showColumn(QString tableKey, QString columnKey, bool default_=true);
void buildShowColumnsMenu(QMenu *menu, QString tableKey);
void setSortBy(QString key, QString value);
QString getSortBy(QString key, QString defaultValue);
void buildSortByMenu(QMenu * menu, QString key, QString defaultValue, QList<QPair<QString, QString> > values);
void buildBandActivitySortByMenu(QMenu * menu);
void buildCallActivitySortByMenu(QMenu * menu);
2018-08-17 11:13:49 -04:00
void buildQueryMenu(QMenu *, QString callsign);
QMap<QString, QString> buildMacroValues();
QString replaceMacros(QString const &text, QMap<QString, QString> values, bool prune);
void buildSuggestionsMenu(QMenu *menu, QTextEdit *edit, const QPoint &point);
void buildSavedMessagesMenu(QMenu *menu);
void buildRelayMenu(QMenu *menu);
QAction* buildRelayAction(QString call);
void buildEditMenu(QMenu *, QTextEdit *);
void on_queryButton_pressed();
2018-07-09 21:49:38 -04:00
void on_macrosMacroButton_pressed();
void on_deselectButton_pressed();
2018-07-03 15:34:03 -04:00
void on_tableWidgetRXAll_cellClicked(int row, int col);
void on_tableWidgetRXAll_cellDoubleClicked(int row, int col);
2018-07-05 04:45:55 -04:00
void on_tableWidgetRXAll_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
QString generateCallDetail(QString selectedCall);
2018-07-03 15:34:03 -04:00
void on_tableWidgetCalls_cellClicked(int row, int col);
void on_tableWidgetCalls_cellDoubleClicked(int row, int col);
2018-07-05 04:45:55 -04:00
void on_tableWidgetCalls_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
2018-02-08 21:28:33 -05:00
void on_freeTextMsg_currentTextChanged (QString const&);
void on_textEditRX_mouseDoubleClicked();
void on_nextFreeTextMsg_currentTextChanged (QString const&);
void on_extFreeTextMsgEdit_currentTextChanged (QString const&);
int currentFreqOffset();
QList<QPair<QString, int>> buildMessageFrames(QString const& text, bool isData, bool *pDisableTypeahead);
bool prepareNextMessageFrame();
bool isFreqOffsetFree(int f, int bw);
int findFreeFreqOffset(int fmin, int fmax, int bw);
void checkRepeat();
2018-11-06 17:28:21 -05:00
QString calculateDistance(QString const& grid, int *pDistance=nullptr, int *pAzimuth=nullptr);
void setDrift(int n);
2018-02-08 21:28:33 -05:00
void on_rptSpinBox_valueChanged(int n);
void killFile();
void on_tuneButton_clicked (bool);
void on_pbR2T_clicked();
void on_pbT2R_clicked();
2018-11-04 22:37:14 -05:00
void on_turboButton_clicked();
2018-03-05 14:49:51 -05:00
void acceptQSO (QDateTime const&, QString const& call, QString const& grid
2018-11-30 17:02:14 -05:00
, Frequency dial_freq, QString const& mode, QString const& submode
2018-02-08 21:28:33 -05:00
, QString const& rpt_sent, QString const& rpt_received
, QString const& comments
2018-03-05 14:49:51 -05:00
, QString const& name, QDateTime const& QSO_date_on, QString const& operator_call
2019-06-05 11:33:21 -04:00
, QString const& my_call, QString const& my_grid, QByteArray const& ADIF, const QMap<QString, QVariant> &additionalFields);
2018-02-08 21:28:33 -05:00
void on_bandComboBox_currentIndexChanged (int index);
void on_bandComboBox_activated (int index);
void on_readFreq_clicked();
void on_pbTxMode_clicked();
void on_RxFreqSpinBox_valueChanged(int n);
void on_outAttenuation_valueChanged (int);
void rigOpen ();
void handle_transceiver_update (Transceiver::TransceiverState const&);
void handle_transceiver_failure (QString const& reason);
void on_actionAstronomical_data_toggled (bool);
void on_actionShort_list_of_add_on_prefixes_and_suffixes_triggered();
void band_changed (Frequency);
void monitor (bool);
void stop_tuning ();
void stopTuneATU();
void auto_tx_mode(bool);
void on_monitorButton_toggled(bool checked);
void on_monitorTxButton_toggled(bool checked);
void on_tuneButton_toggled(bool checked);
void on_spotButton_toggled(bool checked);
2018-02-08 21:28:33 -05:00
void on_actionMessage_averaging_triggered();
2018-03-05 14:49:51 -05:00
void on_actionFox_Log_triggered();
2018-02-08 21:28:33 -05:00
void on_actionInclude_averaging_toggled (bool);
void on_actionInclude_correlation_toggled (bool);
void on_actionEnable_AP_DXcall_toggled (bool);
void VHF_features_enabled(bool b);
void on_sbSubmode_valueChanged(int n);
void on_cbShMsgs_toggled(bool b);
void on_cbSWL_toggled(bool b);
void on_cbTx6_toggled(bool b);
void emitPTT(bool on);
2019-02-23 09:50:02 -05:00
void emitTones();
void udpNetworkMessage(Message const &message);
void tcpNetworkMessage(Message const &message);
void networkMessage(Message const &message);
bool canSendNetworkMessage();
void sendNetworkMessage(QString const &type, QString const &message);
void sendNetworkMessage(QString const &type, QString const &message, const QMap<QString, QVariant> &params);
void udpNetworkError (QString const&);
void tcpNetworkError (QString const&);
2018-02-08 21:28:33 -05:00
void on_ClrAvgButton_clicked();
void on_syncSpinBox_valueChanged(int n);
void on_TxPowerComboBox_currentIndexChanged(const QString &arg1);
void on_sbTxPercent_valueChanged(int n);
void TxAgain();
void uploadResponse(QString response);
void on_WSPRfreqSpinBox_valueChanged(int n);
void on_pbTxNext_clicked(bool b);
void on_actionMeasure_reference_spectrum_triggered();
void on_actionErase_reference_spectrum_triggered();
void on_actionMeasure_phase_response_triggered();
void on_sbFtol_valueChanged (int);
void on_sbCQTxFreq_valueChanged(int n);
void on_cbCQTx_toggled(bool b);
void splash_done ();
2018-02-08 21:28:33 -05:00
void on_measure_check_box_stateChanged (int);
void checkVersion(bool alertOnUpToDate);
void checkStartupWarnings ();
2018-10-02 14:10:16 -04:00
void clearCallsignSelected();
2018-10-05 18:40:56 -04:00
void refreshTextDisplay();
2018-02-08 21:28:33 -05:00
private:
2020-04-04 14:58:30 -04:00
Q_SIGNAL void apiSetMaxConnections(int n);
Q_SIGNAL void apiSetServer(QString host, quint16 port);
Q_SIGNAL void apiStartServer();
Q_SIGNAL void apiStopServer();
Q_SIGNAL void aprsClientEnqueueSpot(QString by_call, QString from_call, QString grid, QString comment);
Q_SIGNAL void aprsClientEnqueueThirdParty(QString by_call, QString from_call, QString text);
Q_SIGNAL void aprsClientSetSkipPercent(float skipPercent);
Q_SIGNAL void aprsClientSetServer(QString host, quint16 port);
Q_SIGNAL void aprsClientSetPaused(bool paused);
Q_SIGNAL void aprsClientSetLocalStation(QString mycall, QString passcode);
Q_SIGNAL void aprsClientSendReports();
Q_SIGNAL void decodedLineReady(QByteArray t);
2019-10-08 14:33:38 -04:00
Q_SIGNAL void playNotification(const QString &name);
2019-10-15 13:52:30 -04:00
Q_SIGNAL void initializeNotificationAudioOutputStream(const QAudioDeviceInfo &, unsigned, unsigned) const;
2018-02-08 21:28:33 -05:00
Q_SIGNAL void initializeAudioOutputStream (QAudioDeviceInfo,
unsigned channels, unsigned msBuffered) const;
Q_SIGNAL void stopAudioOutputStream () const;
Q_SIGNAL void startAudioInputStream (QAudioDeviceInfo const&,
int framesPerBuffer, AudioDevice * sink,
unsigned downSampleFactor, AudioDevice::Channel) const;
Q_SIGNAL void suspendAudioInputStream () const;
Q_SIGNAL void resumeAudioInputStream () const;
Q_SIGNAL void startDetector (AudioDevice::Channel) const;
Q_SIGNAL void FFTSize (unsigned) const;
Q_SIGNAL void detectorClose () const;
Q_SIGNAL void finished () const;
Q_SIGNAL void transmitFrequency (double) const;
Q_SIGNAL void endTransmitMessage (bool quick = false) const;
Q_SIGNAL void tune (bool = true) const;
Q_SIGNAL void sendMessage (unsigned symbolsLength, double framesPerSymbol,
double frequency, double toneSpacing,
SoundOutput *, AudioDevice::Channel = AudioDevice::Mono,
bool synchronize = true, bool fastMode = false, double dBSNR = 99.,
int TRperiod=60) const;
Q_SIGNAL void outAttenuationChanged (qreal) const;
Q_SIGNAL void toggleShorthand () const;
private:
void writeAllTxt(QString message, int bits);
void writeMsgTxt(QString message, int snr);
2018-02-08 21:28:33 -05:00
void hideMenus(bool b);
NetworkAccessManager m_network_manager;
bool m_valid;
QSplashScreen * m_splash;
QString m_revision;
bool m_multiple;
MultiSettings * m_multi_settings;
QPushButton * m_configurations_button;
QSettings * m_settings;
bool m_settings_read;
2018-02-08 21:28:33 -05:00
QScopedPointer<Ui::MainWindow> ui;
// other windows
Configuration m_config;
MessageBox m_rigErrorMessageBox;
QScopedPointer<EqualizationToolsDialog> m_equalizationToolsDialog;
bool m_isWideGraphMDI;
2018-02-08 21:28:33 -05:00
QScopedPointer<WideGraph> m_wideGraph;
QScopedPointer<LogQSO> m_logDlg;
QScopedPointer<HelpTextWindow> m_shortcuts;
QScopedPointer<HelpTextWindow> m_prefixes;
QScopedPointer<HelpTextWindow> m_mouseCmnds;
QScopedPointer<MessageAveraging> m_msgAvgWidget;
Transceiver::TransceiverState m_rigState;
Frequency m_lastDialFreq;
QString m_lastBand;
QString m_lastCallsign;
Detector * m_detector;
unsigned m_FFTSize;
SoundInput * m_soundInput;
Modulator * m_modulator;
SoundOutput * m_soundOutput;
2019-10-08 14:33:38 -04:00
NotificationAudio * m_notification;
QMutex m_networkThreadMutex;
QThread m_networkThread;
2018-02-08 21:28:33 -05:00
QThread m_audioThread;
QThread m_notificationAudioThread;
Decoder m_decoder;
2018-02-08 21:28:33 -05:00
qint64 m_msErase;
qint64 m_secBandChanged;
qint64 m_freqMoon;
2018-03-05 14:49:51 -05:00
qint64 m_fullFoxCallTime;
2018-02-08 21:28:33 -05:00
Frequency m_freqNominal;
Frequency m_freqTxNominal;
double m_s6;
double m_tRemaining;
float m_DTtol;
float m_t0;
float m_t1;
float m_t0Pick;
float m_t1Pick;
float m_fCPUmskrtd;
qint32 m_waterfallAvg;
qint32 m_ntx;
bool m_gen_message_is_cq;
bool m_send_RR73;
qint32 m_timeout;
qint32 m_XIT;
qint32 m_setftx;
qint32 m_ndepth;
qint32 m_sec0;
qint32 m_RxLog;
qint32 m_nutc0;
qint32 m_ntr;
qint32 m_tx;
qint32 m_hsym;
qint32 m_TRperiod;
qint32 m_nsps;
qint32 m_hsymStop;
qint32 m_inGain;
qint32 m_ncw;
qint32 m_secID;
qint32 m_idleMinutes;
qint32 m_nSubMode;
qint32 m_nclearave;
qint32 m_minSync;
qint32 m_dBm;
qint32 m_pctx;
qint32 m_nseq;
qint32 m_k0;
qint32 m_kdone;
qint32 m_nPick;
FrequencyList_v2::const_iterator m_frequency_list_fcal_iter;
qint32 m_nTx73;
qint32 m_UTCdisk;
qint32 m_wait;
qint32 m_i3bit;
2018-03-05 14:49:51 -05:00
qint32 m_isort;
qint32 m_max_dB;
qint32 m_nDXped=0;
qint32 m_nSortedHounds=0;
qint32 m_nHoundsCalling=0;
qint32 m_Nlist=12;
qint32 m_Nslots=5;
qint32 m_nFoxMsgTimes[5]={0,0,0,0,0};
qint32 m_tAutoOn;
2018-08-05 11:33:30 -04:00
// qint32 m_maxQSOs;
qint32 m_tFoxTx=0;
qint32 m_tFoxTx0=0;
qint32 m_maxStrikes=3; //Max # of repeats: 3 strikes and you're out
qint32 m_maxFoxWait=3; //Max wait time for expected Hound replies
qint32 m_foxCQtime=10; //CQs at least every 5 minutes
qint32 m_tFoxTxSinceCQ=999; //Fox Tx cycles since most recent CQ
qint32 m_nFoxFreq; //Audio freq at which Hound received a call from Fox
qint32 m_nSentFoxRrpt=0; //Serial number for next R+rpt Hound will send to Fox
2018-02-08 21:28:33 -05:00
bool m_btxok; //True if OK to transmit
bool m_diskData;
bool m_loopall;
bool m_decoderBusy;
QString m_decoderBusyBand;
QMap<qint32, qint32> m_lastDecodeStartMap; // submode, decode k start position
Radio::Frequency m_decoderBusyFreq;
QDateTime m_decoderBusyStartTime;
2018-02-08 21:28:33 -05:00
bool m_auto;
bool m_restart;
bool m_startAnother;
bool m_saveDecoded;
bool m_saveAll;
bool m_widebandDecode;
bool m_call3Modified;
bool m_bDecoded;
bool m_noSuffix;
bool m_blankLine;
bool m_decodedText2;
bool m_freeText;
bool m_sentFirst73;
int m_currentMessageType;
QString m_currentMessage;
int m_currentMessageBits;
2018-02-08 21:28:33 -05:00
int m_lastMessageType;
QString m_lastMessageSent;
bool m_bShMsgs;
bool m_bSWL;
bool m_uploading;
bool m_txNext;
bool m_grid6;
bool m_tuneup;
bool m_bTxTime;
bool m_bTransmittedEcho;
bool m_bDoubleClickAfterCQnnn;
bool m_bRefSpec;
bool m_bClearRefSpec;
bool m_bTrain;
bool m_bUseRef;
bool m_bAltV;
bool m_bNoMoreFiles;
bool m_bQRAsyncWarned;
bool m_bDoubleClicked;
bool m_bCallingCQ;
bool m_bAutoReply;
bool m_bCheckedContest;
2018-03-05 14:49:51 -05:00
bool m_bWarnedSplit=false;
bool m_bWarnedHound=false;
2018-02-08 21:28:33 -05:00
enum
{
CALLING,
REPLYING,
REPORT,
ROGER_REPORT,
ROGERS,
SIGNOFF
}
m_QSOProgress;
int m_extFreeTxtPos;
2018-02-08 21:28:33 -05:00
int m_ihsym;
int m_nzap;
int m_npts8;
float m_px;
float m_pxmax;
float m_df3;
int m_iptt0;
bool m_btxok0;
int m_nsendingsh;
double m_onAirFreq0;
bool m_first_error;
char m_msg[100][80];
// labels in status bar
QLabel tx_status_label;
QLabel config_label;
QLabel mode_label;
QLabel last_tx_label;
QLabel auto_tx_label;
QLabel band_hopping_label;
QProgressBar progressBar;
QLabel watchdog_label;
QLabel wpm_label;
2018-02-08 21:28:33 -05:00
QFuture<void> m_wav_future;
QFutureWatcher<void> m_wav_future_watcher;
QFutureWatcher<void> watcher3;
QFutureWatcher<QString> m_saveWAVWatcher;
//QPointer<QProcess> proc_js8;
2018-02-08 21:28:33 -05:00
QTimer m_guiTimer;
QTimer ptt1Timer; //StartTx delay
QTimer ptt0Timer; //StopTx delay
QTimer logQSOTimer;
QTimer killFileTimer;
QTimer tuneButtonTimer;
QTimer uploadTimer;
QTimer tuneATU_Timer;
QTimer TxAgainTimer;
QTimer minuteTimer;
QTimer splashTimer;
QTimer p1Timer;
QTimer repeatTimer;
2018-02-08 21:28:33 -05:00
QString m_path;
QString m_baseCall;
QString m_hisCall;
QString m_hisGrid;
QString m_appDir;
QString m_palette;
QString m_dateTime;
QString m_mode;
QString m_modeTx;
QString m_fnameWE; // save path without extension
QString m_rpt;
QString m_rptSent;
QString m_rptRcvd;
QString m_qsoStart;
QString m_qsoStop;
QString m_cmnd;
QString m_msgSent0;
QString m_fileToSave;
QString m_calls;
QString m_CQtype;
2018-03-05 14:49:51 -05:00
QString m_opCall;
QString m_houndCallers; //Sorted list of Hound callers
QString m_fm0;
QString m_fm1;
2018-02-08 21:28:33 -05:00
QSet<QString> m_pfx;
QSet<QString> m_sfx;
struct CallDetail
{
QString call;
QString through;
QString grid;
int dial;
int offset;
QDateTime cqTimestamp;
QDateTime ackTimestamp;
QDateTime utcTimestamp;
int snr;
int bits;
float tdrift;
int submode;
};
struct CommandDetail
{
bool isCompound;
bool isBuffered;
QString from;
QString to;
QString cmd;
int dial;
int offset;
QDateTime utcTimestamp;
int snr;
int bits;
2018-07-31 23:26:01 -04:00
QString grid;
2018-07-25 22:49:19 -04:00
QString text;
QString extra;
float tdrift;
int submode;
QString relayPath;
};
struct ActivityDetail
{
bool isFree;
2018-07-09 21:49:38 -04:00
bool isLowConfidence;
bool isCompound;
bool isDirected;
bool isBuffered;
int bits;
int dial;
int offset;
QString text;
QDateTime utcTimestamp;
int snr;
bool shouldDisplay;
float tdrift;
int submode;
};
2018-07-25 22:49:19 -04:00
struct MessageBuffer {
CommandDetail cmd;
QQueue<CallDetail> compound;
2018-07-25 22:49:19 -04:00
QList<ActivityDetail> msgs;
};
QString m_prevSelectedCallsign;
int m_bandActivityWidth;
int m_callActivityWidth;
int m_textActivityWidth;
int m_waterfallHeight;
2018-10-06 01:56:55 -04:00
bool m_bandActivityWasVisible;
bool m_rxDirty;
bool m_rxDisplayDirty;
int m_txFrameCountEstimate;
int m_txFrameCount;
int m_txFrameCountSent;
QTimer m_txTextDirtyDebounce;
bool m_txTextDirty;
QString m_txTextDirtyLastText;
QString m_txTextDirtyLastSelectedCall;
QString m_lastTxMessage;
QString m_totalTxMessage;
2019-11-11 22:39:02 -05:00
QDateTime m_lastTxStartTime;
QDateTime m_lastTxStopTime;
2020-05-19 09:52:00 -04:00
qint32 m_driftMsMMA;
qint32 m_driftMsMMA_N;
enum Priority {
PriorityLow = 10,
PriorityNormal = 100,
PriorityHigh = 1000
};
struct PrioritizedMessage {
QDateTime date;
int priority;
QString message;
int offset;
Callback callback;
friend bool operator <(PrioritizedMessage const &a, PrioritizedMessage const &b){
if(a.priority < b.priority){
return true;
}
return a.date < b.date;
}
};
struct CachedDirectedType {
bool isAllcall;
QDateTime date;
};
struct DecodeParams {
int submode;
int start;
int sz;
};
struct CachedFrame {
QDateTime date;
int submode;
int freq;
};
QQueue<DecodeParams> m_decoderQueue;
QMap<QString, CachedFrame> m_messageDupeCache; // message frame -> date seen, submode seen, freq offset seen
QMap<QString, QVariant> m_showColumnsCache; // table column:key -> show boolean
QMap<QString, QVariant> m_sortCache; // table key -> sort by
QPriorityQueue<PrioritizedMessage> m_txMessageQueue; // messages to be sent
QQueue<QPair<QString, int>> m_txFrameQueue; // frames to be sent
2018-07-31 23:26:01 -04:00
QQueue<ActivityDetail> m_rxActivityQueue; // all rx activity queue
QQueue<CommandDetail> m_rxCommandQueue; // command queue for processing commands
QQueue<CallDetail> m_rxCallQueue; // call detail queue for spots to pskreporter
2018-07-24 02:53:01 -04:00
QMap<QString, QString> m_compoundCallCache; // base callsign -> compound callsign
QCache<QString, QDateTime> m_txAllcallCommandCache; // callsign -> last tx
QCache<int, QDateTime> m_rxRecentCache; // freq -> last rx
QCache<int, CachedDirectedType> m_rxDirectedCache; // freq -> last directed rx
2018-07-05 15:21:47 -04:00
QCache<QString, int> m_rxCallCache; // call -> last freq seen
2018-07-05 04:45:55 -04:00
QMap<int, int> m_rxFrameBlockNumbers; // freq -> block
QMap<int, QList<ActivityDetail>> m_bandActivity; // freq -> [(text, last timestamp), ...]
2018-07-25 22:49:19 -04:00
QMap<int, MessageBuffer> m_messageBuffer; // freq -> (cmd, [frames, ...])
int m_lastClosedMessageBufferOffset;
QMap<QString, CallDetail> m_callActivity; // call -> (last freq, last timestamp)
2019-01-03 12:39:48 -05:00
QMap<QString, QSet<QString>> m_heardGraphOutgoing; // callsign -> [stations who've this callsign has heard]
QMap<QString, QSet<QString>> m_heardGraphIncoming; // callsign -> [stations who've heard this callsign]
QMap<QString, int> m_rxInboxCountCache; // call -> count
QMap<QString, QMap<QString, CallDetail>> m_callActivityBandCache; // band -> call activity
QMap<QString, QMap<int, QList<ActivityDetail>>> m_bandActivityBandCache; // band -> band activity
QMap<QString, QString> m_rxTextBandCache; // band -> rx text
QMap<QString, QMap<QString, QSet<QString>>> m_heardGraphOutgoingBandCache; // band -> heard in
QMap<QString, QMap<QString, QSet<QString>>> m_heardGraphIncomingBandCache; // band -> heard out
JSCChecker * m_checker;
QMap<QString, QDateTime> m_callSelectedTime; // call -> timestamp when callsign was last selected
QSet<QString> m_callSeenHeartbeat; // call
int m_previousFreq;
bool m_shouldRestoreFreq;
bool m_bandHopped;
Frequency m_bandHoppedFreq;
2018-03-05 14:49:51 -05:00
2018-08-05 11:33:30 -04:00
struct FoxQSO //Everything we need to know about QSOs in progress (or recently logged).
{
QString grid; //Hound's declared locator
QString sent; //Report sent to Hound
QString rcvd; //Report received from Hound
qint32 ncall; //Number of times report sent to Hound
qint32 nRR73; //Number of times RR73 sent to Hound
qint32 tFoxRrpt; //m_tFoxTx (Fox Tx cycle counter) when R+rpt was received from Hound
qint32 tFoxTxRR73; //m_tFoxTx when RR73 was sent to Hound
};
QMap<QString,FoxQSO> m_foxQSO; //Key = HoundCall, value = parameters for QSO in progress
QMap<QString,QString> m_loggedByFox; //Key = HoundCall, value = logged band
QQueue<QString> m_houndQueue; //Selected Hounds available for starting a QSO
QQueue<QString> m_foxQSOinProgress; //QSOs in progress: Fox has sent a report
2018-03-05 14:49:51 -05:00
QQueue<qint64> m_foxRateQueue;
int m_hbInterval;
int m_cqInterval;
bool m_hbPaused;
bool m_cqPaused;
QDateTime m_nextHeartbeat;
QDateTime m_nextCQ;
2018-02-08 21:28:33 -05:00
QDateTime m_dateTimeQSOOn;
2018-03-05 14:49:51 -05:00
QDateTime m_dateTimeLastTX;
2018-02-08 21:28:33 -05:00
QSharedMemory *mem_js8;
2019-11-03 13:58:34 -05:00
2018-02-08 21:28:33 -05:00
LogBook m_logBook;
QString m_QSOText;
unsigned m_msAudioOutputBuffered;
unsigned m_framesAudioInputBuffered;
unsigned m_downSampleFactor;
QThread::Priority m_audioThreadPriority;
QThread::Priority m_notificationAudioThreadPriority;
QThread::Priority m_decoderThreadPriority;
QThread::Priority m_networkThreadPriority;
2018-02-08 21:28:33 -05:00
bool m_bandEdited;
bool m_splitMode;
bool m_monitoring;
bool m_tx_when_ready;
bool m_transmitting;
bool m_tune;
bool m_deadAirTone;
2018-02-08 21:28:33 -05:00
bool m_tx_watchdog; // true when watchdog triggered
bool m_block_pwr_tooltip;
bool m_PwrBandSetOK;
bool m_bVHFwarned;
2018-03-05 14:49:51 -05:00
bool m_bDisplayedOnce;
2018-02-08 21:28:33 -05:00
Frequency m_lastMonitoredFrequency;
double m_toneSpacing;
int m_firstDecode;
MessageClient * m_messageClient;
MessageServer * m_messageServer;
TCPClient * m_n3fjpClient;
2018-02-08 21:28:33 -05:00
PSK_Reporter *psk_Reporter;
SpotClient *m_spotClient;
APRSISClient *m_aprsClient;
2018-02-08 21:28:33 -05:00
DisplayManual m_manual;
QHash<QString, QVariant> m_pwrBandTxMemory; // Remembers power level by band
QHash<QString, QVariant> m_pwrBandTuneMemory; // Remembers power level by band for tuning
QByteArray m_geometryNoControls;
QVector<double> m_phaseEqCoefficients;
//---------------------------------------------------- private functions
void readSettings();
void set_application_font (QFont const&);
void setDecodedTextFont (QFont const&);
void writeSettings();
void createStatusBar();
void updateStatusBar();
void clearDX ();
void lookup();
void ba2msg(QByteArray ba, char* message);
void msgtype(QString t, QLineEdit* tx);
void stub();
void statusChanged();
void fixStop();
int computePeriodForSubmode(int submode);
int computeBandwidthForSubmode(int submode);
int computeStop(int submode, int period);
//int computeCurrentCycle(int period);
//int computeCycleStartForDecode(int cycle, int period);
int computeCycleForDecode(int submode, int k);
int computeAltCycleForDecode(int submode, int k, int offsetFrames);
int computeFramesPerCycleForDecode(int submode);
int computePeriodStartDelayForDecode(int submode);
int computeFramesPerSymbolForDecode(int submode);
int computeFramesNeededForDecode(int submode);
2018-02-08 21:28:33 -05:00
bool shortList(QString callsign);
void transmit (double snr = 99.);
void rigFailure (QString const& reason);
void spotSetLocal();
2018-02-08 21:28:33 -05:00
void pskSetLocal ();
void aprsSetLocal ();
void spotReport(int submode, int dial, int offset, int snr, QString callsign, QString grid);
void spotCmd(CommandDetail cmd);
void spotAprsCmd(CommandDetail cmd);
void pskLogReport(QString mode, int dial, int offset, int snr, QString callsign, QString grid);
void spotAprsGrid(int dial, int offset, int snr, QString callsign, QString grid);
Radio::Frequency dialFrequency();
void setSubmode(int submode);
int submodeNameToSubmode(QString speed);
QString submodeName(int submode);
void updateCurrentBand();
2018-02-08 21:28:33 -05:00
void displayDialFrequency ();
void transmitDisplay (bool);
2018-03-05 14:49:51 -05:00
void locationChange(QString const& location);
2018-02-08 21:28:33 -05:00
void postDecode (bool is_new, QString const& message);
void displayTransmit();
void updateModeButtonText();
void updateButtonDisplay();
void updateRepeatButtonDisplay();
void updateTextDisplay();
void updateFrameCountEstimate(int count);
void updateTextWordCheckerDisplay();
void updateTextStatsDisplay(QString text, int count);
void updateTxButtonDisplay();
2018-07-11 10:40:29 -04:00
bool isMyCallIncluded(QString const &text);
bool isAllCallIncluded(QString const &text);
2018-10-06 03:59:54 -04:00
bool isGroupCallIncluded(const QString &text);
QString callsignSelected(bool useInputText=false);
void callsignSelectedChanged(QString old, QString current);
bool isRecentOffset(int submode, int offset);
void markOffsetRecent(int offset);
bool isDirectedOffset(int offset, bool *pIsAllCall);
void markOffsetDirected(int offset, bool isAllCall);
2018-09-21 22:41:20 -04:00
void clearOffsetDirected(int offset);
void processActivity(bool force=false);
2018-10-29 02:02:58 -04:00
void resetTimeDeltaAverage();
void processRxActivity();
2018-12-22 22:47:48 -05:00
void processIdleActivity();
void processCompoundActivity();
void processBufferedActivity();
void processCommandActivity();
QString inboxPath();
void refreshInboxCounts();
bool hasMessageHistory(QString call);
int addCommandToMyInbox(CommandDetail d);
int addCommandToStorage(QString type, CommandDetail d);
int getNextMessageIdForCallsign(QString callsign);
QStringList parseRelayPathCallsigns(QString from, QString text);
void processSpots();
void processTxQueue();
2018-07-13 15:45:00 -04:00
void displayActivity(bool force=false);
void displayBandActivity();
void displayCallActivity();
2018-02-08 21:28:33 -05:00
void enable_DXCC_entity (bool on);
void switch_mode (Mode);
void WSPR_scheduling ();
void freqCalStep();
void setRig (Frequency = 0); // zero frequency means no change
void WSPR_history(Frequency dialFreq, int ndecodes);
QString WSPR_hhmm(int n);
void CQTxFreq();
QString save_wave_file (QString const& name
, short const * data
, int seconds
, QString const& my_callsign
, QString const& my_grid
, QString const& mode
, qint32 sub_mode
, Frequency frequency
, QString const& his_call
, QString const& his_grid) const;
void read_wav_file (QString const& fname);
QDateTime nextTransmitCycle();
void resetAutomaticIntervalTransmissions(bool stopCQ, bool stopHB);
void resetCQTimer(bool stop);
void resetHeartbeatTimer(bool stop);
void subProcessFailed (QString program, QStringList args, int exitCode, int status, QString errorString);
void subProcessError (QString program, QStringList arguments, int errorCode, QString errorString);
void statusUpdate ();
2018-02-08 21:28:33 -05:00
void update_watchdog_label ();
void on_the_minute ();
void tryBandHop();
2018-02-08 21:28:33 -05:00
void add_child_to_event_filter (QObject *);
void remove_child_from_event_filter (QObject *);
void setup_status_bar (bool vhf);
2018-10-28 12:06:37 -04:00
void resetIdleTimer();
void incrementIdleTimer();
2018-02-08 21:28:33 -05:00
void tx_watchdog (bool triggered);
2018-03-05 14:49:51 -05:00
qint64 nWidgets(QString t);
void displayWidgets(qint64 n);
2018-02-08 21:28:33 -05:00
void vhfWarning();
QChar current_submode () const; // returns QChar {0} if sub mode is
// not appropriate
void write_frequency_entry (QString const& file_name);
2018-02-08 21:28:33 -05:00
void write_transmit_entry (QString const& file_name);
};
extern int killbyname(const char* progName);
extern void getDev(int* numDevices,char hostAPI_DeviceName[][50],
int minChan[], int maxChan[],
int minSpeed[], int maxSpeed[]);
extern int next_tx_state(int pctx);
#endif // MAINWINDOW_H