Difference between revisions of "What can I do with BASE0010"

From IGEP - ISEE Wiki

Jump to: navigation, search
Line 1: Line 1:
 
 
= How to enable BASE0010 support =
 
= How to enable BASE0010 support =
  
Line 6: Line 5:
 
  buddy=base0010
 
  buddy=base0010
  
= See also =
+
= How to get DVI output =
 +
 
 +
By default the DVI is outputs 1024 x 768 @ 60Hz, so if your monitor support this resolution you'll see the desktop when board is up.
 +
 
 +
Unfortunately the capability to automatically set the display resolution to match your monitor isn't yet available. The simplest method to customize the display resolution is to set it using  [[How do I edit my kernel command line | kernel command line]
 +
 
 +
The required arguments use the following pattern: omapfb.mode=<display>:<resolutionMR-bpp@refresh> omapdss.def_disp=<display> where:
 +
 
 +
For example:
 +
 
 +
omapdss.def_disp=dvi omapfb.mode=1024x768MR-16@60
 +
omapdss.def_disp=dvi omapfb.mode=hd720-16@60
 +
 
 +
See also: [[How do I edit my kernel command line]].
 +
 
 +
= How to configure ethernet =
 +
 
 +
There are two Ethernets on the BASE0010 board which can be used, for example if your access to the internet is via a route you can configure one of them with following command:
 +
 
 +
ifconfig eth0 up
 +
udhcpc -i eth0
 +
 
 +
For second interface just change the eth0 device for eth1
 +
 
 +
= How to get sound out (audio out) =
 +
 
 +
The amplifiers for the headset output are disabled by default, so the first thing you'll do is enable these amplifiers with
 +
 
 +
amixer set -D hw:0 'Headset' 0dB
 +
amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
 +
amixer set -D hw:0 'HeadsetR Mixer AudioR2' on
 +
 
 +
Then you can easily play a wav sound, for example
 +
 
 +
aplay sample.wav
 +
 
 +
= How to get sound in (audio in) =
 +
 
 +
You can record audio in with
 +
 
 +
arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav
 +
 
 +
Following output is expected on console
 +
 
 +
Recording WAVE 'audio-in.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
 +
Plug PCM: Hardware PCM card 0 'TWL4030' device 0 subdevice 0
 +
Its setup is:
 +
  stream      : CAPTURE
 +
  access      : RW_INTERLEAVED
 +
  format      : S16_LE
 +
  subformat    : STD
 +
  channels    : 2
 +
  rate        : 44100
 +
  exact rate  : 44100 (44100/1)
 +
  msbits      : 16
 +
  buffer_size  : 32768
 +
  period_size  : 2048
 +
  period_time  : 46439
 +
  tick_time    : 7812
 +
  tstamp_mode  : NONE
 +
  period_step  : 1
 +
  sleep_min    : 0
 +
  avail_min    : 2048
 +
  xfer_align  : 2048
 +
  start_threshold  : 1
 +
  stop_threshold  : 32768
 +
  silence_threshold: 0
 +
  silence_size : 0
 +
  boundary    : 1073741824
 +
 
 +
When ever you think you want to stop just press CONTRL+C
 +
 
 +
= How to get user button =
 +
 
 +
There is one button on the BASE0010 board which can be used by the software for user interaction.
 +
 
 +
The kernel driver creates a device in /dev/input directory. To access to the button you will use the Linux Input Device subsystem. In Particular evdev, which is a generic input event interface. It passes the events generated in the kernel straight to the program, with timestamps. The event codes are the same on all architectures and are hardware independent.
 +
 
 +
For example, the test program ([http://beagleboard.googlecode.com/files/evtest.c evtest.c]) listens on the /dev/input/event0 file descriptor, trying to read any events
 +
 
 +
evtest /dev/input/event0
 +
 
 +
Input driver version is 1.0.0
 +
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
 +
Input device name: "gpio-keys"
 +
Supported events:
 +
  Event type 0 (Sync)
 +
  Event type 1 (Key)
 +
    Event code 276 (ExtraBtn)
 +
Testing ... (interrupt to exit)
 +
 
 +
If you'll press the button you'll see
 +
 
 +
Event: time 8354.388305, type 1 (Key), code 276 (ExtraBtn), value 0
 +
Event: time 8354.388335, -------------- Report Sync ------------
 +
Event: time 8354.573364, type 1 (Key), code 276 (ExtraBtn), value 1
 +
Event: time 8354.573364, -------------- Report Sync ------------
  
* [[Linux Kernel 2.6.35.y Overview]]
+
For more information please read:
* [[How do I edit my kernel command line]]
+
# linux-2.6/Documentation/input/input.txt
 +
# linux-2.6/Documentation/input/input-programming.txt

Revision as of 17:45, 6 July 2011

How to enable BASE0010 support

The required kernel command line option here is

buddy=base0010

How to get DVI output

By default the DVI is outputs 1024 x 768 @ 60Hz, so if your monitor support this resolution you'll see the desktop when board is up.

Unfortunately the capability to automatically set the display resolution to match your monitor isn't yet available. The simplest method to customize the display resolution is to set it using [[How do I edit my kernel command line | kernel command line]

The required arguments use the following pattern: omapfb.mode=<display>:<resolutionMR-bpp@refresh> omapdss.def_disp=<display> where:

For example:

omapdss.def_disp=dvi omapfb.mode=1024x768MR-16@60
omapdss.def_disp=dvi omapfb.mode=hd720-16@60

See also: How do I edit my kernel command line.

How to configure ethernet

There are two Ethernets on the BASE0010 board which can be used, for example if your access to the internet is via a route you can configure one of them with following command:

ifconfig eth0 up
udhcpc -i eth0

For second interface just change the eth0 device for eth1

How to get sound out (audio out)

The amplifiers for the headset output are disabled by default, so the first thing you'll do is enable these amplifiers with

amixer set -D hw:0 'Headset' 0dB
amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
amixer set -D hw:0 'HeadsetR Mixer AudioR2' on

Then you can easily play a wav sound, for example

aplay sample.wav

How to get sound in (audio in)

You can record audio in with

arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav

Following output is expected on console

Recording WAVE 'audio-in.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Hardware PCM card 0 'TWL4030' device 0 subdevice 0
Its setup is:
 stream       : CAPTURE
 access       : RW_INTERLEAVED
 format       : S16_LE
 subformat    : STD
 channels     : 2
 rate         : 44100
 exact rate   : 44100 (44100/1)
 msbits       : 16
 buffer_size  : 32768
 period_size  : 2048
 period_time  : 46439
 tick_time    : 7812
 tstamp_mode  : NONE
 period_step  : 1
 sleep_min    : 0
 avail_min    : 2048
 xfer_align   : 2048
 start_threshold  : 1
 stop_threshold   : 32768
 silence_threshold: 0
 silence_size : 0
 boundary     : 1073741824

When ever you think you want to stop just press CONTRL+C

How to get user button

There is one button on the BASE0010 board which can be used by the software for user interaction.

The kernel driver creates a device in /dev/input directory. To access to the button you will use the Linux Input Device subsystem. In Particular evdev, which is a generic input event interface. It passes the events generated in the kernel straight to the program, with timestamps. The event codes are the same on all architectures and are hardware independent.

For example, the test program (evtest.c) listens on the /dev/input/event0 file descriptor, trying to read any events

evtest /dev/input/event0
Input driver version is 1.0.0
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "gpio-keys"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 276 (ExtraBtn)
Testing ... (interrupt to exit)

If you'll press the button you'll see

Event: time 8354.388305, type 1 (Key), code 276 (ExtraBtn), value 0
Event: time 8354.388335, -------------- Report Sync ------------
Event: time 8354.573364, type 1 (Key), code 276 (ExtraBtn), value 1
Event: time 8354.573364, -------------- Report Sync ------------

For more information please read:

  1. linux-2.6/Documentation/input/input.txt
  2. linux-2.6/Documentation/input/input-programming.txt