Difference between revisions of "Repeater Controller"

From BATC Wiki
Jump to navigation Jump to search
Line 75: Line 75:
 
The BATC repeater controller uses an onboard DTMF detector which detects DTMF from the mic input on a USB audio dongle (use a standard Portsdown white USB dongle).
 
The BATC repeater controller uses an onboard DTMF detector which detects DTMF from the mic input on a USB audio dongle (use a standard Portsdown white USB dongle).
  
The following functions can be changed using DTMF commands - the actual command sequence is entirely flexible and set in the config file. 
+
Full details of the functions that can be set by DTMF and their configuration are on this page [[DATV repeater DTMF commands]]
 
 
It is recommended that some command sequences such as shut down are not publicly available and have been grouped in the example config file (see [[Repeater Controller configuration]]as keeper commands.
 
 
 
====Suggested keeper functions====
 
dtmfkeepertxoff
 
 
 
dtmfkeepertxon
 
 
 
dtmfkeeperreboot
 
 
 
dtmftalkbackaudioenable
 
 
 
dtmftalkbackaudiodisable
 
 
 
====User codes for direct input select (use dtmfreset to deselect)====
 
dtmfstatusview
 
 
 
dtmfquadview
 
 
 
dtmfselectinput0
 
 
 
dtmfselectinput1
 
 
 
dtmfselectinput2
 
 
 
dtmfselectinput3
 
 
 
dtmfselectinput4
 
 
 
dtmfselectinput5
 
 
 
dtmfselectinput6
 
 
 
dtmfselectinput7
 
 
 
===RPi GPIO Accessory DTMF Control examples===
 
dtmfoutputs=1
 
 
 
dtmfgpioout1pin=15
 
 
 
dtmfgpioout1label=shack_light
 
 
 
dtmfgpioout1on=31
 
 
 
dtmfgpioout1off=41
 
 
 
dtmfinputs=1
 
 
 
dtmfgpioin1pin=8
 
 
 
dtmfgpioin1label=cabinet_door
 
 
 
===i2c Accessory DTMF Control examples===
 
 
 
MCP23017. Max 16 lines either in or out
 
 
 
i2cioaddress=0
 
 
 
i2cdtmfoutputs=1
 
 
 
i2cdtmfgpioout1pin=a0
 
 
 
i2cdtmfgpioout1label=shack_heater
 
 
 
i2cdtmfgpioout1on=51
 
 
 
i2cdtmfgpioout1off=61
 
 
 
i2cdtmfinputs=1
 
 
 
i2cdtmfgpioin1pin=b0
 
 
 
i2cdtmfgpioin1label=cabinet_lid
 
  
 
==GPIO Connections==
 
==GPIO Connections==

Revision as of 11:30, 17 February 2022

The BATC ATV Repeater Controller uses a Raspberry Pi 4 as a fully-featured, but simple-to-implement, ATV repeater controller.

The design is intended to be used with an HDMI Video switch, but can also be used with older composite video designs.

Every repeater is different and the controller is designed as a core logic that can be used as the basis for an ATV repeater. The design is flexible with a large number of parameters in a text editable config file so that users can configure it to meet their own needs.

The outline requirement specification is here media:BATC ATV repeater controller.pdf


HDMI repeater.jpg

Typical operation

The BATC repeater controller controls either a single or multiple video switchers either by InfraRed, I2C or GPIO pins. It also generates a carousel of scenes and has an on-board DTMF decoder.

Carousel

The carousel can be configured to show up to 99 scenes. The content and duration displayed of each scene is set in the configuration file and the scene can be one of the following:

  • Status screen generated by the controller
  • jpg or png images played out by the controller
  • Any input on the video switcher, for example mast cam or Quad
  • Video file (in future release).

The still images are read each time before display so can be regularly updated by an external source.

Valid signal input

On receipt of a valid signal from, for example, a Ryde receiver, the controller will, key the transmitter, play an image for .5 seconds indicating which input has been activated and then switch to that input. When the receiver closes, the logic will play a "K" image and optional "K" in Morse and go back to the carousel.

The receiver input switching line can be directly from a Ryde receiver or an external source such as a sync detector on an analogue source. Note do NOT exceed 3.3 volts on the GPIO input.

Ident signal

In order to comply with licensing regulations, a video and/or audio ident can be generated at an interval set in the config file.

DTMF control

An on-board DTMF decoder will allow input selection by remote control and also enable GPIO pins to be toggled to enable the control of external equipment.

Power saving

To enable power saving by turning the repeater transmitter off during quiet periods, a number of options are available such as only key the transmitter when in repeat mode, do not key the transmit during the night time and only enable the beacon for the first 30 minutes of every hour.

Hardware control

The controller will interface to the following:

  • Video switches via IR transmitters (note up to 2 IR transmitters can be configured separately allowing multiple video switches to be cascaded).
  • Video switchers via hardware lines driven from the RPi GPIO lines (note 3.3v logic output)
  • I2C support for the Audio switch designed for GB3SQ. Details of the 8 channel input audio switch PCB can be found here: DATV repeater audio switch

Future releases may support I2C video switches and relay boards.

The IR and i2c commands for each input are set in the config file.

Configuring IR Switching

The IR codes for the HDMI switches used on each repeater will need to entered in the configuration file.

Full details on how to read your IR commands and then configure the system are here: Configuring IR for HDMI Switching

Customisation

While this software is designed to work "out of the box" it will need to be configured for each individual repeater.

For a detailed description of the configuration details see the Repeater Controller configuration page.

Some configurations can be done using the SSH menu and some real-time control is possible using the ssh Console Menu.

DTMF control

The BATC repeater controller uses an onboard DTMF detector which detects DTMF from the mic input on a USB audio dongle (use a standard Portsdown white USB dongle).

Full details of the functions that can be set by DTMF and their configuration are on this page DATV repeater DTMF commands

GPIO Connections

The repeater controller accepts up to 8 signal detect inputs on the GPIO input pins and uses IR / I2C or GPIO outputs to switch external switchers.

Care MUST be taken to buffer the 3.3 volt logic levels used on the Raspberry Pi GPIO pins.

An initial list of GPIO connections is here: Repeater GPIO Connections.

Switching Logic

A detailed description of the operation of the switching logic can be found here: Repeater Switching Logic.

Project status

The target release date is the end of March 2022.

Jan 22 - Alpha release for testing

Feb 10th 2022 A Beta version of the software can be found here: https://github.com/BritishAmateurTelevisionClub/atv-rptr

Feb 15th - Feature freeze until first release in March

Future requirements

The following features have been identified for inclusion in future releases:

  • Implement battery-backed clock (for no internet/power cuts). Will serve NTP to Rydes on same network
  • VLC Carousel Play of videos
  • i2c accessory switch operation (Entries exist in config file, but not yet coded)

Further information

See https://forum.batc.org.uk/viewtopic.php?f=82&t=7750