Skip to content

Instantly share code, notes, and snippets.

@brandonjank
Last active November 21, 2016 06:41

Revisions

  1. @backburn backburn revised this gist Nov 21, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions udrc2-dr1x-svxlink-init.sh
    Original file line number Diff line number Diff line change
    @@ -128,8 +128,10 @@ 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..."
  2. @backburn backburn revised this gist Nov 21, 2016. 1 changed file with 35 additions and 16 deletions.
    51 changes: 35 additions & 16 deletions udrc2-dr1x-svxlink-init.sh
    Original file line number Diff line number Diff line change
    @@ -66,23 +66,40 @@ EOF
    echo "Saving ALSA config..."
    sudo alsactl store


    # GPIOS
    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

    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

    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
    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
    @@ -116,7 +133,9 @@ sudo gpio -g write 24 0
    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

  3. @backburn backburn revised this gist Nov 21, 2016. 1 changed file with 0 additions and 5080 deletions.
    5,080 changes: 0 additions & 5,080 deletions startup.wav
    0 additions, 5,080 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
  4. @backburn backburn created this gist Nov 21, 2016.
    5,080 changes: 5,080 additions & 0 deletions startup.wav
    5,080 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
    128 changes: 128 additions & 0 deletions udrc2-dr1x-svxlink-init.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,128 @@
    #!/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
    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

    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

    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

    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

    # Test TX by playing sound
    echo "Activating PTT..."
    sudo gpio -g write 12 1
    echo "Playing startup sound..."
    sudo aplay -Dplughw:udrc -c 2 startup.wav
    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!"