RADIO(4) | Device Drivers Manual | RADIO(4) |
radio
—
device-independent radio driver layer
radio* at bktr?
radio* at fms?
radio* at udsbr?
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/radioio.h>
The radio
driver provides support for
various FM radio cards. It provides a 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
intRIOCGINFO
struct radio_infoRIOCSINFO
struct radio_infostruct radio_info { int mute; int volume; int stereo; int rfreq; /* reference frequency */ int lock; /* locking field strength */ u_int32_t freq; /* in kHz */ u_int32_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) u_int32_t info; #define RADIO_INFO_STEREO (1<<0) #define RADIO_INFO_SIGNAL (1<<1) u_int32_t tuner_mode; #define RADIO_TUNER_MODE_RADIO (1<<0) #define RADIO_TUNER_MODE_TV (1<<1) u_int32_t chan; u_int32_t chnlset; };
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 tuner_mode field is the current tuning mode of the tuner. Valid modes are:
RADIO_TUNER_MODE_RADIO
RADIO_TUNER_MODE_TV
The caps field is read-only and describes the card capabilities. The capabilities can have the following values:
RADIO_CAPS_DETECT_STEREO
RADIO_CAPS_DETECT_SIGNAL
RADIO_CAPS_SET_MONO
RADIO_CAPS_HW_SEARCH
RADIO_CAPS_HW_AFC
RADIO_CAPS_REFERENCE_FREQ
RADIO_CAPS_LOCK_SENSITIVITY
RADIO_CARD_TYPE
The info field is read-only and describes the current state of the card - tuned/not tuned, stereo signal/mono signal.
RADIO_INFO_STEREO
RADIO_INFO_SIGNAL
The chan holds the TV channel the card is tuned to.
The chnlset specifies the TV channel set currently being used. The tuner uses the current channel set to derive the tuning frequency from the channel number. Western Europe is the default channel set. The following is a list of valid channel sets:
Either freq or chan can be used to tune to FM radio stations or TV channels, respectively. Some devices may not support both functionalities.
The TEA5757; TEA5759 is a 44-pin integrated AM/FM stereo radio circuit. The radio part is based on the TEA5712. The TEA5757 is used in FM-standards in which the local oscillator frequency is above the radio frequency (e.g. European and American standards). The TEA5759 is the version in which the oscillator frequency is below the radio frequency (e.g. Japanese standards). To conform with the Japanese standards, it is necessary to set the flags' least significant bit to 1. The TEA5757; TEA5759 has a 25-bit read-write shift register. The TEA5757 chips are used in fms(4) cards.
radioctl(1), ioctl(2), bktr(4), fms(4), intro(4), udsbr(4), radio(9)
The radio
device driver appeared in
OpenBSD 3.0.
The radio
driver was written by
Vladimir Popov
<jumbo@narod.ru> and
Maxim Tsyplakov
<tm@oganer.net>. The man
page was written by Vladimir Popov
<jumbo@narod.ru>.
February 1, 2021 | OpenBSD-current |