Difference between revisions of "Additional Information"

From DXLog.net
Jump to navigation Jump to search
(UDP Broadcast)
(Simple DXLogStream utility)
(4 intermediate revisions by the same user not shown)
Line 109: Line 109:
  
 
==Enabling the built-in MP3 encoder in Windows==
 
==Enabling the built-in MP3 encoder in Windows==
 +
 +
'''NB. The use of Window's built-in MP3 encoder is currently not supported by DXLog.net'''
  
 
For contest recording the PC needs to have a working MP3 encoder installed. Windows does not come with such an encoder enabled.
 
For contest recording the PC needs to have a working MP3 encoder installed. Windows does not come with such an encoder enabled.
  
 
There are several third party MP3 encoders available, such as LAME http://lame.sourceforge.net/download.php.
 
There are several third party MP3 encoders available, such as LAME http://lame.sourceforge.net/download.php.
 +
A working copy is also available for download here: http://dxlog.net/sw/files/utilities/libmp3lame-3.99.5x86.zip
  
However, you do not necessarily need to install an encoder, it is possible to enable the Fraunhofer IIS MPEG Layer-3 Codec "hidden" inside Windows.  
+
Windows also contains a disabled, hidden MP3 encoder; the Fraunhofer IIS MPEG Layer-3 Codec.  
  
This is described here: http://www.komeil.com/blog/enable-fraunhofer-mp3-l3codecp-acm-windows
+
A method to enable it is described here: http://www.komeil.com/blog/enable-fraunhofer-mp3-l3codecp-acm-windows
  
 
The required script is available here: http://dxlog.net/sw/files/utilities/chortkeh-fix-mp3-codec.cmd
 
The required script is available here: http://dxlog.net/sw/files/utilities/chortkeh-fix-mp3-codec.cmd
Line 144: Line 147:
 
https://clublog.freshdesk.com/support/solutions/articles/3000092445-using-club-log-live-streams
 
https://clublog.freshdesk.com/support/solutions/articles/3000092445-using-club-log-live-streams
  
 
+
[[File:Dxlogstream.PNG|none|border|400px]]
::[[File:Dxlogstream.PNG|500px]]
 
  
 
===More advanced Club Log gateway===
 
===More advanced Club Log gateway===

Revision as of 11:08, 11 February 2020

Networking over internet

When, for instance, activating a special event callsign it is possible to network multiple DXLog.net stations over the internet.

Please be aware that a geographically distributed station is, with only a few exceptions, against the rules in contests

VLAN

The most secure way to do this is to rely on a VLAN (virtual LAN) software. There are several available such as:

Hamachi https://www.vpn.net/
FreeLan http://www.freelan.org/
Player.me https://player.me/
ZeroTier https://www.zerotier.com/
OpenVPN https://openvpn.net/

Each VLAN solutions have their own particular set up which is covered in their respective documentations.
With a VLAN solution, all DXLog.net configurations are the same as when operating in a regular LAN.

Hamachi is particularly popular since it offers a free option for up to five computers. Thanks to the communications
architecture of DXLog, this translates into five geographical locations. Since DXLog networking is based on both TCP and
UDP, it is sufficient if one operating position per location connects "as client" to the operating position assigned as
server, and the remaining stations connect using UDP.

NB. If you are using software interlock in a large multistation set up where some stations are connected over
internet it is important to configure the interlock to only consider relevant operating positions, which all
should be local. VLAN solutions typically suffer from packet loss which may result in interlock deadlocks where none
of the stations can transmit. Use the possibility to only consider named stations for the interlock in the software
interlock set up. Options|Networking|Software interlock "Custom station ID(s)"

Port forwarding

If you are less worried about competitors or government agencies listening in on your contest data,
it is possible to route the traffic directly over the internet using port forwarding at the server.

Important security notice: This solution is not without risk. It offers no security or authentication.
Any DXLog.net station running the same contest configuration, knowing the URL or IP address and IP port of the
server can connect to the server station. There are no means to disconnect a station by force.

With a port forwarding solution, the following must be observed:

  • Only one of the stations should be configured as the server.
  • "Connect as client" should not be checked and "UDP network broadcast" should only be enabled if it is
used to communicate with another client on the same LAN.
  • The PC acting as server must have a fixed LAN IP address. This is done either by manually configuring the
PC to use a fixed LAN IP address, or by setting up the router in the server's LAN to to always allocate
the same IP address to it.
  • The internet connection used by the server PC must either have a fixed public IP
address or use dynamic DNS. Otherwise clients will not be able to reliable connect over the internet.
  • The server's IP port (default 9888) must be forwarded to the internet by configuring the router
connecting the server to internet. Only TCP traffic should be forwarded. DXLog.net UDP traffic
is broadcast and should only be used locally.


Serverconfig.png
Example configuration for server for networking over internet



Portforwarding.png
Example of port forwarding UI in router



  • All other PC in the multi-station set up should be set up as clients.
  • Over the internet, "Server IP" is either the public IP address of the server's internet
connection (e.g. 5.150.248.52) or the dynamic DNS address (e.g. hq.sm7iun.se). Clients connecting
over the internet does not have to enable UDP networking and should not enable a server.
  • A client may connect via UDP if it is on the same LAN as the server or a "master client".
A "master client" is a client that connects to the server using the "connect as client" option in
the networking set up panel. A "master client" can act as a UDP gateway which means that if
several computers on a LAN are part of the same multi station set up but the server is located
elsewhere, only one computer in that LAN needs to connect as a client and the rest can use UDP.


Clientconfig.png
Example configuration of client for networking over internet



  • In a multi-station setting it is recommended to enable Options|Networking|Don't allow QSO logging if operator isn't logged
  • Make sure Options|Enable network is checked.

COM port keying with Microham

The Microham USB device router is a powerful software. It offers two virtual, CAT-aware, COM ports for one radio.

However, if they are not both set to the speed of the radio or closed, the ports will stop working.

DXLog currently does not allow setting the speed of port used only for keying. And virtual serial port does not have a setting for speed in Windows' device manager.

To make sure a port used for only keying is opened at the right speed do the following:

Open the interface configuration panel.

  • Select the wanted port and check the enable box.
  • Select it as Radio 1 and click Setup.
  • Select a random radio model and set the correct speed.
  • Set the wanted keying (e.g. CW = DTR, PTT = RTS, Foot switch, Active with Radio 1, etc.)
  • Press OK
  • Change from "Radio 1" to "-". Do not click Setup.
  • Press OK

SO2V audio control with Microham MK2R/MK2R+

Since the Microham MK2R/MK2R+ supports selecting/mixing of any input it is possible to create a switching
profile (a.k.a. "Function") for SO2V with DXLog.net's built in audio control.

Microhammk2rplusso2v.png
Example of settings for SO2V audio control

With a profile like this, the audio control shortcuts Ctrl-Alt-A, Ctrl-Alt-T and Ctrl-Alt-S will work and
select either the main receiver in both ears, the sub receiver in both ears or, or one in each ear.

Enabling the built-in MP3 encoder in Windows

NB. The use of Window's built-in MP3 encoder is currently not supported by DXLog.net

For contest recording the PC needs to have a working MP3 encoder installed. Windows does not come with such an encoder enabled.

There are several third party MP3 encoders available, such as LAME http://lame.sourceforge.net/download.php. A working copy is also available for download here: http://dxlog.net/sw/files/utilities/libmp3lame-3.99.5x86.zip

Windows also contains a disabled, hidden MP3 encoder; the Fraunhofer IIS MPEG Layer-3 Codec.

A method to enable it is described here: http://www.komeil.com/blog/enable-fraunhofer-mp3-l3codecp-acm-windows

The required script is available here: http://dxlog.net/sw/files/utilities/chortkeh-fix-mp3-codec.cmd

Real time upload to Club Log Live Stream

Simple DXLogStream utility

DXLogStream is a basic Windows utility (which can run minimized) that uses the radio information broadcast over
UDP from DXLog.net and uploads logged QSO to Club Log for display using its Live Stream feature. Typical use cases
are DXPeditions, IOTA activation, Special event stations, etc.

The utility requires a valid Club Log account with the used station call sign registered.

Networking must be enabled with Options|Enable Network. UDP networking must be enabled and the station ID and
used port must be the same as set in Options|Configure network. Settings are saved by hitting ENTER or clicking
the Save button. If the UDP port is changed, the utility needs to be restarted.

The station callsign entered into the text box is the one used for upload. DXLog.net does not convey this as
part of the logging information via UDP which means that the corresponding setting in DXLog.net's contest
configuration is ignored.

The utility can be downloaded here: http://dxlog.net/sw/#files%2Futilities

Read more about Club Log Live Stream here: https://clublog.freshdesk.com/support/solutions/articles/3000092445-using-club-log-live-streams

Dxlogstream.PNG

More advanced Club Log gateway

Since the release of the utility above, Michael Wall, G7VJR, the founder of Club Log, has developed a much
more powerful agent for real time uploads. It works with all the three major loggers, DXLog.net, N1MM Logger+,
and Win-Test.

It is however less user friendly and more demanding to set up. But for a big scale DXpedition, this is the preferred agent.

You can find more information about it here:
https://clublog.freshdesk.com/support/solutions/articles/3000093504-club-log-gateway-for-real-time-uploads

Streamlining ESM

From release 2.4.0 DXLog has a much more straightforward, consistent, and
streamlined "Enter Sends Message" or "ESM" functionality.

Run

  • With the cursor in an empty callsign field is empty, ENTER sends RUN F1, typically CQ
  • With the cursor in a partially or correctly filled callsign field, ENTER sends the RUN INSERT message
  • With the cursor in the exchange field, ENTER sends the RUN PLUS message which (typically) concludes the QSO and logs.

When the party station has received the exchange correctly, focus is shifted to the exchange
field by pressing SPACE.

For a big gun station, where correct reception of the exchange is (almost) guaranteed, you can
automatically shift focus to the exchange field after having sent the exchange by enabling the
menu option Tools|Data entry|ESM mode change focus on $LOGGEDCALL macro.

S&P

  • With the cursor in the callsign field, ENTER sends S&P F1, typically your own callsign
  • With the cursor in an empty exchange field, ENTER sends S&P F6, which is typically a request to repeat the exchange.
  • With the cursor in a filled exchange, ENTER sends S&P INSERT, which is typically a confirmation and semi-CQ, and logs.

As of version 2.4.9 focus remains in the callsign entry field for all spot grabbing actions.
This removes the need for re-positioning the cursor after spot or callsign grabbing and also
allows for using automatic dupe checking and exchange guessing with ESM.

For a big gun station, where correct reception of the exchange is (almost) guaranteed, you can
automatically shift focus to the exchange field after having called the station by adding the $SPACE
macro to the S&P F1 message.

Diversity reception

Diversity means receiving the same signal through two different receive chains, including antenna.
With two antennas having different characteristics this can give substantial benefits in receiving
fading and/or weak signals or separating calls in a large pile-up. Particularly on low bands.

As of version 2.4.11, DXLog.net supports diversity operation on a selected number of radio models.
There are no GUI controls associated with diversity. DXLog.net automatically detects
diversity operation and enables the necessary mechanics. Diversity operation is indicated by
a small "DIV" icon in the frequency counter box for the radio's band map.

Yaesu FTDX101D

Yaesu calls this feature "Sync" and it has a dedicated button up and left of the main VFO knob.
Enabling this will make DXLog update both VFO with the same information when grabbing spots.
It will also adjust the sub VFO with the correct amount when RIT is applied to the main VFO.
Since both VFO are kept on the same frequency, split operation is not supported.

ICOM IC-7851 and IC-7610

ICOM calls this feature "Tracking" and it can be enabled either via a menu entry or a long press on the "MAIN/SUB" button.
Enabling this will make DXLog.net update both VFO with the same information when grabbing spots.
It will also adjust the sub VFO with the correct amount when RIT is applied to the main VFO.
Since both VFO are kept on the same frequency, split operation is not supported.


Elecraft K3/K3S

Elecraft calls this feature by its proper name. It is enabled by a long press on the "Sub" button.
It should be noted that Elecraft's implementation where the main VFO controls both the main and
sub receivers allows for split operation, i.e. transmitting on a different frequency using VFO B.

UDP Broadcast

For interaction with other applications, DXLog.net can broadcast useful information as
XML datagrams over UDP.

There are three types of broadcast messages:

  • QSO information. Sent when logging.
  • Radio information. Sent at changes as well as periodically.
  • Rotator information. Sent when rotor control is invoked.

The broadcasting is enabled using the Options|Broadcast submenu.


Radiobroadcastenable2.png


UDP broadcast parameters are configured in the Options|Network configuration panel.
Please note that up to three ports can be specified for each broadcast, thereby supporting
multiple receivers of the information.


Networksettingsbroadcast2.png


If you are writing a C# application to make use of these datagrams, there is a very nice online tool
for creating an object from a sample XML datagram here https://xmltocsharp.azurewebsites.net/

In C# parsing is easily done using Linq. One example of XML parsing and deserialization using Linq
can be found here https://github.com/bjornekelund/ICOMautomagic

QSO information

Keyword Meaning
logger The name and version of the logging program
qsoid A unique string for this QSO. If this QSO is edited another contactinfo message will be sent with the same qsoid.
Note that the qsoid is only unique within one instance of DXLog. If the computer is networked to others running
DXLog the different computers may have a different qsoid for the same QSO.
contestname The name of the contest as it would be written to a Cabrillo file.
timestamp The UTC date and time of the QSO.
mycall The callsign of this station.
band The band on which the QSO was made.
txfreq The frequency on which the QSO was made.
operator The callsign of the operator if the OPON command was used to set it, otherwise blank.
mode The mode used for the QSO.
call The callsign of the station worked.
countryprefix The DXCC country of the station worked.
wpxprefix The WPX prefix of the station worked.
snt The RST sent. This is always included whether or not the contest exchange contains an RST.
rcv The RST received. This is always included whether or not the contest exchange contains an RST.
nr The number sent if the exchange uses a serial number, otherwise the qso number from this station.
exch1 The first part of the contest exchange if any.
exch2 The second part of the contest exchange if any.
exch3 The third part of the contest exchange if any.
exch4 The fourth part of the contest exchange if any.
xqso True if this QSO should not be counted towards the score.
invalid True if this QSO is invalid, for example a DX QSO in a domestic contest.
duplicate True if this QSO is a dupe (the station has previously been worked).
rule10broken True if this QSO breaks the 10 minute or similar rule. Note that a QSO may not break the 10 minute
rule when it is logged but may later if another QSO is edited. This may not cause a broadcast.
azimuth The approximate direction of the station worked, in degrees.
distance The approximate distance of the station worked, in kilometers.
stationid The station ID of the station which made the QSO.
stationtype The type of station - R for run, R1 for run 1 etc.
local True if this broadcast is due to this QSO being logged or edited on this computer.
mult1 The name of the multiplier if this station is a new multipllier, blank otherwise.
mult2 The name of the multiplier if this station is a new multiplier, blank otherwise.
mult3 The name of the multiplier if this station is a new multiplier, blank otherwise.
period The number of the operating period.

Example message:

<?xml version = "1.0"?>
<contactinfo>
    <logger>DXLog.net v2.4.13</logger>
    <qsoid>19</qsoid>
    <contestname>ARRL-SS-CW</contestname>
    <timestamp>2020-01-13 18:28:07</timestamp>
    <mycall>K1XM</mycall>
    <band>80</band>
    <txfreq>352376</txfreq>
    <operator></operator>
    <mode>CW</mode>
    <call>K4BAI</call>
    <countryprefix>K</countryprefix>
    <wpxprefix>K4</wpxprefix>
    <snt>599</snt>
    <rcv>599</rcv>
    <nr>19</nr>
    <exch1>076</exch1>
    <exch2>B</exch2>
    <exch3>54</exch3>
    <exch4>GA</exch4>
    <xqso>False</xqso>
    <invalid>False</invalid>
    <duplicate>False</duplicate>
    <rule10broken>False</rule10broken>
    <azimuth>225</azimuth>
    <distance>1388</distance>
    <stationid>STN1</stationid>
    <stationtype>R1</stationtype>
    <local>True</local>
    <mult1>GA</mult1>
    <mult2></mult2>
    <mult3></mult3>
    <period>1</period>
</contactinfo>

Radio information

Keyword Meaning
logger The name and version of the logging program.
Station The ID of the station.
RadioNr The radio being described.
Freq The receiving frequency
TXFreq The transmitting frequency
InactiveFreq The frequency of the VFO not receiving.
Mode The radio's mode
OpCall The callsign of the operator if the OPON command was used to set it, otherwise blank.
IsRunning "True" if the station is running, "False" if search and pounce.
FocusEntry The Windows handle for the focused entry window
Antenna Antenna number.
Rotors Rotators used by selected antenna (not currently used by DXLog).
FocusRadioNr The radio which has keyboard focus.
IsStereo True if headphones are listening to two radios.
ActiveRadioNr The radio which is transmitting, if any.
Technique SO1R, SO2R, SO2R_ADV, or SO2V
isTransmitting True if a radio is transmitting. This is only true if DXLog is transmitting.
Otherwise it may be false if a radio is transmitting due to PTT or VOX.

Example message:

<?xml version = "1.0"?>
<RadioInfo>
    <logger>DXLog.net v2.4.13</logger>
    <Station>STN1</Station>
    <RadioNr>1</RadioNr>
    <Freq>704000</Freq>
    <TXFreq>704000</TXFreq>
    <InactiveFreq>702500</InactiveFreq>
    <Mode>CW</Mode>
    <OpCall>K1XM</OpCall>
    <IsRunning>False</IsRunning>
    <FocusEntry>591124</FocusEntry>
    <Antenna>1</Antenna>
    <Rotors>ABC</Rotors>
    <FocusRadioNr>1</FocusRadioNr>
    <IsStereo>False</IsStereo>
    <Technique>SO1R</Technique>
    <IsTransmitting>False</IsTransmitting>
</RadioInfo>


Rotator information

Keyword Meaning
logger The name and version of the logging program.
station The ID of the station.
radio The radio associated with the rotator.
go True if the rotator should be turned.
stop True if the rotator should be stopped if it is turning.
azimuth The direction to turn the rotator if go is True.
frequency The transmit frequency of the specified radio.

Example message:

<?xml version = "1.0" ?>
<Rotator>
    <logger>DXLog.net v2.4.13</logger>
    <station>STN1</station>
    <radio>2</radio>
    <go>True</go>
    <azimuth>252</azimuth>
    <frequency>2800200</frequency>
</Rotator>

SDR integration

HDSDR, OmniRig, and Microham

Contributed by Ingo SM5AJV/SE5E

Until DXLog offers SDR integration there are still ways to get a waterfall/spectrum display with DXLog.

I have integrated the free SDR software HDSDR with DXLog using Microham Device Router,
OmniRig and AutoHotkey.

As illustrated below I place the HDSDR window at the very top of the desktop with DXLog right below.

I share my transceiver's (an Elecraft K3) antenna with the SDR. The receiver antenna signal from my
K3's RX-ANT OUT is connected to the input of a 3dB power splitter. The two outputs from the splitter
are connected RX-ANT IN on the K3 and the SDR Receiver antenna input, respectively. On a K3 you
need to enable the RX-antenna input to make this to work. An additional benefit with this method
is that the SDR is protected during transmission. It is a widely used method and is e.g. described
by Bob N6TV in this presentation.


Screenshot of my desktop:

Sdrdesktop.png

Since both DXLog and HDSDR need to communicate with the radio, you need to "split"
the CAT communication. MicroHam's USB Device Router provides a second, independent,
CAT port that can be used via HDSDR's omniRig interface.


"PORT" Tab on microHamRouter:

Sdrmicrohamrouter.png


OmniRig settings in HDSDR:

Sdromnirig.png


With this set up, the radio, DxLog, and HDSDR will be fully synchronized. For instance, you can
click in the waterfall to make the radio QSY, and it is easy to quickly find a clean frequency.

To make the integration even better I use a small AutoHotkey script. The script pulls entry focus
back to DxLog after clicking on the HDSDR waterfall and in DXLog it allows you to use hotkeys to
control HDSDR. [Ctrl][Alt]+ and [Ctrl][Alt]- zooms the waterfall/spectrum
in and out, and [Ctrl][Alt]C centers it.


AutoHotkey script:

 SetTitleMatchMode, 2
 #InstallKeybdHook
 #IfWinActive, HDSDR
 {
 F4:: return ; disable F4
 ~LButton Up::
   sleep, 1
   Winactivate, DXLog.net
 return
 }
 #IfWinActive, DXLog.net
 {
 ^!+:: ControlSend ,, ^{+}, HDSDR
 ^!-:: ControlSend ,, ^{-}, HDSDR
 ^!c:: ControlSend ,, {c}, HDSDR
 }


The script can be downloaded here.

If you start two instances of HDSDR with two different SDR you can even have two waterfalls
running at the same time.

I have not yet found a way to display cluster spots in the HDSDR spectrum panel.
But I still find it very useful to check band activity and it allows me to easily find
a new Run frequency on a crowded band.

Waterfall Bandmap

The free waterfall/spot display utility "Waterfall Bandmap" by Steve N2IC is supported by DXLog.

Waterfall Bandmap supports almost any SDR that produce I/Q output either via ExtIO.DLL or a
sound card; SDRPlay, FunCubeProPlus, HackRF, SDR-IQ, RTLSDR, SoftRock, etc.

A zip file with an executable binary and a Microsoft word document with installation and
configuration instructions can be found here: https://groups.io/g/waterfallbandmap/files

If you are not a member of the support forum group, you need to apply for membership to download. Membership is free.


Waterfallbandmap.png


The SDR can be connected either to a separate receive antenna, an external receiver output on
your transceiver or to an IF output, should your transceiver have one. If connected to an antenna,
keep in mind that you may need protection from the transmitter such as a T/R relay or a passive level limiter.

Please refer to Waterfall Bandmap's documentation for setting it up with your SDR.

Waterfall Bandmap needs two information feeds over UDP: Radio information and spot information.
Both are provided as UDP broadcast by DXLog.

The default port for both is 13063 and this needs to be set in DXLog's Network configuration panel.
Normally the broadcast address can be left at the default 127.0.0.1.


Setbroadcastportsforwfbandmap.png


Clicking on the waterfall display can set the frequency of DXLog's radio 1. (Left click sets VFO A, right click sets VFO B.)
To enable this functionality, check the "Receive radio information" option Options|Broadcast|Receive radio frequencies

The radio information feed needs to be enabled by checking the Options|Broadcast|Radio information option


Radiobroadcastenable2.png


and the spot feed needs to be enabled by checking the Options|DX Cluster|Send spots to SmartSDR option.


Enablesendspotstosmartsdr.png