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
- Host: GitHub
- URL: https://github.com/rodrigo455/audioportdevice
- Owner: rodrigo455
- License: gpl-3.0
- Created: 2018-07-26T21:05:19.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-26T21:06:51.000Z (almost 8 years ago)
- Last Synced: 2025-03-27T08:11:24.881Z (about 1 year ago)
- Topics: alsa, jtnc, redhawk, sdr
- Language: C++
- Homepage:
- Size: 67.4 KB
- Stars: 3
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).