NAME
radio —
device-independent radio driver
layer
SYNOPSIS
radio* at az?
radio* at bktr?
radio* at gtp?
radio* at rt?
radio* at rtii?
radio* at sf2r?
radio* at udsbr?
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/radioio.h>
DESCRIPTION
The
radio driver provides support for various FM radio cards.
It provides an uniform programming interface layer above different underlying
radio hardware drivers.
For radio tuner controlling there is a single device file available:
/dev/radio.
The following
ioctl(2) commands are
supported:
RIOCSSRCH
(int)
- This command assumes that a signal search is required and
gives direction of search to the driver - 0 to search down and any
non-zero value to search up.
RIOCGINFO
(struct radio_info)
-
RIOCSINFO
(struct radio_info)
- Get or set the current hardware device information into the
struct radio_info structure.
struct radio_info {
int mute;
int volume;
int stereo;
int rfreq; /* reference frequency */
int lock; /* locking field strength */
uint32_t freq; /* in kHz */
uint32_t caps; /* card capabilities */
#define RADIO_CAPS_DETECT_STEREO (1<<0)
#define RADIO_CAPS_DETECT_SIGNAL (1<<1)
#define RADIO_CAPS_SET_MONO (1<<2)
#define RADIO_CAPS_HW_SEARCH (1<<3)
#define RADIO_CAPS_HW_AFC (1<<4)
#define RADIO_CAPS_REFERENCE_FREQ (1<<5)
#define RADIO_CAPS_LOCK_SENSITIVITY (1<<6)
#define RADIO_CARD_TYPE (0xFF<<16)
uint32_t info;
#define RADIO_INFO_STEREO (1<<0)
#define RADIO_INFO_SIGNAL (1<<1)
};
The mute field is a boolean.
The volume field holds the card volume information and
can be at most 255.
The stereo field is a boolean.
The rfreq holds information about the card reference
frequency (not all cards support this feature).
The lock field holds information about the card
locking field strength during an automatic search for cards that support
this feature.
The freq field is the frequency in kHz the card is
tuned to.
The caps field is read-only and describes the card
capabilities. The capabilities can have following values:
RADIO_CAPS_DETECT_STEREO
- The device can determine is it tuned to a stereo
signal.
RADIO_CAPS_DETECT_SIGNAL
- The device can determine is it tuned or not.
RADIO_CAPS_SET_MONO
- The device capable to forcible set its output to
mono.
RADIO_CAPS_HW_SEARCH
- The device can do hardware search.
RADIO_CAPS_HW_AFC
- The device has an internal hardware automatic frequency
control.
RADIO_CAPS_REFERENCE_FREQ
- The device allow to change the reference frequency of a
received signal.
RADIO_CAPS_LOCK_SENSITIVITY
- The device allow to change the station lock sensitivity
used during search operation.
RADIO_CARD_TYPE
- Some cards have several different incarnations. This
allow to determine the variant of the card. Currently not used.
The info field is read-only and describes the current
state of the card - tuned/not tuned, stereo signal/mono signal.
RADIO_INFO_STEREO
- Informs whether the device receives a stereo or mono
signal.
RADIO_INFO_SIGNAL
- Informs whether the device receives a valid signal or
noise.
FILES
- /dev/radio
-
SEE ALSO
radioctl(1),
ioctl(2),
az(4),
bktr(4),
gtp(4),
rt(4),
rtii(4),
sf2r(4),
udsbr(4)
HISTORY
The
radio device driver appeared in
OpenBSD
3.0 and
NetBSD 1.6.
AUTHORS
The
radio driver was written by Vladimir Popov and Maxim
Tsyplakov. The man page was written by Vladimir Popov.