Commit Graph

46 Commits

Author SHA1 Message Date
Bill Somerville fdd69583ab
Use C++ classic locale for uses outside of Qt 2021-03-28 23:29:57 +01:00
Bill Somerville dd631699da
Add the Tx message to the UDP Status(1) message
Thanks to Morgan (sri no other attribution given) for the initial
contribution this change is based on.
2020-12-21 01:31:57 +00:00
Bill Somerville d186f7b14e
Repair regression in message_aggregator decode filtering by client 2020-11-30 02:13:16 +00:00
Bill Somerville 742c180967
Allow message_aggregator example to not join on he loopback interface 2020-11-10 20:12:38 +00:00
Bill Somerville bdaf51a074
Comment out diagnostic prints 2020-11-10 20:12:37 +00:00
Bill Somerville 780b1f74ee
Message Client allows sending multicast UDP on multiple interfaces 2020-11-10 20:12:37 +00:00
Bill Somerville f4db2904a3
Correct Qt version checks 2020-11-10 20:12:36 +00:00
Bill Somerville 50cce43e92
Pre Qt 5.14 compatibility 2020-11-10 20:12:36 +00:00
Bill Somerville ced3b523ea
Add network interface selection combo box widget to message_aggregator 2020-11-10 20:12:35 +00:00
Bill Somerville f9aa10f3a5
UDPDaemon command line flag to list network interfaces 2020-11-10 20:12:34 +00:00
Bill Somerville 7b54428a60
Extend UDP MessageServer client mapping key with the host address
The UDP Example reference applications  now work correctly with WSJT-X
instances with duplicate --rig-name= command line arguments so long as
duplicate instances are run on unique hosts.
2020-11-10 20:12:33 +00:00
Bill Somerville 662ed0fa7a
Network interface selection for outgoing UDP multicast datagrams
Default  selection  is  the  loop-back interface.  Users  who  require
interoperation  between  WSJT-X   instances  cooperating  applications
running on different hosts should  select a suitable network interface
and  carefully choose  a multicast  group address,  and TTL,  that has
minimal scope covering the necessary  network(s). Using 224.0.0.1 is a
reasonable    strategy    if   all    hosts    are    on   the    same
subnet. Administratively  scoped multicast group addresses  like those
within 239.255.0.0/16  can cover larger  boundaries, but care  must be
taken if the local subnet has access to a multicast enabled router.

The  IPv4  broadcast  address  (255.255.255.255) may  be  used  as  an
alternative  to multicast  UDP, but  note that  WSJT-X will  only send
broadcast UDP datagrams  on the loop-back interface,  so all recipient
applications must be running on the same host system.

The reference UDP Message protocol  applications are being extended to
be configurable  with a list of  interfaces to join a  multicast group
address on. By default they will only join on the loop-back interface,
which is also  recommended for any applications designed  to take part
in the WSJT-X  UDP Message Protocol. This allows full  user control of
the  scope of  multicast  group membership  with  a very  conservative
default  mode  that will  work  with  all interoperating  applications
running on the same host system.
2020-11-10 20:12:33 +00:00
Bill Somerville 518207da3b
Various updates to UDP Message Protocol handling for FST4W
Corresponding updates to the message_aggregator reference application.
2020-10-13 16:46:38 +01:00
Bill Somerville 1995d762bb
Add Version Info resources to Windows executables where needed.
Version information  and more  in the  Windows resources  for main
    applications, installer and un-installer.

    Update  CMake   policies  for  new  project()   command,  and  DEB
    dependency changes

    Support  older  libgfortran  packages,  and  other  Linux  package
    dependencies.

    Use new project description file in Debian packaging.

    Linux packaging dependency adjustments  for Debian style packages,
    including  a machine  readable  Debian  copyright format,  project
    description in separate file for  CPack compatibility, and use for
    DEB packaging.

    Configure check for need to link libm Standard C Math Library.

    CMake compatibility for <3.17.
2020-10-10 13:58:53 +01:00
phl0 2a31d12d39
Adapt brach to changes proposed by G4WJS 2020-06-26 23:46:08 +01:00
Bill Somerville 9c22b5c3ed
Qt v5.15 compatibility 2020-06-13 16:04:41 +01:00
Bill Somerville c30c3ce4c8
Update message aggregator in line with special operation mode values 2020-06-04 03:39:49 +01:00
sirhc808 dd53e8d348 incorporate code review feedback 2019-07-02 13:00:32 -05:00
sirhc808 27d4471cde Merge branch 'ft9_refactor' into feat-refactor
# Conflicts:
#	CMakeLists.txt
#	lib/ft4/getcandidates4.f90
#	lib/ft4/sync4d.f90
2019-07-02 12:06:14 -05:00
sirhc808 ee5d5c8ae9 improve physical structure 2019-07-02 10:19:43 -05:00
sirhc808 84fd0ed7c7 clean up a few warnings 2019-07-01 21:10:43 -05:00
Bill Somerville c65d832356
New UDP messages to close and reconfigure WSJT-X plus more status fields
The Status(1) message acquires the new fields Frequency Tolerance, T/R
Period,  and  Configuration Name.  The  Rx  DF,  Tx DF  fields  become
unsigned (this should be a benign change which is just for correctness
as -ve values have never been possible).

The   Close(6)  message   becomes  bi-directional   allowing  external
applications to gracefully close down WSJT-X instances.

A  new  message SwitchConfiguration(14)  is  provided  that allows  an
external application to  switch the current configuration  of a WSJT-X
instance.

Another  new  message  Configure(15)  is provided  to  allow  external
applications to adjust some key parameters like the mode and submode.

See the  NetworkMessages.hpp header  commentary for full  details. The
UDPExamples/MessageAggregator reference  application has  been updated
to be able to exercise all of the above changes.

Note   that   this   commit   enforces  stricter   checking   on   the
"Settings->Reporting->Allow  UDP  requests"   option,  which  must  be
checked  before  any state  changing  incoming  messages to  a  WSJT-X
instance are processed.
2019-06-25 14:35:58 +01:00
Bill Somerville 3f5a996842
New UDP message SwitchConfiguration(14) to switch to an existing configuration
The Status(1) message also acquires  the current configuration name as
a new  field. See  NetworkMessage.hpp for  details. The  UDP reference
example program message_aggregator acquires the ability to display and
change  the configuration  of a  WSJT-X client  to exercise  these new
features.
2019-06-13 01:44:28 +01:00
Bill Somerville 4dfc4685e9 Make the UDP protocol Clear (3) message two-way
External servers can clear either or  both of the Band Activity and Rx
Frequency decodes windows. This was  requested by Dave, AA6YQ, so that
DX Lab  Suite applications can  clear old  decodes on band  changes to
ensure that decode highlighing is consistent.
2019-02-03 00:49:35 +00:00
Bill Somerville d241217737 Add QDarkStyleSheet to Message Aggregator reference application 2018-12-17 01:48:45 +00:00
Bill Somerville 025a0161f8 Add special operation mode enumeration to UDP status message
Also  updated  the  message_aggregator UDP  reference  application  to
exercise this field.
2018-12-02 23:19:08 +00:00
Bill Somerville 59fc83455d Add contest exchange send and received fields to UDP logged QSO message
Updated  message_aggregator and  udp_daemon reference  applications to
exercise this change.
2018-12-02 10:09:37 -05:00
Bill Somerville 947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00
Bill Somerville dfe037423f New incoming UDP message to allow external applications to highlight decoded callsigns
UDP  servers can  request that  WSJT-X clients  highlight a  specified
callsign  in  the  Band  Activity  decodes  window.  Either  the  last
occurrence of the  callsign may be highlighted or all  past and future
occurrences can be  highlighted. The latter case  WSJT-X will remember
the  callsign  and  requested  highlighting  options  so  that  future
occurrences can be correctly highlighted.

Either or  both of the text  background color and the  text foreground
color may  be specified. A further  UDP message may be  sent to change
the  persistent color  highlighting  for a  given callsign,  including
reseting persistent highlighting by passing an invalid color value.

Thanks to Alex, VE3NEA, for this contribution.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8589 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-03-28 22:25:46 +00:00
Bill Somerville 3c384f7cbb Add UDP message to set temporary Maidenhead locator
When "Auto  Grid" is  checked in  "Settings->General" UDP  messages of
type "Location" will update a temporary  DE grid square. The intent is
to  allow  an external  application  joining  the WSJT-X  UDP  message
protocol to dynamically update the DE grid during mobile operation.

This change also tidies up  some outstanding issues around logging the
operator call.

This change  adds a new UDP  message "Logged ADIF" that  is emitted in
parallel with  "QSO Logged"  messages. The new  message is  valid ADIF
file format  and contains the  logged QSO  fields. The intent  is that
basic  UDP server  applications  might already  have  ADIF log  record
capture capabilities and could use  this message to feed existing ADIF
parsing routines to log QSOs. All that should be needed is to identify
this message type and the single field is ADIF compatible ASCII.

Thanks  to  Brian,   N9ADG,  for  the  patches  that   lead  to  these
enhancements.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8454 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-04 22:42:35 +00:00
Joe Taylor 5b4f4670d6 Include OPERATOR field in wsjtx_log.adi; emit OPERATOR field in the
logged_qso message; show the emitted logged_qso message (including
the operator field) in udp_daemon example code.  Thanks to N9ADG for this code!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8432 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-01-25 21:57:21 +00:00
Bill Somerville 5d442bb596 Improve performance of the UDP reference application message_aggregator
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8107 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-22 22:08:41 +00:00
Bill Somerville 567af321c0 Extend UDP Reply message with keyboard modifiers
This allows UDP servers to  emulate keyboard modified double-clicks on
decoded messages,  E.g. ALT+double-click for  replying to a CQ  or QRZ
call without changing ones Tx frequency offset.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8103 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-22 15:36:24 +00:00
Bill Somerville 78c257b4f0 Restore functionality of sending .WAV playback decodes to UDP
Extended  the Decode  and WSPRDecode  UDP messages  with an  "off air"
boolean  field indicating  the  decode  was derived  from  a .WAV  fle
playback rather than an on air reception.

Extended reference applications to use  the new off air decode message
field.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8092 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-16 22:20:59 +00:00
Bill Somerville ee2badb86f 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.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7957 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-26 21:18:59 +00:00
Bill Somerville 68bb3982cc Show seconds in message_aggregator log entries
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7825 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-09 20:45:38 +00:00
Bill Somerville 0692702eef Fix up time display in message aggregator for FT8 decodes
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7811 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-07 23:11:49 +00:00
Bill Somerville 423b3b7361 Fix Log QSO so new data entries on form are actually used for the UDP message.
Fix tab order on Log  QSO window. Amend message_aggregator QSOs logged
window to show both time on and time off.

Thanks to Mike W9MDB for this patch.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7532 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-18 17:24:08 +00:00
Bill Somerville 336eb0c858 Add fast mode support to UDP messages and update example apllications
Sub mode and  fast mode flag are  added to the UDP  Status message and
Status messages  after appropriate UI changes.  MSK144 decodes produce
UDP Decode messages. Fast JT9 messages are treated similarly.

Currently ISCAT decodes are not posted  as UDP Decode messages as they
do not fit well with the model.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7389 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-16 19:36:21 +00:00
Bill Somerville 2255b17e91 Add version and revision information to UDP heartbeat messages
Updated  UDP examples  to show  the version  and revision  information
received from clients.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7358 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-04 00:55:15 +00:00
Bill Somerville c586204d75 Add proper Qt validation for callsigns and grids
Two      new     validator      classes     CallsignValidator      and
MaidenheadLocatorValidator   are   introduced    and   used   in   the
Configuration and MainWindow implementations.

MaidenheadLocatorValidator  supports  different  lengths  and  minimum
required  lengths  with  a  default of  subsquare  with  square  being
required.

The  message_aggregator  application has  been  enhanced  to show  the
current DX call and DX grid as shown in the WSJT-X main window.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6903 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-10 22:20:30 +00:00
Bill Somerville 73ac2ebc39 Add Tx watchdog status to UDP Status message
Thanks to Mike W9MDB for contributing this patch.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6892 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-08 10:25:21 +00:00
Bill Somerville 3f1ea9d10c Make message boxes more platform independent with a wrapper
Instead  of  using the  Qt  QMessageBox  class  directly a  new  class
MessageBox  (MessageBox.hpp)  has been  added  to  deal with  platform
independence issues like the title not being shown on Mac OS X.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6861 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-03 20:31:19 +00:00
Bill Somerville 9734a70242 Added some diagnostic output to the udp_daemon reference example
The diagnostic  output prints all the  fields in the spot  messages to
verify their contents.

Improved usage help of command line arguments.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6777 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-16 12:01:32 +00:00
Bill Somerville 66c390de79 More consistent highlighting and processing of general call messages
Highlight,  in the  CQ  colour, CQDX  ... and  QRZ  ...  messages  and
process correctly for worked before and DXCC entity.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6753 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-09 23:39:48 +00:00
Bill Somerville 3ec6d211c8 Extend UDP status message - added Rx/Tx DF, call and grid information
Build now creates and installs a  UDP library that contains the server
side  of the  UDP messaging  facility.  This  library is  used by  the
udp_daemon and message_aggregator reference  examples. The new library
is  currently a  static archive  but  can also  be built  as a  shared
library.  The library  allows third  party Qt  applications to  easily
access UDP messages from WSJT-X.

Refactored  the  message_aggregator  reference example  to  split  out
classes into  separate translation  units. Added new  functionality to
exercise  the  new  UDP  status fields,  highlight  own  call,  CQ/QRZ
messages and decodes near Rx DF.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6691 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 10:08:35 +00:00