Difference between revisions of "Additional Information"
(→Enabling the built-in MP3 encoder in Windows) |
(→Enabling the built-in MP3 encoder in Windows) |
||
Line 113: | Line 113: | ||
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 | A working copy is also available for download here: http://dxlog.net/sw/files/utilities/libmp3lame-3.99.5x86.zip | ||
Revision as of 07:04, 4 April 2020
Contents
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.
- 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.
- 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.
- 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
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
NB. Window's built-in MP3 encoder is currently not supported by DXLog.net Instead, follow these instructions.
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
DXLogStream
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
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 with 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.
DXLog.net supports diversity operation on a selected number of radio models.
For the supported radios, diversity operation can be toggled on and off using [Ctrl][-]
or [Ctrl][Keypad -]
.
If enabled via the radio's controls, DXLog.net will automatically detect diversity operation and enable
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
and Options|DX Cluster|Send spots to SmartSDR
submenus.
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.
DXLog.net also has the ability to listen for locally broadcasted commands over UDP. For example,
QSY commands from applications like N2IC Waterfall Bandmap.
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" encoding="utf-8"?> <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" encoding="utf-8"?> <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" encoding="utf-8"?> <Rotator> <logger>DXLog.net v2.4.13</logger> <station>STN1</station> <radio>2</radio> <go>True</go> <azimuth>252</azimuth> <frequency>2800200</frequency> </Rotator>
Broadcast listening
DXLog.net also listens for commands over UDP. Currently only one command is implemented, a QSY command.
Example message:
<?xml version="1.0" encoding="utf-8"?> <radio_setfrequency> <app>WaterfallBandmap</app> <radionr>1</radionr> <frequency>21022.194</frequency> <mousebutton>Left</mousebutton> </radio_setfrequency>
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:
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:
OmniRig settings in HDSDR:
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.
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.
If Waterfall Bandmap runs on the same computer as DXLog, the broadcast address can be left at the default 127.0.0.1.
Clicking on the waterfall display can set the frequency of DXLog.net. (Left click sets VFO A, right click sets VFO B.)
To enable this functionality, check the option Options|Broadcast|Receive Broadcasts
Also make sure "UDP broadcast listener" includes port 13064 in the network settings panel.
The radio information feed needs to be enabled by checking the Options|Broadcast|Radio information
option
and the spot feed needs to be enabled by checking the Options|DX Cluster|Send spots to SmartSDR
option.
Time synchronization
In a multi-station setting, the time needs to be accurately synchronized across all networked PC.
Windows' built in time synchronization is very crude and for a PC with poor clock stability the inaccuracy of the clock may be up to a minute. Which of course is not acceptable for contesting.
DXLog.net has built in support for time synchronization as described in the Configure network section.
Due to Windows' security system, this however requires all except the PC running as time server to
run DXLog.net with elevated permissions. There is unfortunately no way around this inconvenience.
An equally accurate and less intrusive method is to use a standalone time synchronization application on each networked PC.
This will keep each PC's clock accurate within a fraction of a second.
Contrary to a solution built into a logger it also has the great benefit of being an "install and forget" solution.
A popular application is Dimension 4 by Thinking Man Software. It is free for personal use and
can be downloaded here: http://dxlog.net/sw/files/utilities/d4time531.msi
It runs in the background and only shows up as a tiny icon in your system tray.
You hover the mouse above the icon to check status and right-click to open and change settings.
After installation a brief configuration is required.
First of all, allow the application to disable Windows' time service and to modify your system clock.
For maximum accuracy, select a time server geographically close to your location.
When in doubt, you can always add the global server "pool.ntp.org" to the list and use that.
There are also national and continental pools of time servers. You can find them here https://www.ntppool.org.
Make sure the check boxes "Load Dimension 4 at startup", "Start minimized", "Hide when minimized",
and "Display icon in tray" are all checked.
Click the Advanced button and also make sure the option "Use the selected server" is selected.
Make sure the application reports a successful connection to the selected time server.
From here on, you can basically forget the application.
It will silently start with your PC and always keep its time accurate.