Arduino Radio Library  0.9
A set of Arduino libraries to control diverse FM radio receiver chips in Arduino projects.
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TEA5767 Class Reference

Library to control the TEA5767 radio chip. More...

#include <TEA5767.h>

Inheritance diagram for TEA5767:
RADIO

Public Member Functions

 TEA5767 ()
 
bool init ()
 initialize library and the chip. More...
 
void term ()
 terminate all radio functions. More...
 
void setVolume (uint8_t newVolume)
 setVolume is a non-existing function in TEA5767. It will always me MAXVOLUME. More...
 
void setBassBoost (bool switchOn)
 setBassBoost is a non-existing function in TEA5767. It will never be acivated. More...
 
void setMono (bool switchOn)
 force mono receiving mode. More...
 
void setMute (bool switchOn)
 Force mute mode. More...
 
void setBand (RADIO_BAND newBand)
 Tune to new a band. More...
 
void setFrequency (RADIO_FREQ newF)
 Change the frequency in the chip. More...
 
RADIO_FREQ getFrequency (void)
 Retrieve the real frequency from the chip after automatic tuning. More...
 
void seekUp (bool toNextSender=true)
 Start seek mode upwards. More...
 
void seekDown (bool toNextSender=true)
 Start seek mode downwards. More...
 
void checkRDS ()
 Check if RDS Data is available and good. More...
 
void getRadioInfo (RADIO_INFO *info)
 Retrieve some information about the current radio function of the chip. More...
 
void getAudioInfo (AUDIO_INFO *info)
 Retrieve some information about the current audio function of the chip. More...
 
void debugScan ()
 
void debugStatus ()
 Send the current values of all registers to the Serial port. More...
 
void _readRegisters ()
 Load all status registers from to the chip. More...
 
void _saveRegisters ()
 
virtual uint8_t getVolume ()
 Retrieve the current output volume in the range 0..15. More...
 
virtual bool getMute ()
 Retrieve the current mute mode setting. More...
 
virtual void setSoftMute (bool switchOn)
 Control the softmute mode (mute on low signals) of the radio chip. More...
 
virtual bool getSoftMute ()
 Retrieve the current soft mute mode setting. More...
 
virtual bool getBassBoost ()
 Retrieve the current bass boost mode setting. More...
 
virtual RADIO_FREQ getMinFrequency ()
 Get the minimum frequency of the current selected band. More...
 
virtual RADIO_FREQ getMaxFrequency ()
 Get the maximum frequency of the current selected band. More...
 
virtual RADIO_FREQ getFrequencyStep ()
 Get resolution of the current selected band. More...
 
virtual RADIO_BAND getBand ()
 Retrieve the current band setting. More...
 
virtual void setBandFrequency (RADIO_BAND newBand, RADIO_FREQ newFreq)
 Set Band and Frequency in one call. More...
 
virtual bool getMono ()
 Retrieve the current mono mode setting. More...
 
virtual void clearRDS ()
 Clear RDS data in the attached RDS Receiver by sending 0,0,0,0. More...
 
virtual void attachReceiveRDS (receiveRDSFunction newFunction)
 Register a RDS processor function. More...
 
virtual void formatFrequency (char *s, uint8_t length)
 Format the current frequency for display and printing. More...
 
virtual void debugEnable (bool enable=true)
 Enable sending debug information to the Serial port. More...
 
virtual void debugRadioInfo ()
 Print out all radio information. More...
 
virtual void debugAudioInfo ()
 Print out all audio information. More...
 

Public Attributes

const uint8_t MAXVOLUME = 15
 max volume level for radio implementations. More...
 

Protected Member Functions

void _printHex4 (uint16_t val)
 Prints a register as 4 character hexadecimal code with leading zeros. More...
 

Protected Attributes

bool _debugEnabled
 Set by debugEnable() and controls debugging functionality. More...
 
uint8_t _volume
 Last set volume level. More...
 
bool _bassBoost
 Last set bass Boost effect. More...
 
bool _mono
 Last set mono effect. More...
 
bool _mute
 Last set mute effect. More...
 
bool _softMute
 Last set softMute effect. More...
 
RADIO_BAND _band
 Last set band. More...
 
RADIO_FREQ _freq
 Last set frequency. More...
 
RADIO_FREQ _freqLow
 Lowest frequency of the current selected band. More...
 
RADIO_FREQ _freqHigh
 Highest frequency of the current selected band. More...
 
RADIO_FREQ _freqSteps
 Resulution of the tuner. More...
 
receiveRDSFunction _sendRDS
 Registered RDS Function that is called on new available data. More...
 

Private Member Functions

void _write16 (uint16_t val)
 
uint16_t _read16 (void)
 
void _seek (bool seekUp=true)
 Seeks out the next available station. More...
 
void _waitEnd ()
 wait until the current seek and tune operation is over. More...
 

Private Attributes

uint8_t registers [5]
 registers for controlling the radio chip. More...
 
uint8_t status [5]
 registers with the current status of the radio chip. More...
 

Detailed Description

Library to control the TEA5767 radio chip.

Constructor & Destructor Documentation

TEA5767::TEA5767 ( )

Member Function Documentation

void RADIO::_printHex4 ( uint16_t  val)
protectedinherited

Prints a register as 4 character hexadecimal code with leading zeros.

uint16_t TEA5767::_read16 ( void  )
private
void TEA5767::_readRegisters ( )

Load all status registers from to the chip.

void TEA5767::_saveRegisters ( )
void TEA5767::_seek ( bool  seekUp = true)
private

Seeks out the next available station.

void TEA5767::_waitEnd ( )
private

wait until the current seek and tune operation is over.

void TEA5767::_write16 ( uint16_t  val)
private
void RADIO::attachReceiveRDS ( receiveRDSFunction  newFunction)
virtualinherited

Register a RDS processor function.

void TEA5767::checkRDS ( )
virtual

Check if RDS Data is available and good.

In the general radio implementation there is no chip for RDS. This function needs to be implemented for radio chips with RDS receiving functionality.

Reimplemented from RADIO.

void RADIO::clearRDS ( )
virtualinherited

Clear RDS data in the attached RDS Receiver by sending 0,0,0,0.

Send a 0.0.0.0 to the RDS receiver if there is any attached. This is to point out that there is a new situation and all existing data should be invalid from now on.

void RADIO::debugAudioInfo ( )
virtualinherited

Print out all audio information.

void RADIO::debugEnable ( bool  enable = true)
virtualinherited

Enable sending debug information to the Serial port.

void RADIO::debugRadioInfo ( )
virtualinherited

Print out all radio information.

void TEA5767::debugScan ( )
void TEA5767::debugStatus ( )
virtual

Send the current values of all registers to the Serial port.

Reimplemented from RADIO.

void RADIO::formatFrequency ( char *  s,
uint8_t  length 
)
virtualinherited

Format the current frequency for display and printing.

void TEA5767::getAudioInfo ( AUDIO_INFO info)
virtual

Retrieve some information about the current audio function of the chip.

Return current settings as far as no chip is required. When using the radio::setXXX methods, no chip specific implementation is needed.

Reimplemented from RADIO.

RADIO_BAND RADIO::getBand ( )
virtualinherited

Retrieve the current band setting.

bool RADIO::getBassBoost ( )
virtualinherited

Retrieve the current bass boost mode setting.

Retrieve the current bass boost mode setting. The base implementation returns only the value in the internal variable.

RADIO_FREQ TEA5767::getFrequency ( void  )
virtual

Retrieve the real frequency from the chip after automatic tuning.

Returns
RADIO_FREQ the current frequency.

Reimplemented from RADIO.

RADIO_FREQ RADIO::getFrequencyStep ( )
virtualinherited

Get resolution of the current selected band.

RADIO_FREQ RADIO::getMaxFrequency ( )
virtualinherited

Get the maximum frequency of the current selected band.

RADIO_FREQ RADIO::getMinFrequency ( )
virtualinherited

Get the minimum frequency of the current selected band.

bool RADIO::getMono ( )
virtualinherited

Retrieve the current mono mode setting.

The base implementation returns only the value in the internal variable.

bool RADIO::getMute ( )
virtualinherited

Retrieve the current mute mode setting.

The base implementation returns only the value in the internal variable.

void TEA5767::getRadioInfo ( RADIO_INFO info)
virtual

Retrieve some information about the current radio function of the chip.

Return all the Radio settings. This implementation only knows some values from the last settings.

Reimplemented from RADIO.

bool RADIO::getSoftMute ( )
virtualinherited

Retrieve the current soft mute mode setting.

The base implementation returns only the value in the internal variable.

uint8_t RADIO::getVolume ( )
virtualinherited

Retrieve the current output volume in the range 0..15.

bool TEA5767::init ( )
virtual

initialize library and the chip.

The RADIO class doesn't implement a concrete chip so nothing has to be initialized.

Reimplemented from RADIO.

void TEA5767::seekDown ( bool  toNextSender = true)
virtual

Start seek mode downwards.

Reimplemented from RADIO.

void TEA5767::seekUp ( bool  toNextSender = true)
virtual

Start seek mode upwards.

Reimplemented from RADIO.

void TEA5767::setBand ( RADIO_BAND  newBand)
virtual

Tune to new a band.

Reimplemented from RADIO.

void RADIO::setBandFrequency ( RADIO_BAND  newBand,
RADIO_FREQ  newFreq 
)
virtualinherited

Set Band and Frequency in one call.

void TEA5767::setBassBoost ( bool  switchOn)
virtual

setBassBoost is a non-existing function in TEA5767. It will never be acivated.

Reimplemented from RADIO.

void TEA5767::setFrequency ( RADIO_FREQ  newF)
virtual

Change the frequency in the chip.

Parameters
newF
Returns
void

Reimplemented from RADIO.

void TEA5767::setMono ( bool  switchOn)
virtual

force mono receiving mode.

Reimplemented from RADIO.

void TEA5767::setMute ( bool  switchOn)
virtual

Force mute mode.

Reimplemented from RADIO.

void RADIO::setSoftMute ( bool  switchOn)
virtualinherited

Control the softmute mode (mute on low signals) of the radio chip.

The base implementation ony stores the value to the internal variable.

Reimplemented in SI4705, RDA5807M, and SI4703.

void TEA5767::setVolume ( uint8_t  newVolume)
virtual

setVolume is a non-existing function in TEA5767. It will always me MAXVOLUME.

Reimplemented from RADIO.

void TEA5767::term ( )
virtual

terminate all radio functions.

switch the power off The RADIO class doesn't implement a concrete chip so nothing has to be terminated.

Reimplemented from RADIO.

Member Data Documentation

RADIO_BAND RADIO::_band
protectedinherited

Last set band.

bool RADIO::_bassBoost
protectedinherited

Last set bass Boost effect.

bool RADIO::_debugEnabled
protectedinherited

Set by debugEnable() and controls debugging functionality.

RADIO_FREQ RADIO::_freq
protectedinherited

Last set frequency.

RADIO_FREQ RADIO::_freqHigh
protectedinherited

Highest frequency of the current selected band.

RADIO_FREQ RADIO::_freqLow
protectedinherited

Lowest frequency of the current selected band.

RADIO_FREQ RADIO::_freqSteps
protectedinherited

Resulution of the tuner.

bool RADIO::_mono
protectedinherited

Last set mono effect.

bool RADIO::_mute
protectedinherited

Last set mute effect.

receiveRDSFunction RADIO::_sendRDS
protectedinherited

Registered RDS Function that is called on new available data.

bool RADIO::_softMute
protectedinherited

Last set softMute effect.

uint8_t RADIO::_volume
protectedinherited

Last set volume level.

const uint8_t TEA5767::MAXVOLUME = 15

max volume level for radio implementations.

uint8_t TEA5767::registers[5]
private

registers for controlling the radio chip.

uint8_t TEA5767::status[5]
private

registers with the current status of the radio chip.


The documentation for this class was generated from the following files: