Last active
November 21, 2016 06:41
-
-
Save brandonjank/2ececf93a81df5c55b7ae72ae5991c6d to your computer and use it in GitHub Desktop.
Script to setup the UDRC-II with the DR-1X for use with SvxLink
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "Configuring ALSA mixer for the DR-1X..." | |
sudo amixer -c udrc -s << EOF | |
# If you change your level settings, make a new script, save, and run it | |
# Set input and output levels to 0dB | |
sset 'ADC Level' -5.5dB | |
sset 'LO Driver Gain' 0.0dB | |
sset 'PCM' 0.0dB | |
# Turn on AFOUT | |
sset 'CM_L to Left Mixer Negative Resistor' '10 kOhm' | |
sset 'IN1_L to Left Mixer Positive Resistor' '10 kOhm' | |
# Turn on DISCOUT | |
sset 'CM_R to Right Mixer Negative Resistor' '10 kOhm' | |
sset 'IN1_R to Right Mixer Positive Resistor' '10 kOhm' | |
# Turn off unnecessary pins | |
sset 'IN1_L to Right Mixer Negative Resistor' 'Off' | |
sset 'IN1_R to Left Mixer Positive Resistor' 'Off' | |
sset 'IN2_L to Left Mixer Positive Resistor' 'Off' | |
sset 'IN2_L to Right Mixer Positive Resistor' 'Off' | |
sset 'IN2_R to Left Mixer Negative Resistor' 'Off' | |
sset 'IN2_R to Right Mixer Positive Resistor' 'Off' | |
sset 'IN3_L to Left Mixer Positive Resistor' 'Off' | |
sset 'IN3_L to Right Mixer Negative Resistor' 'Off' | |
sset 'IN3_R to Left Mixer Negative Resistor' 'Off' | |
sset 'IN3_R to Right Mixer Positive Resistor' 'Off' | |
sset 'Mic PGA' off | |
sset 'PGA Level' 0 | |
# Disable and clear AGC | |
sset 'ADCFGA Right Mute' off | |
sset 'ADCFGA Left Mute' off | |
sset 'AGC Attack Time' 0 | |
sset 'AGC Decay Time' 0 | |
sset 'AGC Gain Hysteresis' 0 | |
sset 'AGC Hysteresis' 0 | |
sset 'AGC Max PGA' 0 | |
sset 'AGC Noise Debounce' 0 | |
sset 'AGC Noise Threshold' 0 | |
sset 'AGC Signal Debounce' 0 | |
sset 'AGC Target Level' 0 | |
sset 'AGC Left' off | |
sset 'AGC Right' off | |
# Turn off High Power output | |
sset 'HP DAC' off | |
sset 'HP Driver Gain' 0 | |
sset 'HPL Output Mixer L_DAC' off | |
sset 'HPR Output Mixer R_DAC' off | |
sset 'HPL Output Mixer IN1_L' off | |
sset 'HPR Output Mixer IN1_R' off | |
# Turn on the LO DAC | |
sset 'LO DAC' on | |
# Turn on AFIN | |
sset 'LOL Output Mixer L_DAC' on | |
# Turn on TONEIN | |
sset 'LOR Output Mixer R_DAC' on | |
EOF | |
echo "Saving ALSA config..." | |
sudo alsactl store | |
# GPIOS | |
if [ ! -f /sys/class/gpio/gpio5/value ]; | |
then | |
echo "Exporting PKSQL (GPIO5) for svxlink user..." | |
sudo echo 5 > /sys/class/gpio/export | |
sudo echo in > /sys/class/gpio/gpio5/direction | |
sudo chown svxlink /sys/class/gpio/gpio5/value | |
else | |
echo "Export for PKSQL (GPIO5) already exists, skipping..." | |
fi | |
if [ ! -f /sys/class/gpio/gpio12/value ]; | |
then | |
echo "Exporting PTT HD-15 (GPIO12) for svxlink user..." | |
sudo echo 12 > /sys/class/gpio/export | |
sudo echo out > /sys/class/gpio/gpio12/direction | |
sudo echo 0 > /sys/class/gpio/gpio12/value | |
sudo chown svxlink /sys/class/gpio/gpio12/value | |
else | |
echo "Export for PTT HD-15 (GPIO12) already exists, skipping..." | |
fi | |
if [ ! -f /sys/class/gpio/gpio23/value ]; | |
then | |
echo "Exporting PTT DIN6 (GPIO23) for svxlink user..." | |
sudo echo 23 > /sys/class/gpio/export | |
sudo echo out > /sys/class/gpio/gpio23/direction | |
sudo echo 0 > /sys/class/gpio/gpio23/value | |
sudo chown svxlink /sys/class/gpio/gpio23/value | |
else | |
echo "Export for PTT DIN6 (GPIO23) already exists, skipping..." | |
fi | |
echo "Setting UDRC-II GPIOs..." | |
sudo gpio -g mode 12 out | |
sudo gpio -g mode 25 in | |
sudo gpio -g mode 25 up | |
sudo gpio -g mode 5 in | |
sudo gpio -g mode 5 up | |
sudo gpio -g mode 6 out | |
sudo gpio -g write 6 1 | |
sudo gpio -g mode 24 out | |
sudo gpio -g write 24 1 | |
sudo gpio -g mode 22 out | |
sudo gpio -g write 22 1 | |
sudo gpio -g mode 23 out | |
sudo gpio -g write 23 1 | |
sudo gpio -g mode 27 out | |
sudo gpio -g write 27 1 | |
sudo gpio -g write 12 1 | |
sudo gpio -g write 6 0 | |
sudo gpio -g write 22 1 | |
sudo gpio -g write 24 0 | |
sudo gpio -g write 6 1 | |
# Put the DR-1X into base mode so we can transmit | |
echo "Setting DR-1X to base mode..." | |
sudo gpio -g write 6 0 | |
sudo gpio -g write 22 1 | |
sudo gpio -g write 24 0 | |
sleep 1s | |
# Test TX by playing sound | |
echo "Activating PTT..." | |
sudo gpio -g write 12 1 | |
echo "Playing startup sound..." | |
sleep 2s | |
sudo aplay -Dplughw:udrc -c 2 startup.wav | |
sleep 2s | |
echo "Deactivating PTT..." | |
sudo gpio -g write 12 0 | |
#echo "Setting DR-1X back to repeater mode..." | |
#gpio -g write 22 0 | |
#gpio -g write 24 0 | |
#gpio -g write 6 1 | |
echo "UDRC-II is now ready for SvxLink!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment