2015-04-15 16:40:49 +00:00
|
|
|
#include "MessageClient.hpp"
|
|
|
|
|
2015-04-20 17:47:32 +00:00
|
|
|
#include <stdexcept>
|
|
|
|
|
2015-04-15 16:40:49 +00:00
|
|
|
#include <QUdpSocket>
|
|
|
|
#include <QHostInfo>
|
|
|
|
#include <QTimer>
|
2015-06-18 22:01:40 +00:00
|
|
|
#include <QQueue>
|
|
|
|
#include <QByteArray>
|
|
|
|
#include <QHostAddress>
|
2015-04-15 16:40:49 +00:00
|
|
|
|
|
|
|
#include "NetworkMessage.hpp"
|
|
|
|
|
|
|
|
#include "pimpl_impl.hpp"
|
|
|
|
|
|
|
|
#include "moc_MessageClient.cpp"
|
|
|
|
|
|
|
|
class MessageClient::impl
|
|
|
|
: public QUdpSocket
|
|
|
|
{
|
|
|
|
Q_OBJECT;
|
|
|
|
|
|
|
|
public:
|
2016-12-04 00:55:15 +00:00
|
|
|
impl (QString const& id, QString const& version, QString const& revision,
|
|
|
|
port_type server_port, MessageClient * self)
|
2015-04-15 16:40:49 +00:00
|
|
|
: self_ {self}
|
|
|
|
, id_ {id}
|
2016-12-04 00:55:15 +00:00
|
|
|
, version_ {version}
|
|
|
|
, revision_ {revision}
|
2015-04-15 16:40:49 +00:00
|
|
|
, server_port_ {server_port}
|
2015-10-21 18:56:29 +00:00
|
|
|
, schema_ {2} // use 2 prior to negotiation not 1 which is broken
|
2015-04-15 16:40:49 +00:00
|
|
|
, heartbeat_timer_ {new QTimer {this}}
|
|
|
|
{
|
|
|
|
connect (heartbeat_timer_, &QTimer::timeout, this, &impl::heartbeat);
|
|
|
|
connect (this, &QIODevice::readyRead, this, &impl::pending_datagrams);
|
|
|
|
|
|
|
|
heartbeat_timer_->start (NetworkMessage::pulse * 1000);
|
|
|
|
|
|
|
|
// bind to an ephemeral port
|
|
|
|
bind ();
|
|
|
|
}
|
|
|
|
|
|
|
|
~impl ()
|
|
|
|
{
|
|
|
|
closedown ();
|
|
|
|
}
|
|
|
|
|
2015-05-07 11:31:24 +00:00
|
|
|
enum StreamStatus {Fail, Short, OK};
|
|
|
|
|
2015-04-15 16:40:49 +00:00
|
|
|
void parse_message (QByteArray const& msg);
|
|
|
|
void pending_datagrams ();
|
|
|
|
void heartbeat ();
|
|
|
|
void closedown ();
|
2015-05-07 11:31:24 +00:00
|
|
|
StreamStatus check_status (QDataStream const&) const;
|
2015-06-18 22:01:40 +00:00
|
|
|
void send_message (QByteArray const&);
|
2015-11-13 15:44:11 +00:00
|
|
|
void send_message (QDataStream const& out, QByteArray const& message)
|
|
|
|
{
|
|
|
|
if (OK == check_status (out))
|
|
|
|
{
|
|
|
|
send_message (message);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Q_EMIT self_->error ("Error creating UDP message");
|
|
|
|
}
|
|
|
|
}
|
2015-04-15 16:40:49 +00:00
|
|
|
|
|
|
|
Q_SLOT void host_info_results (QHostInfo);
|
|
|
|
|
|
|
|
MessageClient * self_;
|
|
|
|
QString id_;
|
2016-12-04 00:55:15 +00:00
|
|
|
QString version_;
|
|
|
|
QString revision_;
|
2015-06-18 22:01:40 +00:00
|
|
|
QString server_string_;
|
2015-04-15 16:40:49 +00:00
|
|
|
port_type server_port_;
|
2015-06-18 22:01:40 +00:00
|
|
|
QHostAddress server_;
|
2015-10-21 18:56:29 +00:00
|
|
|
quint32 schema_;
|
2015-04-15 16:40:49 +00:00
|
|
|
QTimer * heartbeat_timer_;
|
2015-06-18 22:01:40 +00:00
|
|
|
|
|
|
|
// hold messages sent before host lookup completes asynchronously
|
|
|
|
QQueue<QByteArray> pending_messages_;
|
2015-12-24 21:37:16 +00:00
|
|
|
QByteArray last_message_;
|
2015-04-15 16:40:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#include "MessageClient.moc"
|
|
|
|
|
|
|
|
void MessageClient::impl::host_info_results (QHostInfo host_info)
|
|
|
|
{
|
|
|
|
if (QHostInfo::NoError != host_info.error ())
|
|
|
|
{
|
|
|
|
Q_EMIT self_->error ("UDP server lookup failed:\n" + host_info.errorString ());
|
2015-06-18 22:01:40 +00:00
|
|
|
pending_messages_.clear (); // discard
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
else if (host_info.addresses ().size ())
|
|
|
|
{
|
|
|
|
server_ = host_info.addresses ()[0];
|
2015-06-18 22:01:40 +00:00
|
|
|
|
2015-10-21 18:56:29 +00:00
|
|
|
// send initial heartbeat which allows schema negotiation
|
|
|
|
heartbeat ();
|
|
|
|
|
2015-06-18 22:01:40 +00:00
|
|
|
// clear any backlog
|
|
|
|
while (pending_messages_.size ())
|
|
|
|
{
|
|
|
|
send_message (pending_messages_.dequeue ());
|
|
|
|
}
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::impl::pending_datagrams ()
|
|
|
|
{
|
|
|
|
while (hasPendingDatagrams ())
|
|
|
|
{
|
|
|
|
QByteArray datagram;
|
|
|
|
datagram.resize (pendingDatagramSize ());
|
|
|
|
QHostAddress sender_address;
|
|
|
|
port_type sender_port;
|
|
|
|
if (0 <= readDatagram (datagram.data (), datagram.size (), &sender_address, &sender_port))
|
|
|
|
{
|
|
|
|
parse_message (datagram);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::impl::parse_message (QByteArray const& msg)
|
|
|
|
{
|
2015-04-20 17:47:32 +00:00
|
|
|
try
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
//
|
|
|
|
// message format is described in NetworkMessage.hpp
|
|
|
|
//
|
2015-04-20 17:47:32 +00:00
|
|
|
NetworkMessage::Reader in {msg};
|
2015-05-07 11:31:24 +00:00
|
|
|
if (OK == check_status (in) && id_ == in.id ()) // OK and for us
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-10-21 18:56:29 +00:00
|
|
|
if (schema_ < in.schema ()) // one time record of server's
|
|
|
|
// negotiated schema
|
|
|
|
{
|
|
|
|
schema_ = in.schema ();
|
|
|
|
}
|
|
|
|
|
2015-04-20 17:47:32 +00:00
|
|
|
//
|
|
|
|
// message format is described in NetworkMessage.hpp
|
|
|
|
//
|
|
|
|
switch (in.type ())
|
|
|
|
{
|
|
|
|
case NetworkMessage::Reply:
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-04-20 17:47:32 +00:00
|
|
|
// unpack message
|
|
|
|
QTime time;
|
|
|
|
qint32 snr;
|
|
|
|
float delta_time;
|
|
|
|
quint32 delta_frequency;
|
|
|
|
QByteArray mode;
|
|
|
|
QByteArray message;
|
Merged from trunk:
------------------------------------------------------------------------
r7861 | k9an | 2017-07-12 22:49:39 +0100 (Wed, 12 Jul 2017) | 1 line
Use quarter-symbol steps for time sync. Lower sync threshold. Implement subtraction and two pass decoding. Use osd2 only near nfqso.
------------------------------------------------------------------------
r7862 | k9an | 2017-07-13 01:28:57 +0100 (Thu, 13 Jul 2017) | 1 line
Fix NHSYM.
------------------------------------------------------------------------
r7863 | k9an | 2017-07-13 01:31:52 +0100 (Thu, 13 Jul 2017) | 1 line
Fix a comment. No code changes.
------------------------------------------------------------------------
r7864 | k9an | 2017-07-13 01:43:56 +0100 (Thu, 13 Jul 2017) | 1 line
Fix another bounds error.
------------------------------------------------------------------------
r7879 | k1jt | 2017-07-14 17:02:01 +0100 (Fri, 14 Jul 2017) | 1 line
Code cleanup and test ofFT8 decodes with erasures. Do not use on the air.
------------------------------------------------------------------------
r7881 | k1jt | 2017-07-14 19:19:48 +0100 (Fri, 14 Jul 2017) | 1 line
Fix nutc in jt9; alternative sync value for late-start FT8 signals.
------------------------------------------------------------------------
r7882 | k9an | 2017-07-14 20:22:53 +0100 (Fri, 14 Jul 2017) | 1 line
Move ft8apset to a separate file.
------------------------------------------------------------------------
r7884 | k9an | 2017-07-14 20:35:22 +0100 (Fri, 14 Jul 2017) | 1 line
Add ft8apset.f90.
------------------------------------------------------------------------
r7885 | k9an | 2017-07-14 20:46:04 +0100 (Fri, 14 Jul 2017) | 1 line
Update call to ft8b.
------------------------------------------------------------------------
r7886 | k9an | 2017-07-14 21:12:29 +0100 (Fri, 14 Jul 2017) | 1 line
More work on ap.
------------------------------------------------------------------------
r7887 | k9an | 2017-07-14 23:09:50 +0100 (Fri, 14 Jul 2017) | 1 line
More work on AP. Deep decode is unstable - not for use on the air.
------------------------------------------------------------------------
r7890 | k9an | 2017-07-15 01:33:25 +0100 (Sat, 15 Jul 2017) | 1 line
Turn off ap.
------------------------------------------------------------------------
r7891 | k9an | 2017-07-15 02:49:44 +0100 (Sat, 15 Jul 2017) | 1 line
Add some more items to the lun 81 diagnostics.
------------------------------------------------------------------------
r7892 | k9an | 2017-07-15 15:21:18 +0100 (Sat, 15 Jul 2017) | 1 line
Properly calculate metrics for non-ap bits that reside in symbols that contain ap bits.
------------------------------------------------------------------------
r7893 | k9an | 2017-07-15 16:43:41 +0100 (Sat, 15 Jul 2017) | 1 line
Use overlap and add to apply reference filter/amplitude equalization.
------------------------------------------------------------------------
r7894 | k9an | 2017-07-15 16:46:46 +0100 (Sat, 15 Jul 2017) | 1 line
Improve a comment.
------------------------------------------------------------------------
r7895 | k9an | 2017-07-16 01:10:37 +0100 (Sun, 16 Jul 2017) | 1 line
Make refspec filter causal for overlap and add.
------------------------------------------------------------------------
r7911 | k9an | 2017-07-16 16:56:06 +0100 (Sun, 16 Jul 2017) | 1 line
More work on Deep decoding.
------------------------------------------------------------------------
r7917 | k9an | 2017-07-16 18:08:09 +0100 (Sun, 16 Jul 2017) | 1 line
Properly round the printed snr.
------------------------------------------------------------------------
r7925 | k9an | 2017-07-18 02:12:11 +0100 (Tue, 18 Jul 2017) | 1 line
Work on ap decoding. Diagnostic write enabled.
------------------------------------------------------------------------
r7926 | k9an | 2017-07-18 16:22:20 +0100 (Tue, 18 Jul 2017) | 1 line
Fix a bug in AP decoding when iaptype=2. Decrease time-sync search range to +/- 1.5s. Fix a big with erasure decoding.
------------------------------------------------------------------------
r7927 | k1jt | 2017-07-20 00:23:20 +0100 (Thu, 20 Jul 2017) | 1 line
Remove slider next to audio level meter.
------------------------------------------------------------------------
r7928 | k1jt | 2017-07-20 16:15:00 +0100 (Thu, 20 Jul 2017) | 6 lines
1. Alt+F8 arms "Call 1st" as if a CQ had been sent.
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
"data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.
------------------------------------------------------------------------
r7929 | k1jt | 2017-07-20 20:23:17 +0100 (Thu, 20 Jul 2017) | 1 line
Fix wording in list of keyboard shortcuts.
------------------------------------------------------------------------
r7930 | k1jt | 2017-07-20 20:25:08 +0100 (Thu, 20 Jul 2017) | 2 lines
Comment out diagnostic write.
------------------------------------------------------------------------
r7931 | k9an | 2017-07-20 22:08:36 +0100 (Thu, 20 Jul 2017) | 1 line
Only print dupes if SNR is higher than what has already been printed.
------------------------------------------------------------------------
r7932 | k9an | 2017-07-21 23:02:06 +0100 (Fri, 21 Jul 2017) | 1 line
Add to the list of allowed keywords in jtmsg.f90.
------------------------------------------------------------------------
r7933 | k9an | 2017-07-22 04:01:09 +0100 (Sat, 22 Jul 2017) | 1 line
Add variables lapon and napwid to control ap decoding. Reconfigure the logic for AP decoding and ordered-statistics decoding.
------------------------------------------------------------------------
r7934 | k9an | 2017-07-22 14:21:03 +0100 (Sat, 22 Jul 2017) | 1 line
Prevent a certain type of non-standard message from being flagged as a false decode.
------------------------------------------------------------------------
r7935 | k9an | 2017-07-22 18:12:48 +0100 (Sat, 22 Jul 2017) | 1 line
More informative end-of-line annotation for AP decodes.
------------------------------------------------------------------------
r7936 | k9an | 2017-07-24 15:23:22 +0100 (Mon, 24 Jul 2017) | 1 line
Bring msk144d2 more up to date. Runs now, but still needs more work.
------------------------------------------------------------------------
r7937 | k1jt | 2017-07-24 15:48:16 +0100 (Mon, 24 Jul 2017) | 2 lines
Correct the spacing between marked lowest and highest FT8 tones for RxFreq (green) and TxFreq (red).
------------------------------------------------------------------------
r7938 | bsomervi | 2017-07-24 20:27:14 +0100 (Mon, 24 Jul 2017) | 4 lines
Add double clickable push button and radio button widgets
These emit doubleClicked signal when double-clicked, otherwise they
are identical to their super-classes.
------------------------------------------------------------------------
r7939 | bsomervi | 2017-07-24 20:27:23 +0100 (Mon, 24 Jul 2017) | 42 lines
Add the option to ALT+click a decoded CQ or QRZ message which only
moves the Rx frequency to theirs, this facilitates calling a station
who is busy and may have many callers on their frequency. Updated the
corresponding mouse shortcuts help text.
Allow for times with seconds when parsing fast mode and FT8 decodes.
Exclude the RR73 grid square from and grid validation or matching, it
is not a grid square any more as far as WSJT-X is concerned, it is an
RRR substitute.
Add a simple state machine for QSO progress such that replies and
auto-sequencing can be better controlled.
Get compound callsign edge cases working again and allow QSOs from and
to compound callsign holders working in as many situations as possible
including auto-sequencing and FT8 auto-reply mode. This does mean
that a "DE W6/K1ABC DM93" type message close to a callers Tx or Rx
frequency will be taken as a reply to a CQ call despite it not being
explicitly addressed back to the CQ caller. Compound callsigns should
work in MSK144 contest mode also as well as in short code modes with
some minor restrictions (short codes will not be used where
configuration demands that a message be used to send a full compound
callsign).
Auto sequencing has been made generic such that it can be used for
more than one mode if desired.
Allow the use of free text messages to sign off in auto sequenced QSOs
without the message being overwritten by the sequencer. Double click
actions have been added to the Tx5 radio and push buttons to revert
back to the default standard 73 message.
Make DisplayText class interface more idiomatic C++ and simplify a
bit.
Fixed some displayed widget arrangements for different modes and
sub-modes so that they are consistent when starting up and when
switching mode or sub-mode.
This is a big change which has been extensively tested but no doubt
there will also be some new defects introduced.
------------------------------------------------------------------------
r7940 | bsomervi | 2017-07-25 17:51:19 +0100 (Tue, 25 Jul 2017) | 1 line
Fix issue with Tx5 not being generated with a new DX Call
------------------------------------------------------------------------
r7941 | bsomervi | 2017-07-25 17:51:27 +0100 (Tue, 25 Jul 2017) | 1 line
Fix country name display that broke in r7939
------------------------------------------------------------------------
r7942 | bsomervi | 2017-07-25 17:51:34 +0100 (Tue, 25 Jul 2017) | 1 line
Ensure JT9 lowest decode frequency spin box is disabled when not available
------------------------------------------------------------------------
r7943 | bsomervi | 2017-07-25 17:51:42 +0100 (Tue, 25 Jul 2017) | 4 lines
Pick up tail-enders when completing a call 1st QSO after re-enabling auto Tx
Allow any message to start a QSO so long as we are not in an
auto-reply QSO.
------------------------------------------------------------------------
r7944 | bsomervi | 2017-07-25 17:51:49 +0100 (Tue, 25 Jul 2017) | 1 line
Exclude all decode quality markers from internal decode parsing and matching
------------------------------------------------------------------------
r7945 | k9an | 2017-07-25 20:06:05 +0100 (Tue, 25 Jul 2017) | 1 line
Move '?' quality warning to message(22:22).
------------------------------------------------------------------------
r7946 | k9an | 2017-07-25 21:55:13 +0100 (Tue, 25 Jul 2017) | 1 line
Reject candiates with fewer than 7 correct hard-decoded sync symbols.
------------------------------------------------------------------------
r7947 | bsomervi | 2017-07-26 02:38:37 +0100 (Wed, 26 Jul 2017) | 1 line
Force Settings tab to Radio tab when navigating there from a rig error message
------------------------------------------------------------------------
r7948 | bsomervi | 2017-07-26 02:38:44 +0100 (Wed, 26 Jul 2017) | 1 line
Correct the highlighting of the Call 1st check box label
------------------------------------------------------------------------
r7949 | bsomervi | 2017-07-26 02:38:57 +0100 (Wed, 26 Jul 2017) | 5 lines
Option to skip using grid reply message
Enable and disable by double-clicking the Tx1 button or the adjacent
radio button. Tx1 message shows grayed out when the Tx1 message is
elided.
------------------------------------------------------------------------
r7950 | bsomervi | 2017-07-26 02:39:04 +0100 (Wed, 26 Jul 2017) | 6 lines
Option to use RR73 grid message as RRR message substitutes
Enable or disable by double-clicking the Tx4 button or the adjacent
radio button. Is auto disabled by a band change as it is expected that
the user reassess the conditions to see if message repetitions are
unlikely to be needed.
------------------------------------------------------------------------
r7951 | bsomervi | 2017-07-26 02:39:11 +0100 (Wed, 26 Jul 2017) | 1 line
Fix highlighting of the call first check box label
------------------------------------------------------------------------
r7952 | bsomervi | 2017-07-26 02:39:23 +0100 (Wed, 26 Jul 2017) | 1 line
Better behavior and tool tips for Txn buttons and radio buttons
------------------------------------------------------------------------
r7953 | bsomervi | 2017-07-26 02:39:30 +0100 (Wed, 26 Jul 2017) | 1 line
Auto Tx stop when calling a CQer who answers another station on your Tx frequency
------------------------------------------------------------------------
r7954 | bsomervi | 2017-07-26 11:56:12 +0100 (Wed, 26 Jul 2017) | 1 line
Add menu option to turn on AP decoding in FT8 mode
------------------------------------------------------------------------
r7955 | k9an | 2017-07-26 14:05:34 +0100 (Wed, 26 Jul 2017) | 1 line
Enable AP for any decoding level.
------------------------------------------------------------------------
r7956 | k1jt | 2017-07-26 14:44:31 +0100 (Wed, 26 Jul 2017) | 1 line
Remove obsolete test program.
------------------------------------------------------------------------
r7957 | bsomervi | 2017-07-26 22:18:59 +0100 (Wed, 26 Jul 2017) | 11 lines
Use the low confidence decode quality marker to elide spots and pass info via UDP
The UDP decode and reply message have been augmented with a boolean
flag denoting a low confidence decode when set. Existing clients can
safely use the reply message without passing the flag as the default
value will still action messages that have high confidence. If low
confidence decodes are to be passed back via the reply message then
the low confidence flag must be included and correctly set to match
the original decode.
See NetworkMessage.hpp for message fields and meanings.
------------------------------------------------------------------------
r7958 | bsomervi | 2017-07-26 22:19:21 +0100 (Wed, 26 Jul 2017) | 3 lines
Add QSO state machine state and tx audio offset to parameters passed to slow decoders
Required to pick best AP masks in FT8 decoder
------------------------------------------------------------------------
r7959 | bsomervi | 2017-07-26 23:03:02 +0100 (Wed, 26 Jul 2017) | 1 line
Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match
------------------------------------------------------------------------
r7960 | k9an | 2017-07-27 16:35:40 +0100 (Thu, 27 Jul 2017) | 1 line
nQSOProgress now controls AP decoding. Needs testing - may not be stable with AP enabled.
------------------------------------------------------------------------
r7961 | k9an | 2017-07-27 19:07:54 +0100 (Thu, 27 Jul 2017) | 1 line
Correct some logic so that AP is only on when selected and so that AP decodes of type 4 or greater are limited to the vicinity of nfqso or nftx.
------------------------------------------------------------------------
r7962 | k1jt | 2017-07-27 19:57:53 +0100 (Thu, 27 Jul 2017) | 2 lines
Remove unused arguments from the call to fix_contest_msg().
------------------------------------------------------------------------
r7963 | k1jt | 2017-07-27 21:17:30 +0100 (Thu, 27 Jul 2017) | 1 line
Working on some features for NA VHF contests. Not finished!
------------------------------------------------------------------------
r7964 | bsomervi | 2017-07-28 01:00:42 +0100 (Fri, 28 Jul 2017) | 1 line
Fix syntax error in statement function definition
------------------------------------------------------------------------
r7965 | bsomervi | 2017-07-28 02:20:22 +0100 (Fri, 28 Jul 2017) | 6 lines
Revert "Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match"
Bad idea, need to find a better way to extend grids to 6-digits from
CALL3.TXT.
This reverts commit r7959
------------------------------------------------------------------------
r7968 | k9an | 2017-07-28 16:35:17 +0100 (Fri, 28 Jul 2017) | 1 line
Comment out diagnostic write to lun 81.
------------------------------------------------------------------------
r7969 | k1jt | 2017-07-28 16:50:13 +0100 (Fri, 28 Jul 2017) | 2 lines
Make 72-bit "contest mode" available in FT8 as well as MSK144.
------------------------------------------------------------------------
r7970 | bsomervi | 2017-07-29 00:25:32 +0100 (Sat, 29 Jul 2017) | 7 lines
Change tolerances for auto stop and auto-sequence of some messages
FT8 auto-stop will only react to messages within +/- 50Hz of our Tx
frequency.
Auto-sequence on "DE ..." and free text 73 messages will respond if
they are within 25Hz of our Tx or Rx frequency.
------------------------------------------------------------------------
r7971 | bsomervi | 2017-07-31 02:28:25 +0100 (Mon, 31 Jul 2017) | 1 line
Add extra hidden string length argument to genft8 interface
------------------------------------------------------------------------
r7972 | bsomervi | 2017-07-31 02:28:33 +0100 (Mon, 31 Jul 2017) | 5 lines
Fix FT8 call first behaviour with "Lock Tx=Rx"
Call first combined with "Lock Tx=Rx" (why would anyone consider doing
that!) should continue on the Tx frequency of the station being
worked and not be switched another calling station's frequency.
------------------------------------------------------------------------
r7973 | k1jt | 2017-08-01 19:01:27 +0100 (Tue, 01 Aug 2017) | 1 line
Utility for generating figure for QST/RadCom article.
------------------------------------------------------------------------
r7974 | k1jt | 2017-08-01 19:16:01 +0100 (Tue, 01 Aug 2017) | 2 lines
Tidy up some details for 72-bit contest mode in FT8.
------------------------------------------------------------------------
r7975 | k1jt | 2017-08-01 19:46:12 +0100 (Tue, 01 Aug 2017) | 2 lines
Don't highlight FT8 contest-mode Tx3 message as a free-text message.
------------------------------------------------------------------------
r7976 | k1jt | 2017-08-01 20:32:54 +0100 (Tue, 01 Aug 2017) | 2 lines
Fix the "F4" shortcut description; add usage advuice to "Lock Tx=Rx" tool tip.
------------------------------------------------------------------------
r7980 | k1jt | 2017-08-02 15:05:37 +0100 (Wed, 02 Aug 2017) | 2 lines
Enable "nagain" for FT8, as in other modes.
------------------------------------------------------------------------
r7987 | k1jt | 2017-08-02 20:23:42 +0100 (Wed, 02 Aug 2017) | 2 lines
Updates to the WSJT-X User Guide for Version 1.8.
------------------------------------------------------------------------
r7988 | k1jt | 2017-08-02 20:27:43 +0100 (Wed, 02 Aug 2017) | 2 lines
Add several new screen shots.
------------------------------------------------------------------------
r7989 | k1jt | 2017-08-02 21:43:06 +0100 (Wed, 02 Aug 2017) | 2 lines
Allow auto-seq in QRA64 mode; updates to User Guide.
------------------------------------------------------------------------
r7992 | bsomervi | 2017-08-03 12:23:07 +0100 (Thu, 03 Aug 2017) | 7 lines
Fix an issue with VFO tuning while running Doppler correction
Holding down the SHIFT key while tuning the rig should update the
nominal sked frequency, not holding done the SHIFT key should not
update the sked frequency. This is not yet perfect and sometimes a
change to the nominal sked frequency can get through but it is a rare
as yet unfound race condition.
------------------------------------------------------------------------
r7993 | k9an | 2017-08-03 15:46:21 +0100 (Thu, 03 Aug 2017) | 1 line
1. Use norder=3 for nagain, 2. Renumber aptypes.
------------------------------------------------------------------------
r7994 | k1jt | 2017-08-03 15:48:59 +0100 (Thu, 03 Aug 2017) | 2 lines
Remove the "Weak" checkbox from GUI, it's not implemented.
------------------------------------------------------------------------
r7995 | k1jt | 2017-08-03 16:12:30 +0100 (Thu, 03 Aug 2017) | 2 lines
More updates to the WSJT-X User Guide.
------------------------------------------------------------------------
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@7996 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-08-03 16:42:10 +00:00
|
|
|
bool low_confidence {false};
|
|
|
|
in >> time >> snr >> delta_time >> delta_frequency >> mode >> message >> low_confidence;
|
2015-05-07 11:31:24 +00:00
|
|
|
if (check_status (in) != Fail)
|
2015-04-20 17:47:32 +00:00
|
|
|
{
|
|
|
|
Q_EMIT self_->reply (time, snr, delta_time, delta_frequency
|
Merged from trunk:
------------------------------------------------------------------------
r7861 | k9an | 2017-07-12 22:49:39 +0100 (Wed, 12 Jul 2017) | 1 line
Use quarter-symbol steps for time sync. Lower sync threshold. Implement subtraction and two pass decoding. Use osd2 only near nfqso.
------------------------------------------------------------------------
r7862 | k9an | 2017-07-13 01:28:57 +0100 (Thu, 13 Jul 2017) | 1 line
Fix NHSYM.
------------------------------------------------------------------------
r7863 | k9an | 2017-07-13 01:31:52 +0100 (Thu, 13 Jul 2017) | 1 line
Fix a comment. No code changes.
------------------------------------------------------------------------
r7864 | k9an | 2017-07-13 01:43:56 +0100 (Thu, 13 Jul 2017) | 1 line
Fix another bounds error.
------------------------------------------------------------------------
r7879 | k1jt | 2017-07-14 17:02:01 +0100 (Fri, 14 Jul 2017) | 1 line
Code cleanup and test ofFT8 decodes with erasures. Do not use on the air.
------------------------------------------------------------------------
r7881 | k1jt | 2017-07-14 19:19:48 +0100 (Fri, 14 Jul 2017) | 1 line
Fix nutc in jt9; alternative sync value for late-start FT8 signals.
------------------------------------------------------------------------
r7882 | k9an | 2017-07-14 20:22:53 +0100 (Fri, 14 Jul 2017) | 1 line
Move ft8apset to a separate file.
------------------------------------------------------------------------
r7884 | k9an | 2017-07-14 20:35:22 +0100 (Fri, 14 Jul 2017) | 1 line
Add ft8apset.f90.
------------------------------------------------------------------------
r7885 | k9an | 2017-07-14 20:46:04 +0100 (Fri, 14 Jul 2017) | 1 line
Update call to ft8b.
------------------------------------------------------------------------
r7886 | k9an | 2017-07-14 21:12:29 +0100 (Fri, 14 Jul 2017) | 1 line
More work on ap.
------------------------------------------------------------------------
r7887 | k9an | 2017-07-14 23:09:50 +0100 (Fri, 14 Jul 2017) | 1 line
More work on AP. Deep decode is unstable - not for use on the air.
------------------------------------------------------------------------
r7890 | k9an | 2017-07-15 01:33:25 +0100 (Sat, 15 Jul 2017) | 1 line
Turn off ap.
------------------------------------------------------------------------
r7891 | k9an | 2017-07-15 02:49:44 +0100 (Sat, 15 Jul 2017) | 1 line
Add some more items to the lun 81 diagnostics.
------------------------------------------------------------------------
r7892 | k9an | 2017-07-15 15:21:18 +0100 (Sat, 15 Jul 2017) | 1 line
Properly calculate metrics for non-ap bits that reside in symbols that contain ap bits.
------------------------------------------------------------------------
r7893 | k9an | 2017-07-15 16:43:41 +0100 (Sat, 15 Jul 2017) | 1 line
Use overlap and add to apply reference filter/amplitude equalization.
------------------------------------------------------------------------
r7894 | k9an | 2017-07-15 16:46:46 +0100 (Sat, 15 Jul 2017) | 1 line
Improve a comment.
------------------------------------------------------------------------
r7895 | k9an | 2017-07-16 01:10:37 +0100 (Sun, 16 Jul 2017) | 1 line
Make refspec filter causal for overlap and add.
------------------------------------------------------------------------
r7911 | k9an | 2017-07-16 16:56:06 +0100 (Sun, 16 Jul 2017) | 1 line
More work on Deep decoding.
------------------------------------------------------------------------
r7917 | k9an | 2017-07-16 18:08:09 +0100 (Sun, 16 Jul 2017) | 1 line
Properly round the printed snr.
------------------------------------------------------------------------
r7925 | k9an | 2017-07-18 02:12:11 +0100 (Tue, 18 Jul 2017) | 1 line
Work on ap decoding. Diagnostic write enabled.
------------------------------------------------------------------------
r7926 | k9an | 2017-07-18 16:22:20 +0100 (Tue, 18 Jul 2017) | 1 line
Fix a bug in AP decoding when iaptype=2. Decrease time-sync search range to +/- 1.5s. Fix a big with erasure decoding.
------------------------------------------------------------------------
r7927 | k1jt | 2017-07-20 00:23:20 +0100 (Thu, 20 Jul 2017) | 1 line
Remove slider next to audio level meter.
------------------------------------------------------------------------
r7928 | k1jt | 2017-07-20 16:15:00 +0100 (Thu, 20 Jul 2017) | 6 lines
1. Alt+F8 arms "Call 1st" as if a CQ had been sent.
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
"data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.
------------------------------------------------------------------------
r7929 | k1jt | 2017-07-20 20:23:17 +0100 (Thu, 20 Jul 2017) | 1 line
Fix wording in list of keyboard shortcuts.
------------------------------------------------------------------------
r7930 | k1jt | 2017-07-20 20:25:08 +0100 (Thu, 20 Jul 2017) | 2 lines
Comment out diagnostic write.
------------------------------------------------------------------------
r7931 | k9an | 2017-07-20 22:08:36 +0100 (Thu, 20 Jul 2017) | 1 line
Only print dupes if SNR is higher than what has already been printed.
------------------------------------------------------------------------
r7932 | k9an | 2017-07-21 23:02:06 +0100 (Fri, 21 Jul 2017) | 1 line
Add to the list of allowed keywords in jtmsg.f90.
------------------------------------------------------------------------
r7933 | k9an | 2017-07-22 04:01:09 +0100 (Sat, 22 Jul 2017) | 1 line
Add variables lapon and napwid to control ap decoding. Reconfigure the logic for AP decoding and ordered-statistics decoding.
------------------------------------------------------------------------
r7934 | k9an | 2017-07-22 14:21:03 +0100 (Sat, 22 Jul 2017) | 1 line
Prevent a certain type of non-standard message from being flagged as a false decode.
------------------------------------------------------------------------
r7935 | k9an | 2017-07-22 18:12:48 +0100 (Sat, 22 Jul 2017) | 1 line
More informative end-of-line annotation for AP decodes.
------------------------------------------------------------------------
r7936 | k9an | 2017-07-24 15:23:22 +0100 (Mon, 24 Jul 2017) | 1 line
Bring msk144d2 more up to date. Runs now, but still needs more work.
------------------------------------------------------------------------
r7937 | k1jt | 2017-07-24 15:48:16 +0100 (Mon, 24 Jul 2017) | 2 lines
Correct the spacing between marked lowest and highest FT8 tones for RxFreq (green) and TxFreq (red).
------------------------------------------------------------------------
r7938 | bsomervi | 2017-07-24 20:27:14 +0100 (Mon, 24 Jul 2017) | 4 lines
Add double clickable push button and radio button widgets
These emit doubleClicked signal when double-clicked, otherwise they
are identical to their super-classes.
------------------------------------------------------------------------
r7939 | bsomervi | 2017-07-24 20:27:23 +0100 (Mon, 24 Jul 2017) | 42 lines
Add the option to ALT+click a decoded CQ or QRZ message which only
moves the Rx frequency to theirs, this facilitates calling a station
who is busy and may have many callers on their frequency. Updated the
corresponding mouse shortcuts help text.
Allow for times with seconds when parsing fast mode and FT8 decodes.
Exclude the RR73 grid square from and grid validation or matching, it
is not a grid square any more as far as WSJT-X is concerned, it is an
RRR substitute.
Add a simple state machine for QSO progress such that replies and
auto-sequencing can be better controlled.
Get compound callsign edge cases working again and allow QSOs from and
to compound callsign holders working in as many situations as possible
including auto-sequencing and FT8 auto-reply mode. This does mean
that a "DE W6/K1ABC DM93" type message close to a callers Tx or Rx
frequency will be taken as a reply to a CQ call despite it not being
explicitly addressed back to the CQ caller. Compound callsigns should
work in MSK144 contest mode also as well as in short code modes with
some minor restrictions (short codes will not be used where
configuration demands that a message be used to send a full compound
callsign).
Auto sequencing has been made generic such that it can be used for
more than one mode if desired.
Allow the use of free text messages to sign off in auto sequenced QSOs
without the message being overwritten by the sequencer. Double click
actions have been added to the Tx5 radio and push buttons to revert
back to the default standard 73 message.
Make DisplayText class interface more idiomatic C++ and simplify a
bit.
Fixed some displayed widget arrangements for different modes and
sub-modes so that they are consistent when starting up and when
switching mode or sub-mode.
This is a big change which has been extensively tested but no doubt
there will also be some new defects introduced.
------------------------------------------------------------------------
r7940 | bsomervi | 2017-07-25 17:51:19 +0100 (Tue, 25 Jul 2017) | 1 line
Fix issue with Tx5 not being generated with a new DX Call
------------------------------------------------------------------------
r7941 | bsomervi | 2017-07-25 17:51:27 +0100 (Tue, 25 Jul 2017) | 1 line
Fix country name display that broke in r7939
------------------------------------------------------------------------
r7942 | bsomervi | 2017-07-25 17:51:34 +0100 (Tue, 25 Jul 2017) | 1 line
Ensure JT9 lowest decode frequency spin box is disabled when not available
------------------------------------------------------------------------
r7943 | bsomervi | 2017-07-25 17:51:42 +0100 (Tue, 25 Jul 2017) | 4 lines
Pick up tail-enders when completing a call 1st QSO after re-enabling auto Tx
Allow any message to start a QSO so long as we are not in an
auto-reply QSO.
------------------------------------------------------------------------
r7944 | bsomervi | 2017-07-25 17:51:49 +0100 (Tue, 25 Jul 2017) | 1 line
Exclude all decode quality markers from internal decode parsing and matching
------------------------------------------------------------------------
r7945 | k9an | 2017-07-25 20:06:05 +0100 (Tue, 25 Jul 2017) | 1 line
Move '?' quality warning to message(22:22).
------------------------------------------------------------------------
r7946 | k9an | 2017-07-25 21:55:13 +0100 (Tue, 25 Jul 2017) | 1 line
Reject candiates with fewer than 7 correct hard-decoded sync symbols.
------------------------------------------------------------------------
r7947 | bsomervi | 2017-07-26 02:38:37 +0100 (Wed, 26 Jul 2017) | 1 line
Force Settings tab to Radio tab when navigating there from a rig error message
------------------------------------------------------------------------
r7948 | bsomervi | 2017-07-26 02:38:44 +0100 (Wed, 26 Jul 2017) | 1 line
Correct the highlighting of the Call 1st check box label
------------------------------------------------------------------------
r7949 | bsomervi | 2017-07-26 02:38:57 +0100 (Wed, 26 Jul 2017) | 5 lines
Option to skip using grid reply message
Enable and disable by double-clicking the Tx1 button or the adjacent
radio button. Tx1 message shows grayed out when the Tx1 message is
elided.
------------------------------------------------------------------------
r7950 | bsomervi | 2017-07-26 02:39:04 +0100 (Wed, 26 Jul 2017) | 6 lines
Option to use RR73 grid message as RRR message substitutes
Enable or disable by double-clicking the Tx4 button or the adjacent
radio button. Is auto disabled by a band change as it is expected that
the user reassess the conditions to see if message repetitions are
unlikely to be needed.
------------------------------------------------------------------------
r7951 | bsomervi | 2017-07-26 02:39:11 +0100 (Wed, 26 Jul 2017) | 1 line
Fix highlighting of the call first check box label
------------------------------------------------------------------------
r7952 | bsomervi | 2017-07-26 02:39:23 +0100 (Wed, 26 Jul 2017) | 1 line
Better behavior and tool tips for Txn buttons and radio buttons
------------------------------------------------------------------------
r7953 | bsomervi | 2017-07-26 02:39:30 +0100 (Wed, 26 Jul 2017) | 1 line
Auto Tx stop when calling a CQer who answers another station on your Tx frequency
------------------------------------------------------------------------
r7954 | bsomervi | 2017-07-26 11:56:12 +0100 (Wed, 26 Jul 2017) | 1 line
Add menu option to turn on AP decoding in FT8 mode
------------------------------------------------------------------------
r7955 | k9an | 2017-07-26 14:05:34 +0100 (Wed, 26 Jul 2017) | 1 line
Enable AP for any decoding level.
------------------------------------------------------------------------
r7956 | k1jt | 2017-07-26 14:44:31 +0100 (Wed, 26 Jul 2017) | 1 line
Remove obsolete test program.
------------------------------------------------------------------------
r7957 | bsomervi | 2017-07-26 22:18:59 +0100 (Wed, 26 Jul 2017) | 11 lines
Use the low confidence decode quality marker to elide spots and pass info via UDP
The UDP decode and reply message have been augmented with a boolean
flag denoting a low confidence decode when set. Existing clients can
safely use the reply message without passing the flag as the default
value will still action messages that have high confidence. If low
confidence decodes are to be passed back via the reply message then
the low confidence flag must be included and correctly set to match
the original decode.
See NetworkMessage.hpp for message fields and meanings.
------------------------------------------------------------------------
r7958 | bsomervi | 2017-07-26 22:19:21 +0100 (Wed, 26 Jul 2017) | 3 lines
Add QSO state machine state and tx audio offset to parameters passed to slow decoders
Required to pick best AP masks in FT8 decoder
------------------------------------------------------------------------
r7959 | bsomervi | 2017-07-26 23:03:02 +0100 (Wed, 26 Jul 2017) | 1 line
Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match
------------------------------------------------------------------------
r7960 | k9an | 2017-07-27 16:35:40 +0100 (Thu, 27 Jul 2017) | 1 line
nQSOProgress now controls AP decoding. Needs testing - may not be stable with AP enabled.
------------------------------------------------------------------------
r7961 | k9an | 2017-07-27 19:07:54 +0100 (Thu, 27 Jul 2017) | 1 line
Correct some logic so that AP is only on when selected and so that AP decodes of type 4 or greater are limited to the vicinity of nfqso or nftx.
------------------------------------------------------------------------
r7962 | k1jt | 2017-07-27 19:57:53 +0100 (Thu, 27 Jul 2017) | 2 lines
Remove unused arguments from the call to fix_contest_msg().
------------------------------------------------------------------------
r7963 | k1jt | 2017-07-27 21:17:30 +0100 (Thu, 27 Jul 2017) | 1 line
Working on some features for NA VHF contests. Not finished!
------------------------------------------------------------------------
r7964 | bsomervi | 2017-07-28 01:00:42 +0100 (Fri, 28 Jul 2017) | 1 line
Fix syntax error in statement function definition
------------------------------------------------------------------------
r7965 | bsomervi | 2017-07-28 02:20:22 +0100 (Fri, 28 Jul 2017) | 6 lines
Revert "Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match"
Bad idea, need to find a better way to extend grids to 6-digits from
CALL3.TXT.
This reverts commit r7959
------------------------------------------------------------------------
r7968 | k9an | 2017-07-28 16:35:17 +0100 (Fri, 28 Jul 2017) | 1 line
Comment out diagnostic write to lun 81.
------------------------------------------------------------------------
r7969 | k1jt | 2017-07-28 16:50:13 +0100 (Fri, 28 Jul 2017) | 2 lines
Make 72-bit "contest mode" available in FT8 as well as MSK144.
------------------------------------------------------------------------
r7970 | bsomervi | 2017-07-29 00:25:32 +0100 (Sat, 29 Jul 2017) | 7 lines
Change tolerances for auto stop and auto-sequence of some messages
FT8 auto-stop will only react to messages within +/- 50Hz of our Tx
frequency.
Auto-sequence on "DE ..." and free text 73 messages will respond if
they are within 25Hz of our Tx or Rx frequency.
------------------------------------------------------------------------
r7971 | bsomervi | 2017-07-31 02:28:25 +0100 (Mon, 31 Jul 2017) | 1 line
Add extra hidden string length argument to genft8 interface
------------------------------------------------------------------------
r7972 | bsomervi | 2017-07-31 02:28:33 +0100 (Mon, 31 Jul 2017) | 5 lines
Fix FT8 call first behaviour with "Lock Tx=Rx"
Call first combined with "Lock Tx=Rx" (why would anyone consider doing
that!) should continue on the Tx frequency of the station being
worked and not be switched another calling station's frequency.
------------------------------------------------------------------------
r7973 | k1jt | 2017-08-01 19:01:27 +0100 (Tue, 01 Aug 2017) | 1 line
Utility for generating figure for QST/RadCom article.
------------------------------------------------------------------------
r7974 | k1jt | 2017-08-01 19:16:01 +0100 (Tue, 01 Aug 2017) | 2 lines
Tidy up some details for 72-bit contest mode in FT8.
------------------------------------------------------------------------
r7975 | k1jt | 2017-08-01 19:46:12 +0100 (Tue, 01 Aug 2017) | 2 lines
Don't highlight FT8 contest-mode Tx3 message as a free-text message.
------------------------------------------------------------------------
r7976 | k1jt | 2017-08-01 20:32:54 +0100 (Tue, 01 Aug 2017) | 2 lines
Fix the "F4" shortcut description; add usage advuice to "Lock Tx=Rx" tool tip.
------------------------------------------------------------------------
r7980 | k1jt | 2017-08-02 15:05:37 +0100 (Wed, 02 Aug 2017) | 2 lines
Enable "nagain" for FT8, as in other modes.
------------------------------------------------------------------------
r7987 | k1jt | 2017-08-02 20:23:42 +0100 (Wed, 02 Aug 2017) | 2 lines
Updates to the WSJT-X User Guide for Version 1.8.
------------------------------------------------------------------------
r7988 | k1jt | 2017-08-02 20:27:43 +0100 (Wed, 02 Aug 2017) | 2 lines
Add several new screen shots.
------------------------------------------------------------------------
r7989 | k1jt | 2017-08-02 21:43:06 +0100 (Wed, 02 Aug 2017) | 2 lines
Allow auto-seq in QRA64 mode; updates to User Guide.
------------------------------------------------------------------------
r7992 | bsomervi | 2017-08-03 12:23:07 +0100 (Thu, 03 Aug 2017) | 7 lines
Fix an issue with VFO tuning while running Doppler correction
Holding down the SHIFT key while tuning the rig should update the
nominal sked frequency, not holding done the SHIFT key should not
update the sked frequency. This is not yet perfect and sometimes a
change to the nominal sked frequency can get through but it is a rare
as yet unfound race condition.
------------------------------------------------------------------------
r7993 | k9an | 2017-08-03 15:46:21 +0100 (Thu, 03 Aug 2017) | 1 line
1. Use norder=3 for nagain, 2. Renumber aptypes.
------------------------------------------------------------------------
r7994 | k1jt | 2017-08-03 15:48:59 +0100 (Thu, 03 Aug 2017) | 2 lines
Remove the "Weak" checkbox from GUI, it's not implemented.
------------------------------------------------------------------------
r7995 | k1jt | 2017-08-03 16:12:30 +0100 (Thu, 03 Aug 2017) | 2 lines
More updates to the WSJT-X User Guide.
------------------------------------------------------------------------
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@7996 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-08-03 16:42:10 +00:00
|
|
|
, QString::fromUtf8 (mode), QString::fromUtf8 (message)
|
|
|
|
, low_confidence);
|
2015-04-20 17:47:32 +00:00
|
|
|
}
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
2015-04-20 17:47:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case NetworkMessage::Replay:
|
2015-05-07 11:31:24 +00:00
|
|
|
if (check_status (in) != Fail)
|
2015-04-20 17:47:32 +00:00
|
|
|
{
|
2016-02-02 01:48:08 +00:00
|
|
|
last_message_.clear ();
|
2015-04-20 17:47:32 +00:00
|
|
|
Q_EMIT self_->replay ();
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2015-05-06 20:30:29 +00:00
|
|
|
case NetworkMessage::HaltTx:
|
2015-05-07 11:31:24 +00:00
|
|
|
{
|
|
|
|
bool auto_only {false};
|
|
|
|
in >> auto_only;
|
|
|
|
if (check_status (in) != Fail)
|
|
|
|
{
|
|
|
|
Q_EMIT self_->halt_tx (auto_only);
|
|
|
|
}
|
|
|
|
}
|
2015-05-06 20:30:29 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case NetworkMessage::FreeText:
|
2015-05-28 17:33:39 +00:00
|
|
|
{
|
|
|
|
QByteArray message;
|
|
|
|
bool send {true};
|
|
|
|
in >> message >> send;
|
|
|
|
if (check_status (in) != Fail)
|
|
|
|
{
|
|
|
|
Q_EMIT self_->free_text (QString::fromUtf8 (message), send);
|
|
|
|
}
|
|
|
|
}
|
2015-05-06 20:30:29 +00:00
|
|
|
break;
|
|
|
|
|
2015-04-20 17:47:32 +00:00
|
|
|
default:
|
|
|
|
// Ignore
|
2016-12-04 00:55:15 +00:00
|
|
|
//
|
|
|
|
// Note that although server heartbeat messages are not
|
|
|
|
// parsed here they are still partially parsed in the
|
|
|
|
// message reader class to negotiate the maximum schema
|
|
|
|
// number being used on the network.
|
2015-04-20 17:47:32 +00:00
|
|
|
break;
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2015-04-20 17:47:32 +00:00
|
|
|
catch (std::exception const& e)
|
|
|
|
{
|
|
|
|
Q_EMIT self_->error (QString {"MessageClient exception: %1"}.arg (e.what ()));
|
|
|
|
}
|
|
|
|
catch (...)
|
|
|
|
{
|
|
|
|
Q_EMIT self_->error ("Unexpected exception in MessageClient");
|
|
|
|
}
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::impl::heartbeat ()
|
|
|
|
{
|
|
|
|
if (server_port_ && !server_.isNull ())
|
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder hb {&message, NetworkMessage::Heartbeat, id_, schema_};
|
2016-12-04 00:55:15 +00:00
|
|
|
hb << NetworkMessage::Builder::schema_number // maximum schema number accepted
|
|
|
|
<< version_.toUtf8 () << revision_.toUtf8 ();
|
2015-05-07 11:31:24 +00:00
|
|
|
if (OK == check_status (hb))
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
writeDatagram (message, server_, server_port_);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::impl::closedown ()
|
|
|
|
{
|
|
|
|
if (server_port_ && !server_.isNull ())
|
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::Close, id_, schema_};
|
2015-05-07 11:31:24 +00:00
|
|
|
if (OK == check_status (out))
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
writeDatagram (message, server_, server_port_);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-06-18 22:01:40 +00:00
|
|
|
void MessageClient::impl::send_message (QByteArray const& message)
|
|
|
|
{
|
|
|
|
if (server_port_)
|
|
|
|
{
|
|
|
|
if (!server_.isNull ())
|
|
|
|
{
|
2015-12-24 21:37:16 +00:00
|
|
|
if (message != last_message_) // avoid duplicates
|
|
|
|
{
|
|
|
|
writeDatagram (message, server_, server_port_);
|
|
|
|
last_message_ = message;
|
|
|
|
}
|
2015-06-18 22:01:40 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
pending_messages_.enqueue (message);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-05-07 11:31:24 +00:00
|
|
|
auto MessageClient::impl::check_status (QDataStream const& stream) const -> StreamStatus
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
auto stat = stream.status ();
|
2015-05-07 11:31:24 +00:00
|
|
|
StreamStatus result {Fail};
|
2015-04-15 16:40:49 +00:00
|
|
|
switch (stat)
|
|
|
|
{
|
|
|
|
case QDataStream::ReadPastEnd:
|
2015-05-07 11:31:24 +00:00
|
|
|
result = Short;
|
2015-04-15 16:40:49 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case QDataStream::ReadCorruptData:
|
|
|
|
Q_EMIT self_->error ("Message serialization error: read corrupt data");
|
|
|
|
break;
|
|
|
|
|
|
|
|
case QDataStream::WriteFailed:
|
|
|
|
Q_EMIT self_->error ("Message serialization error: write error");
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
2015-05-07 11:31:24 +00:00
|
|
|
result = OK;
|
2015-04-15 16:40:49 +00:00
|
|
|
break;
|
|
|
|
}
|
2015-05-07 11:31:24 +00:00
|
|
|
return result;
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
|
2016-12-04 00:55:15 +00:00
|
|
|
MessageClient::MessageClient (QString const& id, QString const& version, QString const& revision,
|
|
|
|
QString const& server, port_type server_port, QObject * self)
|
2015-04-15 16:40:49 +00:00
|
|
|
: QObject {self}
|
2016-12-04 00:55:15 +00:00
|
|
|
, m_ {id, version, revision, server_port, this}
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
connect (&*m_, static_cast<void (impl::*) (impl::SocketError)> (&impl::error)
|
2015-11-15 23:03:11 +00:00
|
|
|
, [this] (impl::SocketError e)
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-11-15 23:03:11 +00:00
|
|
|
#if defined (Q_OS_WIN) && QT_VERSION >= 0x050500
|
2016-05-25 15:34:19 +00:00
|
|
|
if (e != impl::NetworkError // take this out when Qt 5.5
|
|
|
|
// stops doing this
|
|
|
|
// spuriously
|
|
|
|
&& e != impl::ConnectionRefusedError) // not
|
|
|
|
// interested
|
|
|
|
// in this with
|
|
|
|
// UDP socket
|
2015-11-16 09:04:48 +00:00
|
|
|
#else
|
|
|
|
Q_UNUSED (e);
|
2015-11-15 23:03:11 +00:00
|
|
|
#endif
|
|
|
|
{
|
|
|
|
Q_EMIT error (m_->errorString ());
|
|
|
|
}
|
2015-04-15 16:40:49 +00:00
|
|
|
});
|
|
|
|
set_server (server);
|
|
|
|
}
|
|
|
|
|
|
|
|
QHostAddress MessageClient::server_address () const
|
|
|
|
{
|
|
|
|
return m_->server_;
|
|
|
|
}
|
|
|
|
|
|
|
|
auto MessageClient::server_port () const -> port_type
|
|
|
|
{
|
|
|
|
return m_->server_port_;
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::set_server (QString const& server)
|
|
|
|
{
|
|
|
|
m_->server_.clear ();
|
2015-06-18 22:01:40 +00:00
|
|
|
m_->server_string_ = server;
|
2015-04-15 16:40:49 +00:00
|
|
|
if (!server.isEmpty ())
|
|
|
|
{
|
|
|
|
// queue a host address lookup
|
|
|
|
QHostInfo::lookupHost (server, &*m_, SLOT (host_info_results (QHostInfo)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::set_server_port (port_type server_port)
|
|
|
|
{
|
|
|
|
m_->server_port_ = server_port;
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::send_raw_datagram (QByteArray const& message, QHostAddress const& dest_address
|
|
|
|
, port_type dest_port)
|
|
|
|
{
|
|
|
|
if (dest_port && !dest_address.isNull ())
|
|
|
|
{
|
|
|
|
m_->writeDatagram (message, dest_address, dest_port);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::status_update (Frequency f, QString const& mode, QString const& dx_call
|
2015-05-06 22:25:56 +00:00
|
|
|
, QString const& report, QString const& tx_mode
|
2016-05-24 10:08:35 +00:00
|
|
|
, bool tx_enabled, bool transmitting, bool decoding
|
|
|
|
, qint32 rx_df, qint32 tx_df, QString const& de_call
|
2016-07-08 10:25:21 +00:00
|
|
|
, QString const& de_grid, QString const& dx_grid
|
2016-12-16 19:36:21 +00:00
|
|
|
, bool watchdog_timeout, QString const& sub_mode
|
|
|
|
, bool fast_mode)
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-06-18 22:01:40 +00:00
|
|
|
if (m_->server_port_ && !m_->server_string_.isEmpty ())
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::Status, m_->id_, m_->schema_};
|
2015-05-06 20:30:29 +00:00
|
|
|
out << f << mode.toUtf8 () << dx_call.toUtf8 () << report.toUtf8 () << tx_mode.toUtf8 ()
|
2016-05-24 10:08:35 +00:00
|
|
|
<< tx_enabled << transmitting << decoding << rx_df << tx_df << de_call.toUtf8 ()
|
2016-12-16 19:36:21 +00:00
|
|
|
<< de_grid.toUtf8 () << dx_grid.toUtf8 () << watchdog_timeout << sub_mode.toUtf8 ()
|
|
|
|
<< fast_mode;
|
2015-11-13 15:44:11 +00:00
|
|
|
m_->send_message (out, message);
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void MessageClient::decode (bool is_new, QTime time, qint32 snr, float delta_time, quint32 delta_frequency
|
Merged from trunk:
------------------------------------------------------------------------
r7861 | k9an | 2017-07-12 22:49:39 +0100 (Wed, 12 Jul 2017) | 1 line
Use quarter-symbol steps for time sync. Lower sync threshold. Implement subtraction and two pass decoding. Use osd2 only near nfqso.
------------------------------------------------------------------------
r7862 | k9an | 2017-07-13 01:28:57 +0100 (Thu, 13 Jul 2017) | 1 line
Fix NHSYM.
------------------------------------------------------------------------
r7863 | k9an | 2017-07-13 01:31:52 +0100 (Thu, 13 Jul 2017) | 1 line
Fix a comment. No code changes.
------------------------------------------------------------------------
r7864 | k9an | 2017-07-13 01:43:56 +0100 (Thu, 13 Jul 2017) | 1 line
Fix another bounds error.
------------------------------------------------------------------------
r7879 | k1jt | 2017-07-14 17:02:01 +0100 (Fri, 14 Jul 2017) | 1 line
Code cleanup and test ofFT8 decodes with erasures. Do not use on the air.
------------------------------------------------------------------------
r7881 | k1jt | 2017-07-14 19:19:48 +0100 (Fri, 14 Jul 2017) | 1 line
Fix nutc in jt9; alternative sync value for late-start FT8 signals.
------------------------------------------------------------------------
r7882 | k9an | 2017-07-14 20:22:53 +0100 (Fri, 14 Jul 2017) | 1 line
Move ft8apset to a separate file.
------------------------------------------------------------------------
r7884 | k9an | 2017-07-14 20:35:22 +0100 (Fri, 14 Jul 2017) | 1 line
Add ft8apset.f90.
------------------------------------------------------------------------
r7885 | k9an | 2017-07-14 20:46:04 +0100 (Fri, 14 Jul 2017) | 1 line
Update call to ft8b.
------------------------------------------------------------------------
r7886 | k9an | 2017-07-14 21:12:29 +0100 (Fri, 14 Jul 2017) | 1 line
More work on ap.
------------------------------------------------------------------------
r7887 | k9an | 2017-07-14 23:09:50 +0100 (Fri, 14 Jul 2017) | 1 line
More work on AP. Deep decode is unstable - not for use on the air.
------------------------------------------------------------------------
r7890 | k9an | 2017-07-15 01:33:25 +0100 (Sat, 15 Jul 2017) | 1 line
Turn off ap.
------------------------------------------------------------------------
r7891 | k9an | 2017-07-15 02:49:44 +0100 (Sat, 15 Jul 2017) | 1 line
Add some more items to the lun 81 diagnostics.
------------------------------------------------------------------------
r7892 | k9an | 2017-07-15 15:21:18 +0100 (Sat, 15 Jul 2017) | 1 line
Properly calculate metrics for non-ap bits that reside in symbols that contain ap bits.
------------------------------------------------------------------------
r7893 | k9an | 2017-07-15 16:43:41 +0100 (Sat, 15 Jul 2017) | 1 line
Use overlap and add to apply reference filter/amplitude equalization.
------------------------------------------------------------------------
r7894 | k9an | 2017-07-15 16:46:46 +0100 (Sat, 15 Jul 2017) | 1 line
Improve a comment.
------------------------------------------------------------------------
r7895 | k9an | 2017-07-16 01:10:37 +0100 (Sun, 16 Jul 2017) | 1 line
Make refspec filter causal for overlap and add.
------------------------------------------------------------------------
r7911 | k9an | 2017-07-16 16:56:06 +0100 (Sun, 16 Jul 2017) | 1 line
More work on Deep decoding.
------------------------------------------------------------------------
r7917 | k9an | 2017-07-16 18:08:09 +0100 (Sun, 16 Jul 2017) | 1 line
Properly round the printed snr.
------------------------------------------------------------------------
r7925 | k9an | 2017-07-18 02:12:11 +0100 (Tue, 18 Jul 2017) | 1 line
Work on ap decoding. Diagnostic write enabled.
------------------------------------------------------------------------
r7926 | k9an | 2017-07-18 16:22:20 +0100 (Tue, 18 Jul 2017) | 1 line
Fix a bug in AP decoding when iaptype=2. Decrease time-sync search range to +/- 1.5s. Fix a big with erasure decoding.
------------------------------------------------------------------------
r7927 | k1jt | 2017-07-20 00:23:20 +0100 (Thu, 20 Jul 2017) | 1 line
Remove slider next to audio level meter.
------------------------------------------------------------------------
r7928 | k1jt | 2017-07-20 16:15:00 +0100 (Thu, 20 Jul 2017) | 6 lines
1. Alt+F8 arms "Call 1st" as if a CQ had been sent.
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
"data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.
------------------------------------------------------------------------
r7929 | k1jt | 2017-07-20 20:23:17 +0100 (Thu, 20 Jul 2017) | 1 line
Fix wording in list of keyboard shortcuts.
------------------------------------------------------------------------
r7930 | k1jt | 2017-07-20 20:25:08 +0100 (Thu, 20 Jul 2017) | 2 lines
Comment out diagnostic write.
------------------------------------------------------------------------
r7931 | k9an | 2017-07-20 22:08:36 +0100 (Thu, 20 Jul 2017) | 1 line
Only print dupes if SNR is higher than what has already been printed.
------------------------------------------------------------------------
r7932 | k9an | 2017-07-21 23:02:06 +0100 (Fri, 21 Jul 2017) | 1 line
Add to the list of allowed keywords in jtmsg.f90.
------------------------------------------------------------------------
r7933 | k9an | 2017-07-22 04:01:09 +0100 (Sat, 22 Jul 2017) | 1 line
Add variables lapon and napwid to control ap decoding. Reconfigure the logic for AP decoding and ordered-statistics decoding.
------------------------------------------------------------------------
r7934 | k9an | 2017-07-22 14:21:03 +0100 (Sat, 22 Jul 2017) | 1 line
Prevent a certain type of non-standard message from being flagged as a false decode.
------------------------------------------------------------------------
r7935 | k9an | 2017-07-22 18:12:48 +0100 (Sat, 22 Jul 2017) | 1 line
More informative end-of-line annotation for AP decodes.
------------------------------------------------------------------------
r7936 | k9an | 2017-07-24 15:23:22 +0100 (Mon, 24 Jul 2017) | 1 line
Bring msk144d2 more up to date. Runs now, but still needs more work.
------------------------------------------------------------------------
r7937 | k1jt | 2017-07-24 15:48:16 +0100 (Mon, 24 Jul 2017) | 2 lines
Correct the spacing between marked lowest and highest FT8 tones for RxFreq (green) and TxFreq (red).
------------------------------------------------------------------------
r7938 | bsomervi | 2017-07-24 20:27:14 +0100 (Mon, 24 Jul 2017) | 4 lines
Add double clickable push button and radio button widgets
These emit doubleClicked signal when double-clicked, otherwise they
are identical to their super-classes.
------------------------------------------------------------------------
r7939 | bsomervi | 2017-07-24 20:27:23 +0100 (Mon, 24 Jul 2017) | 42 lines
Add the option to ALT+click a decoded CQ or QRZ message which only
moves the Rx frequency to theirs, this facilitates calling a station
who is busy and may have many callers on their frequency. Updated the
corresponding mouse shortcuts help text.
Allow for times with seconds when parsing fast mode and FT8 decodes.
Exclude the RR73 grid square from and grid validation or matching, it
is not a grid square any more as far as WSJT-X is concerned, it is an
RRR substitute.
Add a simple state machine for QSO progress such that replies and
auto-sequencing can be better controlled.
Get compound callsign edge cases working again and allow QSOs from and
to compound callsign holders working in as many situations as possible
including auto-sequencing and FT8 auto-reply mode. This does mean
that a "DE W6/K1ABC DM93" type message close to a callers Tx or Rx
frequency will be taken as a reply to a CQ call despite it not being
explicitly addressed back to the CQ caller. Compound callsigns should
work in MSK144 contest mode also as well as in short code modes with
some minor restrictions (short codes will not be used where
configuration demands that a message be used to send a full compound
callsign).
Auto sequencing has been made generic such that it can be used for
more than one mode if desired.
Allow the use of free text messages to sign off in auto sequenced QSOs
without the message being overwritten by the sequencer. Double click
actions have been added to the Tx5 radio and push buttons to revert
back to the default standard 73 message.
Make DisplayText class interface more idiomatic C++ and simplify a
bit.
Fixed some displayed widget arrangements for different modes and
sub-modes so that they are consistent when starting up and when
switching mode or sub-mode.
This is a big change which has been extensively tested but no doubt
there will also be some new defects introduced.
------------------------------------------------------------------------
r7940 | bsomervi | 2017-07-25 17:51:19 +0100 (Tue, 25 Jul 2017) | 1 line
Fix issue with Tx5 not being generated with a new DX Call
------------------------------------------------------------------------
r7941 | bsomervi | 2017-07-25 17:51:27 +0100 (Tue, 25 Jul 2017) | 1 line
Fix country name display that broke in r7939
------------------------------------------------------------------------
r7942 | bsomervi | 2017-07-25 17:51:34 +0100 (Tue, 25 Jul 2017) | 1 line
Ensure JT9 lowest decode frequency spin box is disabled when not available
------------------------------------------------------------------------
r7943 | bsomervi | 2017-07-25 17:51:42 +0100 (Tue, 25 Jul 2017) | 4 lines
Pick up tail-enders when completing a call 1st QSO after re-enabling auto Tx
Allow any message to start a QSO so long as we are not in an
auto-reply QSO.
------------------------------------------------------------------------
r7944 | bsomervi | 2017-07-25 17:51:49 +0100 (Tue, 25 Jul 2017) | 1 line
Exclude all decode quality markers from internal decode parsing and matching
------------------------------------------------------------------------
r7945 | k9an | 2017-07-25 20:06:05 +0100 (Tue, 25 Jul 2017) | 1 line
Move '?' quality warning to message(22:22).
------------------------------------------------------------------------
r7946 | k9an | 2017-07-25 21:55:13 +0100 (Tue, 25 Jul 2017) | 1 line
Reject candiates with fewer than 7 correct hard-decoded sync symbols.
------------------------------------------------------------------------
r7947 | bsomervi | 2017-07-26 02:38:37 +0100 (Wed, 26 Jul 2017) | 1 line
Force Settings tab to Radio tab when navigating there from a rig error message
------------------------------------------------------------------------
r7948 | bsomervi | 2017-07-26 02:38:44 +0100 (Wed, 26 Jul 2017) | 1 line
Correct the highlighting of the Call 1st check box label
------------------------------------------------------------------------
r7949 | bsomervi | 2017-07-26 02:38:57 +0100 (Wed, 26 Jul 2017) | 5 lines
Option to skip using grid reply message
Enable and disable by double-clicking the Tx1 button or the adjacent
radio button. Tx1 message shows grayed out when the Tx1 message is
elided.
------------------------------------------------------------------------
r7950 | bsomervi | 2017-07-26 02:39:04 +0100 (Wed, 26 Jul 2017) | 6 lines
Option to use RR73 grid message as RRR message substitutes
Enable or disable by double-clicking the Tx4 button or the adjacent
radio button. Is auto disabled by a band change as it is expected that
the user reassess the conditions to see if message repetitions are
unlikely to be needed.
------------------------------------------------------------------------
r7951 | bsomervi | 2017-07-26 02:39:11 +0100 (Wed, 26 Jul 2017) | 1 line
Fix highlighting of the call first check box label
------------------------------------------------------------------------
r7952 | bsomervi | 2017-07-26 02:39:23 +0100 (Wed, 26 Jul 2017) | 1 line
Better behavior and tool tips for Txn buttons and radio buttons
------------------------------------------------------------------------
r7953 | bsomervi | 2017-07-26 02:39:30 +0100 (Wed, 26 Jul 2017) | 1 line
Auto Tx stop when calling a CQer who answers another station on your Tx frequency
------------------------------------------------------------------------
r7954 | bsomervi | 2017-07-26 11:56:12 +0100 (Wed, 26 Jul 2017) | 1 line
Add menu option to turn on AP decoding in FT8 mode
------------------------------------------------------------------------
r7955 | k9an | 2017-07-26 14:05:34 +0100 (Wed, 26 Jul 2017) | 1 line
Enable AP for any decoding level.
------------------------------------------------------------------------
r7956 | k1jt | 2017-07-26 14:44:31 +0100 (Wed, 26 Jul 2017) | 1 line
Remove obsolete test program.
------------------------------------------------------------------------
r7957 | bsomervi | 2017-07-26 22:18:59 +0100 (Wed, 26 Jul 2017) | 11 lines
Use the low confidence decode quality marker to elide spots and pass info via UDP
The UDP decode and reply message have been augmented with a boolean
flag denoting a low confidence decode when set. Existing clients can
safely use the reply message without passing the flag as the default
value will still action messages that have high confidence. If low
confidence decodes are to be passed back via the reply message then
the low confidence flag must be included and correctly set to match
the original decode.
See NetworkMessage.hpp for message fields and meanings.
------------------------------------------------------------------------
r7958 | bsomervi | 2017-07-26 22:19:21 +0100 (Wed, 26 Jul 2017) | 3 lines
Add QSO state machine state and tx audio offset to parameters passed to slow decoders
Required to pick best AP masks in FT8 decoder
------------------------------------------------------------------------
r7959 | bsomervi | 2017-07-26 23:03:02 +0100 (Wed, 26 Jul 2017) | 1 line
Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match
------------------------------------------------------------------------
r7960 | k9an | 2017-07-27 16:35:40 +0100 (Thu, 27 Jul 2017) | 1 line
nQSOProgress now controls AP decoding. Needs testing - may not be stable with AP enabled.
------------------------------------------------------------------------
r7961 | k9an | 2017-07-27 19:07:54 +0100 (Thu, 27 Jul 2017) | 1 line
Correct some logic so that AP is only on when selected and so that AP decodes of type 4 or greater are limited to the vicinity of nfqso or nftx.
------------------------------------------------------------------------
r7962 | k1jt | 2017-07-27 19:57:53 +0100 (Thu, 27 Jul 2017) | 2 lines
Remove unused arguments from the call to fix_contest_msg().
------------------------------------------------------------------------
r7963 | k1jt | 2017-07-27 21:17:30 +0100 (Thu, 27 Jul 2017) | 1 line
Working on some features for NA VHF contests. Not finished!
------------------------------------------------------------------------
r7964 | bsomervi | 2017-07-28 01:00:42 +0100 (Fri, 28 Jul 2017) | 1 line
Fix syntax error in statement function definition
------------------------------------------------------------------------
r7965 | bsomervi | 2017-07-28 02:20:22 +0100 (Fri, 28 Jul 2017) | 6 lines
Revert "Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match"
Bad idea, need to find a better way to extend grids to 6-digits from
CALL3.TXT.
This reverts commit r7959
------------------------------------------------------------------------
r7968 | k9an | 2017-07-28 16:35:17 +0100 (Fri, 28 Jul 2017) | 1 line
Comment out diagnostic write to lun 81.
------------------------------------------------------------------------
r7969 | k1jt | 2017-07-28 16:50:13 +0100 (Fri, 28 Jul 2017) | 2 lines
Make 72-bit "contest mode" available in FT8 as well as MSK144.
------------------------------------------------------------------------
r7970 | bsomervi | 2017-07-29 00:25:32 +0100 (Sat, 29 Jul 2017) | 7 lines
Change tolerances for auto stop and auto-sequence of some messages
FT8 auto-stop will only react to messages within +/- 50Hz of our Tx
frequency.
Auto-sequence on "DE ..." and free text 73 messages will respond if
they are within 25Hz of our Tx or Rx frequency.
------------------------------------------------------------------------
r7971 | bsomervi | 2017-07-31 02:28:25 +0100 (Mon, 31 Jul 2017) | 1 line
Add extra hidden string length argument to genft8 interface
------------------------------------------------------------------------
r7972 | bsomervi | 2017-07-31 02:28:33 +0100 (Mon, 31 Jul 2017) | 5 lines
Fix FT8 call first behaviour with "Lock Tx=Rx"
Call first combined with "Lock Tx=Rx" (why would anyone consider doing
that!) should continue on the Tx frequency of the station being
worked and not be switched another calling station's frequency.
------------------------------------------------------------------------
r7973 | k1jt | 2017-08-01 19:01:27 +0100 (Tue, 01 Aug 2017) | 1 line
Utility for generating figure for QST/RadCom article.
------------------------------------------------------------------------
r7974 | k1jt | 2017-08-01 19:16:01 +0100 (Tue, 01 Aug 2017) | 2 lines
Tidy up some details for 72-bit contest mode in FT8.
------------------------------------------------------------------------
r7975 | k1jt | 2017-08-01 19:46:12 +0100 (Tue, 01 Aug 2017) | 2 lines
Don't highlight FT8 contest-mode Tx3 message as a free-text message.
------------------------------------------------------------------------
r7976 | k1jt | 2017-08-01 20:32:54 +0100 (Tue, 01 Aug 2017) | 2 lines
Fix the "F4" shortcut description; add usage advuice to "Lock Tx=Rx" tool tip.
------------------------------------------------------------------------
r7980 | k1jt | 2017-08-02 15:05:37 +0100 (Wed, 02 Aug 2017) | 2 lines
Enable "nagain" for FT8, as in other modes.
------------------------------------------------------------------------
r7987 | k1jt | 2017-08-02 20:23:42 +0100 (Wed, 02 Aug 2017) | 2 lines
Updates to the WSJT-X User Guide for Version 1.8.
------------------------------------------------------------------------
r7988 | k1jt | 2017-08-02 20:27:43 +0100 (Wed, 02 Aug 2017) | 2 lines
Add several new screen shots.
------------------------------------------------------------------------
r7989 | k1jt | 2017-08-02 21:43:06 +0100 (Wed, 02 Aug 2017) | 2 lines
Allow auto-seq in QRA64 mode; updates to User Guide.
------------------------------------------------------------------------
r7992 | bsomervi | 2017-08-03 12:23:07 +0100 (Thu, 03 Aug 2017) | 7 lines
Fix an issue with VFO tuning while running Doppler correction
Holding down the SHIFT key while tuning the rig should update the
nominal sked frequency, not holding done the SHIFT key should not
update the sked frequency. This is not yet perfect and sometimes a
change to the nominal sked frequency can get through but it is a rare
as yet unfound race condition.
------------------------------------------------------------------------
r7993 | k9an | 2017-08-03 15:46:21 +0100 (Thu, 03 Aug 2017) | 1 line
1. Use norder=3 for nagain, 2. Renumber aptypes.
------------------------------------------------------------------------
r7994 | k1jt | 2017-08-03 15:48:59 +0100 (Thu, 03 Aug 2017) | 2 lines
Remove the "Weak" checkbox from GUI, it's not implemented.
------------------------------------------------------------------------
r7995 | k1jt | 2017-08-03 16:12:30 +0100 (Thu, 03 Aug 2017) | 2 lines
More updates to the WSJT-X User Guide.
------------------------------------------------------------------------
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@7996 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-08-03 16:42:10 +00:00
|
|
|
, QString const& mode, QString const& message_text, bool low_confidence)
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-06-18 22:01:40 +00:00
|
|
|
if (m_->server_port_ && !m_->server_string_.isEmpty ())
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::Decode, m_->id_, m_->schema_};
|
Merged from trunk:
------------------------------------------------------------------------
r7861 | k9an | 2017-07-12 22:49:39 +0100 (Wed, 12 Jul 2017) | 1 line
Use quarter-symbol steps for time sync. Lower sync threshold. Implement subtraction and two pass decoding. Use osd2 only near nfqso.
------------------------------------------------------------------------
r7862 | k9an | 2017-07-13 01:28:57 +0100 (Thu, 13 Jul 2017) | 1 line
Fix NHSYM.
------------------------------------------------------------------------
r7863 | k9an | 2017-07-13 01:31:52 +0100 (Thu, 13 Jul 2017) | 1 line
Fix a comment. No code changes.
------------------------------------------------------------------------
r7864 | k9an | 2017-07-13 01:43:56 +0100 (Thu, 13 Jul 2017) | 1 line
Fix another bounds error.
------------------------------------------------------------------------
r7879 | k1jt | 2017-07-14 17:02:01 +0100 (Fri, 14 Jul 2017) | 1 line
Code cleanup and test ofFT8 decodes with erasures. Do not use on the air.
------------------------------------------------------------------------
r7881 | k1jt | 2017-07-14 19:19:48 +0100 (Fri, 14 Jul 2017) | 1 line
Fix nutc in jt9; alternative sync value for late-start FT8 signals.
------------------------------------------------------------------------
r7882 | k9an | 2017-07-14 20:22:53 +0100 (Fri, 14 Jul 2017) | 1 line
Move ft8apset to a separate file.
------------------------------------------------------------------------
r7884 | k9an | 2017-07-14 20:35:22 +0100 (Fri, 14 Jul 2017) | 1 line
Add ft8apset.f90.
------------------------------------------------------------------------
r7885 | k9an | 2017-07-14 20:46:04 +0100 (Fri, 14 Jul 2017) | 1 line
Update call to ft8b.
------------------------------------------------------------------------
r7886 | k9an | 2017-07-14 21:12:29 +0100 (Fri, 14 Jul 2017) | 1 line
More work on ap.
------------------------------------------------------------------------
r7887 | k9an | 2017-07-14 23:09:50 +0100 (Fri, 14 Jul 2017) | 1 line
More work on AP. Deep decode is unstable - not for use on the air.
------------------------------------------------------------------------
r7890 | k9an | 2017-07-15 01:33:25 +0100 (Sat, 15 Jul 2017) | 1 line
Turn off ap.
------------------------------------------------------------------------
r7891 | k9an | 2017-07-15 02:49:44 +0100 (Sat, 15 Jul 2017) | 1 line
Add some more items to the lun 81 diagnostics.
------------------------------------------------------------------------
r7892 | k9an | 2017-07-15 15:21:18 +0100 (Sat, 15 Jul 2017) | 1 line
Properly calculate metrics for non-ap bits that reside in symbols that contain ap bits.
------------------------------------------------------------------------
r7893 | k9an | 2017-07-15 16:43:41 +0100 (Sat, 15 Jul 2017) | 1 line
Use overlap and add to apply reference filter/amplitude equalization.
------------------------------------------------------------------------
r7894 | k9an | 2017-07-15 16:46:46 +0100 (Sat, 15 Jul 2017) | 1 line
Improve a comment.
------------------------------------------------------------------------
r7895 | k9an | 2017-07-16 01:10:37 +0100 (Sun, 16 Jul 2017) | 1 line
Make refspec filter causal for overlap and add.
------------------------------------------------------------------------
r7911 | k9an | 2017-07-16 16:56:06 +0100 (Sun, 16 Jul 2017) | 1 line
More work on Deep decoding.
------------------------------------------------------------------------
r7917 | k9an | 2017-07-16 18:08:09 +0100 (Sun, 16 Jul 2017) | 1 line
Properly round the printed snr.
------------------------------------------------------------------------
r7925 | k9an | 2017-07-18 02:12:11 +0100 (Tue, 18 Jul 2017) | 1 line
Work on ap decoding. Diagnostic write enabled.
------------------------------------------------------------------------
r7926 | k9an | 2017-07-18 16:22:20 +0100 (Tue, 18 Jul 2017) | 1 line
Fix a bug in AP decoding when iaptype=2. Decrease time-sync search range to +/- 1.5s. Fix a big with erasure decoding.
------------------------------------------------------------------------
r7927 | k1jt | 2017-07-20 00:23:20 +0100 (Thu, 20 Jul 2017) | 1 line
Remove slider next to audio level meter.
------------------------------------------------------------------------
r7928 | k1jt | 2017-07-20 16:15:00 +0100 (Thu, 20 Jul 2017) | 6 lines
1. Alt+F8 arms "Call 1st" as if a CQ had been sent.
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
"data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.
------------------------------------------------------------------------
r7929 | k1jt | 2017-07-20 20:23:17 +0100 (Thu, 20 Jul 2017) | 1 line
Fix wording in list of keyboard shortcuts.
------------------------------------------------------------------------
r7930 | k1jt | 2017-07-20 20:25:08 +0100 (Thu, 20 Jul 2017) | 2 lines
Comment out diagnostic write.
------------------------------------------------------------------------
r7931 | k9an | 2017-07-20 22:08:36 +0100 (Thu, 20 Jul 2017) | 1 line
Only print dupes if SNR is higher than what has already been printed.
------------------------------------------------------------------------
r7932 | k9an | 2017-07-21 23:02:06 +0100 (Fri, 21 Jul 2017) | 1 line
Add to the list of allowed keywords in jtmsg.f90.
------------------------------------------------------------------------
r7933 | k9an | 2017-07-22 04:01:09 +0100 (Sat, 22 Jul 2017) | 1 line
Add variables lapon and napwid to control ap decoding. Reconfigure the logic for AP decoding and ordered-statistics decoding.
------------------------------------------------------------------------
r7934 | k9an | 2017-07-22 14:21:03 +0100 (Sat, 22 Jul 2017) | 1 line
Prevent a certain type of non-standard message from being flagged as a false decode.
------------------------------------------------------------------------
r7935 | k9an | 2017-07-22 18:12:48 +0100 (Sat, 22 Jul 2017) | 1 line
More informative end-of-line annotation for AP decodes.
------------------------------------------------------------------------
r7936 | k9an | 2017-07-24 15:23:22 +0100 (Mon, 24 Jul 2017) | 1 line
Bring msk144d2 more up to date. Runs now, but still needs more work.
------------------------------------------------------------------------
r7937 | k1jt | 2017-07-24 15:48:16 +0100 (Mon, 24 Jul 2017) | 2 lines
Correct the spacing between marked lowest and highest FT8 tones for RxFreq (green) and TxFreq (red).
------------------------------------------------------------------------
r7938 | bsomervi | 2017-07-24 20:27:14 +0100 (Mon, 24 Jul 2017) | 4 lines
Add double clickable push button and radio button widgets
These emit doubleClicked signal when double-clicked, otherwise they
are identical to their super-classes.
------------------------------------------------------------------------
r7939 | bsomervi | 2017-07-24 20:27:23 +0100 (Mon, 24 Jul 2017) | 42 lines
Add the option to ALT+click a decoded CQ or QRZ message which only
moves the Rx frequency to theirs, this facilitates calling a station
who is busy and may have many callers on their frequency. Updated the
corresponding mouse shortcuts help text.
Allow for times with seconds when parsing fast mode and FT8 decodes.
Exclude the RR73 grid square from and grid validation or matching, it
is not a grid square any more as far as WSJT-X is concerned, it is an
RRR substitute.
Add a simple state machine for QSO progress such that replies and
auto-sequencing can be better controlled.
Get compound callsign edge cases working again and allow QSOs from and
to compound callsign holders working in as many situations as possible
including auto-sequencing and FT8 auto-reply mode. This does mean
that a "DE W6/K1ABC DM93" type message close to a callers Tx or Rx
frequency will be taken as a reply to a CQ call despite it not being
explicitly addressed back to the CQ caller. Compound callsigns should
work in MSK144 contest mode also as well as in short code modes with
some minor restrictions (short codes will not be used where
configuration demands that a message be used to send a full compound
callsign).
Auto sequencing has been made generic such that it can be used for
more than one mode if desired.
Allow the use of free text messages to sign off in auto sequenced QSOs
without the message being overwritten by the sequencer. Double click
actions have been added to the Tx5 radio and push buttons to revert
back to the default standard 73 message.
Make DisplayText class interface more idiomatic C++ and simplify a
bit.
Fixed some displayed widget arrangements for different modes and
sub-modes so that they are consistent when starting up and when
switching mode or sub-mode.
This is a big change which has been extensively tested but no doubt
there will also be some new defects introduced.
------------------------------------------------------------------------
r7940 | bsomervi | 2017-07-25 17:51:19 +0100 (Tue, 25 Jul 2017) | 1 line
Fix issue with Tx5 not being generated with a new DX Call
------------------------------------------------------------------------
r7941 | bsomervi | 2017-07-25 17:51:27 +0100 (Tue, 25 Jul 2017) | 1 line
Fix country name display that broke in r7939
------------------------------------------------------------------------
r7942 | bsomervi | 2017-07-25 17:51:34 +0100 (Tue, 25 Jul 2017) | 1 line
Ensure JT9 lowest decode frequency spin box is disabled when not available
------------------------------------------------------------------------
r7943 | bsomervi | 2017-07-25 17:51:42 +0100 (Tue, 25 Jul 2017) | 4 lines
Pick up tail-enders when completing a call 1st QSO after re-enabling auto Tx
Allow any message to start a QSO so long as we are not in an
auto-reply QSO.
------------------------------------------------------------------------
r7944 | bsomervi | 2017-07-25 17:51:49 +0100 (Tue, 25 Jul 2017) | 1 line
Exclude all decode quality markers from internal decode parsing and matching
------------------------------------------------------------------------
r7945 | k9an | 2017-07-25 20:06:05 +0100 (Tue, 25 Jul 2017) | 1 line
Move '?' quality warning to message(22:22).
------------------------------------------------------------------------
r7946 | k9an | 2017-07-25 21:55:13 +0100 (Tue, 25 Jul 2017) | 1 line
Reject candiates with fewer than 7 correct hard-decoded sync symbols.
------------------------------------------------------------------------
r7947 | bsomervi | 2017-07-26 02:38:37 +0100 (Wed, 26 Jul 2017) | 1 line
Force Settings tab to Radio tab when navigating there from a rig error message
------------------------------------------------------------------------
r7948 | bsomervi | 2017-07-26 02:38:44 +0100 (Wed, 26 Jul 2017) | 1 line
Correct the highlighting of the Call 1st check box label
------------------------------------------------------------------------
r7949 | bsomervi | 2017-07-26 02:38:57 +0100 (Wed, 26 Jul 2017) | 5 lines
Option to skip using grid reply message
Enable and disable by double-clicking the Tx1 button or the adjacent
radio button. Tx1 message shows grayed out when the Tx1 message is
elided.
------------------------------------------------------------------------
r7950 | bsomervi | 2017-07-26 02:39:04 +0100 (Wed, 26 Jul 2017) | 6 lines
Option to use RR73 grid message as RRR message substitutes
Enable or disable by double-clicking the Tx4 button or the adjacent
radio button. Is auto disabled by a band change as it is expected that
the user reassess the conditions to see if message repetitions are
unlikely to be needed.
------------------------------------------------------------------------
r7951 | bsomervi | 2017-07-26 02:39:11 +0100 (Wed, 26 Jul 2017) | 1 line
Fix highlighting of the call first check box label
------------------------------------------------------------------------
r7952 | bsomervi | 2017-07-26 02:39:23 +0100 (Wed, 26 Jul 2017) | 1 line
Better behavior and tool tips for Txn buttons and radio buttons
------------------------------------------------------------------------
r7953 | bsomervi | 2017-07-26 02:39:30 +0100 (Wed, 26 Jul 2017) | 1 line
Auto Tx stop when calling a CQer who answers another station on your Tx frequency
------------------------------------------------------------------------
r7954 | bsomervi | 2017-07-26 11:56:12 +0100 (Wed, 26 Jul 2017) | 1 line
Add menu option to turn on AP decoding in FT8 mode
------------------------------------------------------------------------
r7955 | k9an | 2017-07-26 14:05:34 +0100 (Wed, 26 Jul 2017) | 1 line
Enable AP for any decoding level.
------------------------------------------------------------------------
r7956 | k1jt | 2017-07-26 14:44:31 +0100 (Wed, 26 Jul 2017) | 1 line
Remove obsolete test program.
------------------------------------------------------------------------
r7957 | bsomervi | 2017-07-26 22:18:59 +0100 (Wed, 26 Jul 2017) | 11 lines
Use the low confidence decode quality marker to elide spots and pass info via UDP
The UDP decode and reply message have been augmented with a boolean
flag denoting a low confidence decode when set. Existing clients can
safely use the reply message without passing the flag as the default
value will still action messages that have high confidence. If low
confidence decodes are to be passed back via the reply message then
the low confidence flag must be included and correctly set to match
the original decode.
See NetworkMessage.hpp for message fields and meanings.
------------------------------------------------------------------------
r7958 | bsomervi | 2017-07-26 22:19:21 +0100 (Wed, 26 Jul 2017) | 3 lines
Add QSO state machine state and tx audio offset to parameters passed to slow decoders
Required to pick best AP masks in FT8 decoder
------------------------------------------------------------------------
r7959 | bsomervi | 2017-07-26 23:03:02 +0100 (Wed, 26 Jul 2017) | 1 line
Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match
------------------------------------------------------------------------
r7960 | k9an | 2017-07-27 16:35:40 +0100 (Thu, 27 Jul 2017) | 1 line
nQSOProgress now controls AP decoding. Needs testing - may not be stable with AP enabled.
------------------------------------------------------------------------
r7961 | k9an | 2017-07-27 19:07:54 +0100 (Thu, 27 Jul 2017) | 1 line
Correct some logic so that AP is only on when selected and so that AP decodes of type 4 or greater are limited to the vicinity of nfqso or nftx.
------------------------------------------------------------------------
r7962 | k1jt | 2017-07-27 19:57:53 +0100 (Thu, 27 Jul 2017) | 2 lines
Remove unused arguments from the call to fix_contest_msg().
------------------------------------------------------------------------
r7963 | k1jt | 2017-07-27 21:17:30 +0100 (Thu, 27 Jul 2017) | 1 line
Working on some features for NA VHF contests. Not finished!
------------------------------------------------------------------------
r7964 | bsomervi | 2017-07-28 01:00:42 +0100 (Fri, 28 Jul 2017) | 1 line
Fix syntax error in statement function definition
------------------------------------------------------------------------
r7965 | bsomervi | 2017-07-28 02:20:22 +0100 (Fri, 28 Jul 2017) | 6 lines
Revert "Extend grids looked up from CALL3.TXT from 4 to 6-digits if first 4 match"
Bad idea, need to find a better way to extend grids to 6-digits from
CALL3.TXT.
This reverts commit r7959
------------------------------------------------------------------------
r7968 | k9an | 2017-07-28 16:35:17 +0100 (Fri, 28 Jul 2017) | 1 line
Comment out diagnostic write to lun 81.
------------------------------------------------------------------------
r7969 | k1jt | 2017-07-28 16:50:13 +0100 (Fri, 28 Jul 2017) | 2 lines
Make 72-bit "contest mode" available in FT8 as well as MSK144.
------------------------------------------------------------------------
r7970 | bsomervi | 2017-07-29 00:25:32 +0100 (Sat, 29 Jul 2017) | 7 lines
Change tolerances for auto stop and auto-sequence of some messages
FT8 auto-stop will only react to messages within +/- 50Hz of our Tx
frequency.
Auto-sequence on "DE ..." and free text 73 messages will respond if
they are within 25Hz of our Tx or Rx frequency.
------------------------------------------------------------------------
r7971 | bsomervi | 2017-07-31 02:28:25 +0100 (Mon, 31 Jul 2017) | 1 line
Add extra hidden string length argument to genft8 interface
------------------------------------------------------------------------
r7972 | bsomervi | 2017-07-31 02:28:33 +0100 (Mon, 31 Jul 2017) | 5 lines
Fix FT8 call first behaviour with "Lock Tx=Rx"
Call first combined with "Lock Tx=Rx" (why would anyone consider doing
that!) should continue on the Tx frequency of the station being
worked and not be switched another calling station's frequency.
------------------------------------------------------------------------
r7973 | k1jt | 2017-08-01 19:01:27 +0100 (Tue, 01 Aug 2017) | 1 line
Utility for generating figure for QST/RadCom article.
------------------------------------------------------------------------
r7974 | k1jt | 2017-08-01 19:16:01 +0100 (Tue, 01 Aug 2017) | 2 lines
Tidy up some details for 72-bit contest mode in FT8.
------------------------------------------------------------------------
r7975 | k1jt | 2017-08-01 19:46:12 +0100 (Tue, 01 Aug 2017) | 2 lines
Don't highlight FT8 contest-mode Tx3 message as a free-text message.
------------------------------------------------------------------------
r7976 | k1jt | 2017-08-01 20:32:54 +0100 (Tue, 01 Aug 2017) | 2 lines
Fix the "F4" shortcut description; add usage advuice to "Lock Tx=Rx" tool tip.
------------------------------------------------------------------------
r7980 | k1jt | 2017-08-02 15:05:37 +0100 (Wed, 02 Aug 2017) | 2 lines
Enable "nagain" for FT8, as in other modes.
------------------------------------------------------------------------
r7987 | k1jt | 2017-08-02 20:23:42 +0100 (Wed, 02 Aug 2017) | 2 lines
Updates to the WSJT-X User Guide for Version 1.8.
------------------------------------------------------------------------
r7988 | k1jt | 2017-08-02 20:27:43 +0100 (Wed, 02 Aug 2017) | 2 lines
Add several new screen shots.
------------------------------------------------------------------------
r7989 | k1jt | 2017-08-02 21:43:06 +0100 (Wed, 02 Aug 2017) | 2 lines
Allow auto-seq in QRA64 mode; updates to User Guide.
------------------------------------------------------------------------
r7992 | bsomervi | 2017-08-03 12:23:07 +0100 (Thu, 03 Aug 2017) | 7 lines
Fix an issue with VFO tuning while running Doppler correction
Holding down the SHIFT key while tuning the rig should update the
nominal sked frequency, not holding done the SHIFT key should not
update the sked frequency. This is not yet perfect and sometimes a
change to the nominal sked frequency can get through but it is a rare
as yet unfound race condition.
------------------------------------------------------------------------
r7993 | k9an | 2017-08-03 15:46:21 +0100 (Thu, 03 Aug 2017) | 1 line
1. Use norder=3 for nagain, 2. Renumber aptypes.
------------------------------------------------------------------------
r7994 | k1jt | 2017-08-03 15:48:59 +0100 (Thu, 03 Aug 2017) | 2 lines
Remove the "Weak" checkbox from GUI, it's not implemented.
------------------------------------------------------------------------
r7995 | k1jt | 2017-08-03 16:12:30 +0100 (Thu, 03 Aug 2017) | 2 lines
More updates to the WSJT-X User Guide.
------------------------------------------------------------------------
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@7996 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-08-03 16:42:10 +00:00
|
|
|
out << is_new << time << snr << delta_time << delta_frequency << mode.toUtf8 ()
|
|
|
|
<< message_text.toUtf8 () << low_confidence;
|
2015-11-13 15:44:11 +00:00
|
|
|
m_->send_message (out, message);
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-11-15 23:03:11 +00:00
|
|
|
void MessageClient::WSPR_decode (bool is_new, QTime time, qint32 snr, float delta_time, Frequency frequency
|
|
|
|
, qint32 drift, QString const& callsign, QString const& grid, qint32 power)
|
|
|
|
{
|
|
|
|
if (m_->server_port_ && !m_->server_string_.isEmpty ())
|
|
|
|
{
|
|
|
|
QByteArray message;
|
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::WSPRDecode, m_->id_, m_->schema_};
|
|
|
|
out << is_new << time << snr << delta_time << frequency << drift << callsign.toUtf8 ()
|
|
|
|
<< grid.toUtf8 () << power;
|
|
|
|
m_->send_message (out, message);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-04-15 16:40:49 +00:00
|
|
|
void MessageClient::clear_decodes ()
|
|
|
|
{
|
2015-06-18 22:01:40 +00:00
|
|
|
if (m_->server_port_ && !m_->server_string_.isEmpty ())
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::Clear, m_->id_, m_->schema_};
|
2015-11-13 15:44:11 +00:00
|
|
|
m_->send_message (out, message);
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-12-30 15:45:31 +00:00
|
|
|
void MessageClient::qso_logged (QDateTime timeOff, QString const& dx_call, QString const& dx_grid
|
2015-04-15 16:40:49 +00:00
|
|
|
, Frequency dial_frequency, QString const& mode, QString const& report_sent
|
|
|
|
, QString const& report_received, QString const& tx_power
|
2016-12-30 15:45:31 +00:00
|
|
|
, QString const& comments, QString const& name, QDateTime timeOn)
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
2015-06-18 22:01:40 +00:00
|
|
|
if (m_->server_port_ && !m_->server_string_.isEmpty ())
|
2015-04-15 16:40:49 +00:00
|
|
|
{
|
|
|
|
QByteArray message;
|
2015-10-21 18:56:29 +00:00
|
|
|
NetworkMessage::Builder out {&message, NetworkMessage::QSOLogged, m_->id_, m_->schema_};
|
2016-12-30 15:45:31 +00:00
|
|
|
out << timeOff << dx_call.toUtf8 () << dx_grid.toUtf8 () << dial_frequency << mode.toUtf8 ()
|
|
|
|
<< report_sent.toUtf8 () << report_received.toUtf8 () << tx_power.toUtf8 () << comments.toUtf8 () << name.toUtf8 () << timeOn;
|
2015-11-13 15:44:11 +00:00
|
|
|
m_->send_message (out, message);
|
2015-04-15 16:40:49 +00:00
|
|
|
}
|
|
|
|
}
|