Difference between revisions of "BBB Audio Cape RevB Getting Started"

From eLinux.org
Jump to: navigation, search
(load device tree)
 
(play and record audio)
Line 1: Line 1:
This guide is intended to walk through the basic instructions on how to get your Audio Cape working. The instructions below are performed with following kernel and may vary for different kernel versions.
+
This guide is intended to walk through the basic instructions on how to get your Audio Cape working. If you have any question, please email support@circuitco.com.
 +
 
 +
 
 +
To purchase the Audio Cape please visit [http://boardzoo.com/ BoardZoo.com]
 +
 
 +
To purchase the BeagleBone Black please visit [http://beagleboard.org/ BeagleBoard.org]
 +
 
 +
 
 +
The instructions below are performed with following kernel and may vary for different kernel versions.
 
<code>
 
<code>
 
     root@beaglebone:~# uname -a
 
     root@beaglebone:~# uname -a
 
     Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux
 
     Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux
 
</code>
 
</code>
==Load the device tree file===
+
==Load the device tree file==
Ensure your BBB is connected to the internet. Download the provided device tree files and decompress it. You may end up doing something like this:
+
Ensure your BBB is connected to the internet. Download the provided device tree file and decompress it. You may end up doing something like this:
 
<code>
 
<code>
 
     root@beaglebone:~# wget http://elinux.org/images/1/10/BB-BONE-AUDI-02-00A0.zip
 
     root@beaglebone:~# wget http://elinux.org/images/1/10/BB-BONE-AUDI-02-00A0.zip
 
     root@beaglebone:~# unzip BB-BONE-AUDI-02-00A0.zip
 
     root@beaglebone:~# unzip BB-BONE-AUDI-02-00A0.zip
 +
</code>
 +
If you don't have unzip installed. Run as root:
 +
<code>
 +
    root@beaglebone:~# apt-get update
 +
    root@beaglebone:~# apt-get install unzip
 
</code>
 
</code>
 
Compile the device tree file and move it to /lib/firmware:
 
Compile the device tree file and move it to /lib/firmware:
Line 15: Line 28:
 
     root@beaglebone:~# mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware
 
     root@beaglebone:~# mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware
 
</code>
 
</code>
Since this Audio Cape uses the same audio signal from the onboard HDMI interface, you need to disable the audio portion of the HDMI by edit the uEnv.txt at /boot/uboot. Add this line to the uEnv.txt file.
+
Since this Audio Cape uses the same audio signal from the onboard HDMI interface, you need to disable the audio portion of the HDMI by edit the uEnv.txt at /boot/uboot. Add this line to the uEnv.txt file:
 
<code>
 
<code>
     optargs=capemgr.disable_partno=BB-BONELT-HDMI capemgr.enable_partno=BB-BONE-AUDI-02
+
     optargs=capemgr.disable_partno=BB-BONELT-HDMI
 
</code>
 
</code>
Reboot your BBB. Log in and check the capemgr
+
 
 +
Reboot your BBB. Log in and check the capemgr:
 
<code>
 
<code>
 
     root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
 
     root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
Line 30: Line 44:
 
         6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
 
         6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
 
</code>
 
</code>
Note that the "virtual cape" BB-BONELT-HDMIN is loaded instead of the BB-BONELT-HDMI. The difference between the two "capes" is that the BB-BONELT-HDMIN does not include the audio protion. By doing this, we can now load the Audio Cape device tree:
+
Note that the "virtual cape" BB-BONELT-HDMIN is loaded instead of the BB-BONELT-HDMI. The difference between the two "capes" is that the BB-BONELT-HDMIN does not include the audio portion. Now load the DT file for Audio Cape:
 
<code>
 
<code>
 
     root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
 
     root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
Line 44: Line 58:
 
</code>
 
</code>
 
The Audio Cape is now loaded.
 
The Audio Cape is now loaded.
 +
 +
 +
==Play Audio Files==
 +
Before playing an audio file, you may need to set the volume and configuration of the codec. Download the [https://raw.githubusercontent.com/CircuitCo/BeagleBone-Audio/files/asound.state asound.state] file to /etc/var/alsa.
 +
<code>
 +
    root@beaglebone:~# cd /var/lib/alsa
 +
    root@beaglebone:~# wget https://raw.githubusercontent.com/CircuitCo/BeagleBone-Audio/files/asound.state
 +
</code>
 +
You may need to reboot your BBB (and load the Audio Cape DT file again if required).
 +
===Play a WAVE file===
 +
To play a WAVE file (say sample.wav), run:
 +
<code>
 +
    root@beaglebone:~# aplay sample.wav
 +
</code>
 +
 +
===Record an audio input===
 +
To record an audio input, you can use a male-to-male audio cable to connect from an audio source (phone, lapotp, etc) to the audio input connector on the Audio Cape. Run the command below
 +
<code>
 +
    root@beaglebone:~# arecord -r 441000 -f S16_LE input.wav
 +
</code>
 +
Play the recorded file:
 +
<code>
 +
    root@beaglebone:~# aplay input.wav
 +
</code>

Revision as of 10:59, 16 May 2014

This guide is intended to walk through the basic instructions on how to get your Audio Cape working. If you have any question, please email support@circuitco.com.


To purchase the Audio Cape please visit BoardZoo.com

To purchase the BeagleBone Black please visit BeagleBoard.org


The instructions below are performed with following kernel and may vary for different kernel versions.

   root@beaglebone:~# uname -a
   Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux

Load the device tree file

Ensure your BBB is connected to the internet. Download the provided device tree file and decompress it. You may end up doing something like this:

   root@beaglebone:~# wget http://elinux.org/images/1/10/BB-BONE-AUDI-02-00A0.zip
   root@beaglebone:~# unzip BB-BONE-AUDI-02-00A0.zip

If you don't have unzip installed. Run as root:

   root@beaglebone:~# apt-get update
   root@beaglebone:~# apt-get install unzip

Compile the device tree file and move it to /lib/firmware:

   root@beaglebone:~# dtc -O dtb -o BB-BONE-AUDI-02-00A0.dtbo -b 0 -@ BB-BONE-AUDI-02-00A0.dts
   root@beaglebone:~# mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware

Since this Audio Cape uses the same audio signal from the onboard HDMI interface, you need to disable the audio portion of the HDMI by edit the uEnv.txt at /boot/uboot. Add this line to the uEnv.txt file:

   optargs=capemgr.disable_partno=BB-BONELT-HDMI

Reboot your BBB. Log in and check the capemgr:

   root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
       0: 54:PF--- 
       1: 55:PF--- 
       2: 56:PF--- 
       3: 57:PF--- 
       4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
       5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
       6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

Note that the "virtual cape" BB-BONELT-HDMIN is loaded instead of the BB-BONELT-HDMI. The difference between the two "capes" is that the BB-BONELT-HDMIN does not include the audio portion. Now load the DT file for Audio Cape:

   root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
   root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
       0: 54:PF--- 
       1: 55:PF--- 
       2: 56:PF--- 
       3: 57:PF--- 
       4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
       5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
       6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
       7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-AUDI-02

The Audio Cape is now loaded.


Play Audio Files

Before playing an audio file, you may need to set the volume and configuration of the codec. Download the asound.state file to /etc/var/alsa.

   root@beaglebone:~# cd /var/lib/alsa
   root@beaglebone:~# wget https://raw.githubusercontent.com/CircuitCo/BeagleBone-Audio/files/asound.state

You may need to reboot your BBB (and load the Audio Cape DT file again if required).

Play a WAVE file

To play a WAVE file (say sample.wav), run:

   root@beaglebone:~# aplay sample.wav

Record an audio input

To record an audio input, you can use a male-to-male audio cable to connect from an audio source (phone, lapotp, etc) to the audio input connector on the Audio Cape. Run the command below

   root@beaglebone:~# arecord -r 441000 -f S16_LE input.wav

Play the recorded file:

   root@beaglebone:~# aplay input.wav