Controlling a DATVExpress
Software versions 201702100 and later include the additional capability to control a DATV Express exciter board from a Portsdown transmitter system without the filter modulator card. If you have an earlier Portsdown software version, please update to 201702100 to provide these capabilities. Here are the full details.
The Portsdown Software running on an RPi 3 will control a DATV Express board directly via the USB port, without the need for any PC or other computer. The system gives a compact touchscreen interface to DATV Express and provides some of the features for DVB-S transmission that you would get using a Windows PC to control DATV Express. DVB-S2 and DVB-T are not available, although there is hope for DVB-S2 capability in the future.
Equipment Required
For a usable Portsdown and DATV Express transmitter, you will need a Raspberry Pi 3, a Waveshare touchscreen, a DATV Express board, suitable power supplies, and transmitter filters and linear amplifiers. Connect the DATV Express to the RPi 3 using a USB lead.
Capability
Using the touchscreen, the following capabilities can be controlled:
DVB-S H264 transmissions using the Pi Camera at Symbol Rates from 125 KS to 4 MS.
DVB-S MPEG-2 transmissions using the Pi Camera at Symbol Rates from 125 KS to 4 MS.
Carrier transmission.
Successful encoding from the Pi Camera has been demonstrated between 125 KS and 8 MS, but these symbol rates are only selectable from the Console interface.
The FileTS (playing a pre-recorded TS file) and PATERNAUDIO (test card) and Desktop modes do not function properly. Work is ongoing to improve this capability. Analogue Capture does work with some EasyCap dongles, but not with others. I have seen successful encoding at between 333 and 1000 KS with one dongle, but only intermittent pictures with another. This is due to the limitations of the USB interface on the RPi. Streaming into the RPi from vMix has yet to be properly tested.
All FEC modes are available, and using the Console any frequency can be selected.
The output level can be set independently for each of 5 bands (71 MHz, 146 MHz, 437 MHz, 1255 MHz and 2400 MHz) from Advanced Settings, option 5. The power level calibration (0 - 47) is the same as the Windows V1.23 DATV Express software.
The PTT switching is implemented similarly to the Windows version.
The settings for Ports A through D can be selected for each band in Advanced Settings, Option 5.
Further details of the DATV Express functionality and pin assignments can be found on page 52 of this User Guide: DATV-Express Users Guide for Windows-draft10.pdf
Warnings and Limitations
- The DATV Express board should connected to the RPi and powered on before the RPi is booted.
- The Portsdown capability of booting straight to transmit is not available with the DATV Express board.
- Please be do not rely on the PTT pin sequencing to protect your pre-amps and PAs. The software is just not robust enough for the Portsdown team to give any guarantees of its functionality. You have been warned!
- There is no means of putting a callsign caption on the transmission.
- There is a delay of 5 seconds before the first transmission after switch-on. This delay is to allow the DATV Express firmware to be downloaded from the RPi.
How It Works
DATV Express Server needs to be started at least 4 seconds or so before trying to send it any content, so it is started in the following places:
- On entering the Menu (console) system with DATV Express selected as an output mode.
- In a.sh if it is not detected as running.
In both cases the system sleeps for 5 seconds while the DATV Express server application starts up.
The express_server is controlled by sending commands to a file /tmp/expctrl. The transmission parameters and the start transmit, or start carrier messages are sent by a.sh. a.sh is called to transmit from both the console menu and the gui. Note that 5 band-dependent power levels can be pre-set in the Menu (Advanced Set-up).
The cease transmit or cease carrier commands are sent by the stop_transmit routines in either the menu.sh or in the gui.
Thanks to Charles G4GUO and Chris MW0LLK for their help in delivering this capability.