#include <otSi4703.h>
Public Types | |
typedef otSi4703::RadioBand | RadioBand |
typedef otSi4703::FreqSpacing | FreqSpacing |
enum | RadioBand { BAND_WEST, BAND_WORLD = 64, BAND_EAST = 128 } |
enum | FreqSpacing { SP_200KHZ, SP_100KHZ, SP_50KHZ } |
enum | StatusBit { ST_RDSR = 0x8000, ST_STC = 0x4000, ST_SFBL = 0x2000, ST_AFCRL = 0x1000, ST_RDSS = 0x0800, ST_ST = 0x0100 } |
Public Member Functions | |
otSi4703 () | |
bool | init (RadioBand band=BAND_WEST) |
U16 | getFrequency () |
void | setFrequency (U16 freq) |
void | setChannelSpacing (FreqSpacing fs) |
FreqSpacing | channelSpacing () |
void | setVolume (U8 dBFS) |
U8 | volume () |
void | unlock () |
void | seekUp (bool wrap=true) |
void | seekDown (bool wrap=true) |
U8 | getRSSI () |
bool | volumeUp () |
bool | volumeDown (bool alsomute=false) |
void | mute () |
void | unMute (bool minvol=false) |
void | end () |
void | setProperty (U16 property, U16 value) |
U16 | getProperty (U16 property) |
U16 | getStatus () |
bool | readRDSGroup (U16 *block) |
void | readRDS (char *message, U32 timeout, U8 timer=TIMER0) |
|
|
|
|
|
|
|
|
|
|
|
Create the class. |
|
Read channel spacing
|
|
Mutes and disables the chip. |
|
Gets the frequency the chip is currently tuned to.
|
|
Gets a property value, see the SI4703_PROP_* constants and the Si4703 Datasheet for more information.
|
|
Retrieves the Received Signal Strength Indication measurement for the currently tuned station. Return a maximum of approximately 75 dBµV
|
|
Accessor for the status register. See StatusBit for interpreting all bits
|
|
Init the class
|
|
Mutes the audio output. |
|
Read a RDS message
|
|
If the chip has received any valid RDS group, fetch it off the chip and fill word block[4] with it, returning true; otherwise returnfalse without side-effects. As RDS has a [mandated by standard] constant transmission rate of 11.4 groups per second, you should actively call this function (e.g.from loop()) so that you read most if not all of the error-corrected RDS groups received. For example: loop() { if(otSi4703::readRDSGroup(data)) RDSDecoder::decodeRDSGroup(data); }
|
|
Commands the radio to seek down to the next valid channel.
|
|
Commands the radio to seek up to the next valid channel.
|
|
Set the channel spacing
|
|
Set the receiver frequency
|
|
Sets a property value, see the SI4703_PROP_* constants and the Si4703 Datasheet for more information.
|
|
Set the volume with a logarithmic scale from 0 = (mute), 1 = -28dBFS, ..., 14 = -2 dBFS, 15 = 0 dBFS
|
|
Free search engine |
|
Unmutes the audio output.
|
|
Read volume set
|
|
Decrease the volume by 1. If the minimum volume has been reached, no further decrease will take place and returns false; otherwise true.
|
|
Increase the volume by 1. If the maximum volume has been reached, no further increase will take place and returns false; otherwise true.
|