/AudioPortDevice

The REDHAWK Device JTNC AudioPortDevice provides control of alert and alarm tones, notification of a PTT signal and Audio Stream Interfaces

Primary LanguageC++GNU General Public License v3.0GPL-3.0

AudioPort Device

Description

This is a REDHAWK project that contains the source and build script for an AudioPort Device that implements JTNC Interfaces. It requires the libasound library and the following IDL Projects to be installed:

  • JTRS (jtrsInterfaces)
  • Packet (packetInterfaces)
  • DevMsgCtl (devmsgcltInterfaces)
  • Audio (audioInterfaces)

Installation Instructions

JTNC interfaces

Refer to the project jtnc-interfaces

	$ git clone https://github.com/rodrigo455/jtnc-interfaces.git
	$ cd jtnc-interfaces
	$ ./install -m JTRS
	$ ./install -m Packet
	$ ./install -m DevMsgCtl
	$ ./install -m Audio

ALSA

On CentOs you can get alsa dev package running the command:

	$ sudo yum install alsa-lib-devel

AudioPortDevice

You can import this project to your workspace using the REDHAWK Import Wizard, build and install to $SDRROOT within the REDHAWK IDE. Otherwise run the build.sh script found at the top level directory. To install to $SDRROOT, run build.sh install. Note: root privileges (sudo) may be required to install.

Properties Notes

  • ptt_device is the input event device that should represent a keyboard. It has /dev/input/event2 as its default value. The Left Ctrl key is set to be the PTT Button. You might need to add the user to the input group to be able to access this device:
	$ usermod -a -G input <userName>
  • capture_card is the name of the alsa device set to stream capture audio samples. It has an empty default value that corresponds to the "default" alsa device. You can list the Capture Devices with the command:
	$ arecord -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
  • playback_card is the name of the alsa device set to stream playback audio samples. It has an empty default value that corresponds to the "default" alsa device. You can list the Playback Devices with the command:
	$ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
  • capture_mixer_control is the name of alsa mixer control configure by the card driver to adjust volume for the capture device. It has an empty default value that is resolved upon startup as the first mixer control with capture volume capability.
  • playback_mixer_control is the name of alsa mixer control configure by the card driver to adjust volume for the playback device. It has an empty default value that is resolved upon startup as the first mixer control with playback volume capability.

You can list all the alsa mixer control with the commands:

$ amixer scontrols
$ amixer -Dhw:<card_name> scontrols
$ amixer -c<card_name> scontrols

Copyrights

This work is protected by Copyright. Please refer to the Copyright File for updated copyright information.

License

AudioPort Device is licensed under the GNU GENERAL PUBLIC LICENSE (GPL-3.0).