# EKD500Control

NAME
SYNOPSIS
DESCRIPTION
OTHER COMMANDS & CONTROLS
NOTE ON CONFIGURATION AND STATE FILES.
TODO.

## NAME

EKD500Control - a program to control the RFT EKD500 receiver with look & feel similar to the receiver itself, with some enhancements.

## SYNOPSIS

EKD500Control

## DESCRIPTION

A full manual has been not written yet. Briefly and with apologies for the bad english:

The version 0.8 adds in the hamlib-maybe compatible TCP server the handling of the hamlib rigctld commands "get_lock_mode" and "get_powerstat" required by the hamlib versions used in latest WSJTX, FLDIGI, GRIG, XDX, and XLOG.

The configuration file has switched to the XML format using the TXMLConfig object available in Lazarus. From an user perspective, that should not be of concern, since if an old-style config file is found, it gets loaded and automatically converter and saved in the new format.

In version 0.7 a TCP server compatible with hamlib net rigctl has been added, listening by default at the address 127.0.0.1:4538, whose implementation is currently only partial and approximate, a little more than the bare minimum needed to make it work with WSJTX 2.5.4, FLDIGI 4.1.22, GRIG 0.8.1, XDX 2.5.0 and XLOG 2.0.24. Tests have been made mostly under Linux. When another application connects to the EKD500Control server, the NET label in the frequency display of the main window lights up, and then switches off when all clients have disconnected. Please note that there are no authentication or encryption of any kind, as this server is designed only to connect other programs to EKD500Control, e.g. WSJTX, FLDIGI and XLOG, on the same machine. Therefore, pay a lot of attention if you want to use this feature for what it was not designed for, that is to control a remote EKD500 via the internet. Some other minor additions have been also made. In the internal file manager the commnds "Move to channel" and "Move to state" have been added. The Band Scan Window code has been ported from SkantiControl 0.99.

The "EXT" button starts program execution and connection with the EKD500. Before clicking on it, be sure to select in the "Options" menu the correct RS232 port and speed, the number of receivers and the receivers addresses. If multiple receivers are to be controlled by the program, they must be daisy-chained as per manual, with the control PC serial port connected to EXT connector of the first EKD500, EXP of the first EKD500 connected to EXT of the second EKD500, and so on. A maximum of 99 receiivers can be configured. The chosen configuration will be saved automatically. For serial ports other than the first two, or USB, select the "Custom" serial port option and write the name of the port. The prefix /dev/ under Linux is optional, if omitted it will be automatically added, as well as that \\.\ under Windows. Don’t forget to set the same parameters on the receivers and to activate the remote mode (LED EXT must be lit). Under Linux check also that your user has serial port access privileges; usually it must be a member of the "dialout" group.

To switch the control from one receiver to another, select the number of the wanted EKD500 with the "Receiver#" combo box. Only the configured number of receivers can be selected. If a receiver not switched on or not properly configured is selected and no response comes in, an appropriate error message is written to the message display and, if the S-meter is enabled, it will be disabled.

When you start the program, the RX state (frequency, mode, filters, etc) will be read from RX itself. The state can also be saved to and restored from a file. Default file name is <frequency>-<mode>.dat, e.g. 10100.8-F0.dat.

Option "Enable S-meter" starts polling the received signal level (using the G command) every 0.5s and display a bar-meter for the received signal strenght. During the command duration, other keys are disabled, so selecting this option slows down somewhat operations. This function can be enabled only on higher serial port speeds (1200 and 2400 baud).

Frequency can be changed by clicking on the RX display, with the mouse wheel or by writing the desired frequency in the spinedit at lower right of the main window.

Left-clicking on a figure in the RX frequency display decrements that figure by one, right-clicking increments that figure by one. This only happens if the final frequency is in the range of the RX. Clicking on the decimal point the displayed frequency will be rewritten. Smallest increment/decrement available is 10 Hz.

If the mouse wheel is rotated with the pointer over one of the figures of the RX frequency, that figure is incremented or decremented. This now works also under windows.

If the mouse wheel is rotated with the pointer over the frequency spinedit, the frequency is incremented/decremented by 10 Hz.

Last, if the mouse wheel is rotated with the pointer anywhere else, RX frequency is incremented or decremented by the tuning step in effect. This is the fastest tuning way since only one character (+ or -) must be sent to receiver.

There are also some keyboard shortcuts:

+: Tune up
-: Tune down
/: Change tune rate
*: Set receive frequency RETURN: same as E key

allowing basic control of the receiver using only the numerical keypad.

All standard EKD500 remote commands are also accepted:

f: set RX frequency in kHz down to 10 Hz (xxxxx.xx, e.g. 10100.80)
d: set frequency step in kHz (e.g. 100 Hz is 0.1, 10 Hz is 0.01)
m: set RX Mode (1..9, see table on the RX front panel)
b: set IF bandwidth (1..9, see table on the RX front panel)
g: set AGC mode (1..9, see table on the RX front panel)
v: Preselector off/on (0..1, 0=off, 1=on)
c: Memory recall (1..99)
s: Memory store (1..99)
": Memory 98 fast recall
!: Memory 99 fast recall
l: Scan start/stop
a: Set scan parameters
e: Execute key
.: Decimal separator
;: Arrow key (; not j as written in the user manual on page 57)

The above commands can be issued either upper or lower case. The frequency value for commands f and d (or F and ΔF buttons) can be entered either with the keyboard or with the on-screen numeric keys.

## OTHER COMMANDS & CONTROLS

The message display shows informations about the command being executed or status/info/error messages. Double-clicking on it clears display.

RX parameters (frequency, step, AGC, etc.) can be set also by selecting the desired value with the controls at the lower right of the main window.

Since the "EXT FCT" key (remote interface configuration) has no equivalent remote command, that key is used to show briefly on the display the actual program address and RS232 speed, in the same format used by the "EXT FCT" RX key. A reminder on the lack of equivalent remote command is also issued.

The program tries to disable illegal keys for the actual state (e. g. pressing the "F" key, all other function keys are disabled and after the 5th figure the only enabled key is the "." key). If this behaviour is not wanted, then check the "Option -> Enable all controls" menu entry.

In consideration of the fact that the rendered size of the fonts, above all the small ones, vary a lot from one operating system to another, starting with version 0.6 the ability to magnify fonts has been added. Six magnification factors are available: 100% (ie no magnification), 110%, 125%, 150%, 175% and 200%. Because, at least according to the author’s limited experience, large fonts are rendered similarly everywhere, such fonts have been excluded from zoom by default. In case if you want to enlarge them too, check the "Magnify all fonts" option.

Always starting with version 0.6 have been also added a more-or-less Hamlib rigctld-compatible TCP server, whose implementation is only partial, a little more than the bare minimum needed to make it work with the programs used by the author: WSJTX, FLDIGI, GRIG, XDX and XLOG, and, in the menu "File", an entry to display a window showing a graph of the scan of a frequency interval. It is not known if this will be useful to anyone, but that is.

## NOTE ON CONFIGURATION AND STATE FILES.

NOTE ON CONFIGURATION AND STATE FILES. All configuration files under Linux are kept in the .EKD500Control directory of your home directory. Under Windows in the directory from which the executable was run. It is suggested EKD500Control in your home directory, but this is not required in any way. In the 0.8 version the format of the configuration file has changed to XML using the XML library in Lazarus. If no XML configuration file is found, and a configuration file in the old format is present, it gets loaded and saved in the new format. In case the program configuration has messed up, delete (or move, or rename) the "Config.xml" files and the program at next start will recreate it using the default configuration.

Files saved in the Channels subdirectory (using the "File -> Save Channel" menu entry) will be read at program startup and shown in the Channels menu entry and can be recalled using only one mouse click. To allow to rename and delete the saved state files from within the program, a very minimal file manager is built in (menu entries "File -> Manage states" and "File -> Manage channels").

## TODO.

| • |  | Since the EKD500 interface has the RTS and CTS handshake lines, see if it is possible to get rid of the fixed delays now inserted in the program code. In command modes B and C, the commands must be sent with a 75 ms inter-character delay, otherwise a NAK or ? error message is triggered.
| • |  | In command mode D the accepted speed of the commands is notably higher, but the RX sends back no answer or info at all. Mode D is used actually only to restore a saved state and to issue frequency and step commands. If the program recreates the EKD500 state machine for each command, then will be possible to use only that mode, speeding up things. But this is a long-term project.
| • |  | Complete the hamlib rigctld-compatible TCP server adding all EKD500 supported functions.
| • |  | Check for bugs and/or timing/synchronization errors and/or missed delays.