This project is the evolution of an earlier project launched for repeater linking on the Maple Pi platform. Due to the unavailability of the Intel FPGA that we used in the project, it had to be abandoned for another platform.
Instead, we chose to adopt the Allstar platform, mostly due to its popularity and that the source code was available. During the initial research I am not sure if this was a mistake, as it is very poorly documented and the repeater application is no less that 21,000 lines of code, and instructions to write a driver are more or less non-existent, but there are quite a few examples to draw from.
The project was broken down into four different components:
- Standalone software (the link hub) written in C++ for performance and ease of replication to implement a set of ‘bridges’ that interconnect repeaters. More than one instance of a bridge can be added, each associated with a unique talkgroup and set of input and output ports. All communication uses the USRP protocol and is sent over UDP.
- A GUI to configure the repeaters and bridges, and view the current status of the each link. For this purpose a web-based interface was written in Java using Apache Tomcat, and an SQL database.
- A driver for Allstar that would enable the talkgroup to be changed on the fly by connecting to an internal node.
- Format conversion software, to provide an interface to DMR, YSF and M17 using software from the MMDVM project.
This project has been successfully implemented on three different repeaters, with a bridge to HBLink, similar software for DMR systems. The format conversion was accomplished with DVSwitch and a hardware AMBE codec.
An experiment was tried with M17, however it looks like it needs a little more debugging.
Please contact me if you wish to obtain a copy, more documentation is available at the link below.