An open API service indexing awesome lists of open source software.

https://github.com/rodrigo455/audioportdevice

The REDHAWK Device JTNC AudioPortDevice provides control of alert and alarm tones, notification of a PTT signal and Audio Stream Interfaces
https://github.com/rodrigo455/audioportdevice

alsa jtnc redhawk sdr

Last synced: about 1 year ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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](https://github.com/rodrigo455/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
```
- **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: scontrols
$ amixer -c scontrols
```

## Copyrights

This work is protected by Copyright. Please refer to the
[Copyright File](COPYRIGHT) for updated copyright information.

## License

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