PiDV™/ThumbDV™ – AMBEServer

Setting up an AMBEServer

This is being refactored — start at https://github.com/dl5di/OpenDV/blob/master/README.md Build and install as part of DummyRepeater. Running DummyRepeater is not necessary, but currently that is where AMBEserver is built.

The AMBEServer is a way to put an AMBE3000™ chip on your network to provide vocoding between PCM audio and various AMBE formats.

The PiDV™ was previously designated the DV3000.

AMBEServer is not required with newer versions of DummyRepeater, but currently is recommended, which can access the PiDV™ directly as a serial device. AMBEServer is only required if you are running DummyRepeater from a different computer and want to access the PiDV™ over the network. Obtaining and running AMBEtest2.py is still advised, to verify communication with the PiDV™.

Note: Starting 13 July 2015 new ThumbDV™ devices are set to a baud rate of 460800 and the latest AMBEserver source implements a new parameter to support the new baud rate. To activate the higher speed set the parameter of -n, e.g. AMBEserver -n

Install the PiDV™ to the Raspberry Pi

The PiDV™ board is pre-set to run at 230400 baud over the UART interface in “packet mode”. This is the minimum speed for successful operation.

Prepare the Raspberry Pi. This consists of (a) increasing the clock to the RPi UART, (b) disabling the getty (to allow terminal login) running on the RPi serial port, and (c) disable the console on the serial port.Halt and remove power from the Raspberry Pi, fit thePiDV™ board, reconnect power, and reboot

Edit the file /boot/config.txt and add the line:init_uart_clock=3686400Note: a higher value is needed on RPi 2 (50000000 has been suggested by VK4TUX)

Edit the file /boot/cmdline.txt and replace or comment the line (these lines are wrapped in this article, they should appear as a single line in the file):dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwaitwith:dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwaitNote: If the value for ‘root’ is different than /dev/mmcblkop2, preserve your current root=/dev/… and simply remove ‘console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty‘ from the line. (Thanks to DL5DI)

Method 1 (Deprecated)
Build and Install dv3000d

dv3000d is a small program which runs on a Raspberry Pi and provides access to the NWDR PiDV™ AMBE board. It makes the AMBE3000R™ chip available via the network using UDP frames. Details of the chip are beyond the scope of this document, but sufficient to say that it is capable of vocoding audio for D-Star, DMR, and P.25 Phase 2 HR and maybe more.

Obtain the current source for DummyRepeater

Source can be found at:https://groups.yahoo.com/neo/groups/ircDDBGateway/files/Release/

You can get these by using a web browser on the Pi, or pull them down to another computer and then copy them to the Pi over the network using sftp protocol.

Test your PiDV™ for communication with Raspberry Pi

Build the Daemon

The dv3000d program then needs to be built and run on the Pi. From within DummyRepeater/DV3000 and assuming that you have a set of compilers on your Pi, type in the following command:

make

This should build a new file named dv3000d.

To run the program you need to use the command:

sudo ./dv3000d

which will run the program in the current window or terminal. However if you want it to run in the background use the command:

sudo ./dv3000d -d

By default dv3000d uses UDP port 2460 for communicating with programs that need its services, if this isn’t convenient then it can be changed with the -p option.

This can be seen in copies of the above commands, using port 24600 now, below:

sudo ./dv3000d -p 24600

or

sudo ./dv3000d -p 24600 -d

That is all there is to running the dv3000d program. By itself it does very little but allows other programs to access the DV3000 on your Pi from anywhere on your network, or even the Internet (if you make it available on a public IP address).