rda5807m - Driver for single-chip broadcast FM radio tuner RDA5807M¶
-
group
rda5807m
ESP-IDF driver for single-chip broadcast FM radio tuner RDA5807M.
Copyright (C) 2018 Ruslan V. Uss https://github.com/UncleRus
BSD Licensed as described in the file LICENSE
Enums
-
enum
rda5807m_clock_freq_t
¶ Clock mode.
Values:
-
enumerator
RDA5807M_CLK_32768HZ
¶ 32768 Hz, default
-
enumerator
RDA5807M_CLK_12MHZ
¶ 12 MHz
-
enumerator
RDA5807M_CLK_13MHZ
¶ 13 MHz
-
enumerator
RDA5807M_CLK_19_2MHZ
¶ 19.2 MHz
-
enumerator
RDA5807M_CLK_24MHZ
¶ 24 MHz
-
enumerator
RDA5807M_CLK_26MHZ
¶ 26 MHz
-
enumerator
RDA5807M_CLK_38_4MHZ
¶ 38.4 MHz
-
enumerator
-
enum
rda5807m_channel_spacing_t
¶ Channel spacing (frequency step)
Values:
-
enumerator
RDA5807M_CHAN_SPACE_100
¶ 100 KHz, default
-
enumerator
RDA5807M_CHAN_SPACE_200
¶ 200 KHz
-
enumerator
RDA5807M_CHAN_SPACE_50
¶ 50 KHz
-
enumerator
RDA5807M_CHAN_SPACE_25
¶ 25 KHz
-
enumerator
-
enum
rda5807m_band_t
¶ FM Band.
Values:
-
enumerator
RDA5807M_BAND_87_108
¶ 87..108 MHz (US/Europe), default
-
enumerator
RDA5807M_BAND_76_91
¶ 76..91 MHz (Japan)
-
enumerator
RDA5807M_BAND_76_108
¶ 76..108 MHz (Worldwide)
-
enumerator
RDA5807M_BAND_65_76
¶ 65..76 MHz (Eastern Europe)
-
enumerator
RDA5807M_BAND_50_76
¶ 50..76 MHz (Eastern Europe wide)
-
enumerator
-
enum
rda5807m_seek_status_t
¶ Seek status.
Values:
-
enumerator
RDA5807M_SEEK_NONE
¶ No seeking stations currently.
-
enumerator
RDA5807M_SEEK_STARTED
¶ Seeking in progress.
-
enumerator
RDA5807M_SEEK_COMPLETE
¶ Seeking complete.
-
enumerator
RDA5807M_SEEK_FAILED
¶ Seeking failed - no stations with RSSI > threshold found.
-
enumerator
Functions
-
esp_err_t
rda5807m_init_desc
(rda5807m_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)¶ Initialize device descriptor.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorport
: I2C portsda_gpio
: SDA GPIOscl_gpio
: SCL GPIO
-
esp_err_t
rda5807m_free_desc
(rda5807m_t *dev)¶ Free device descriptor.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor
-
esp_err_t
rda5807m_init
(rda5807m_t *dev, rda5807m_clock_freq_t clock_freq)¶ Initialize device.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorclock_freq
: RCLK frequency, usuallyRDA5807M_CLK_32768HZ
-
esp_err_t
rda5807m_get_state
(rda5807m_t *dev, rda5807m_state_t *state)¶ Get current device status.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] state
: Device status descriptor
-
esp_err_t
rda5807m_get_volume
(rda5807m_t *dev, uint8_t *vol)¶ Get volume level (DAC gain)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] vol
: Volume level, 0..RDA5807M_VOL_MAX
-
esp_err_t
rda5807m_set_volume
(rda5807m_t *dev, uint8_t vol)¶ Set volume level (DAC gain)
Volume scale is logarithmic. When 0, device is muted and output impedance is very large.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorvol
: Volume level, 0..RDA5807M_VOL_MAX
-
esp_err_t
rda5807m_get_mute
(rda5807m_t *dev, bool *mute)¶ Get current mute state.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] mute
: Mute state
-
esp_err_t
rda5807m_set_mute
(rda5807m_t *dev, bool mute)¶ Mute/unmute device.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormute
: Mute if true
-
esp_err_t
rda5807m_get_softmute
(rda5807m_t *dev, bool *softmute)¶ Get current soft mute state.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] softmute
: Soft mute state
-
esp_err_t
rda5807m_set_softmute
(rda5807m_t *dev, bool softmute)¶ Enable/disable soft mute.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorsoftmute
: If true, enable soft mute
-
esp_err_t
rda5807m_get_bass_boost
(rda5807m_t *dev, bool *bass_boost)¶ Get current state of the bass boost feature.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] bass_boost
: Bass boost state
-
esp_err_t
rda5807m_set_bass_boost
(rda5807m_t *dev, bool bass_boost)¶ Enable/disable bass boost feature.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorbass_boost
: If true, enable bass boost
-
esp_err_t
rda5807m_get_mono
(rda5807m_t *dev, bool *mono)¶ Get forced mono state.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] mono
: Forced mono state
-
esp_err_t
rda5807m_set_mono
(rda5807m_t *dev, bool mono)¶ Enable/disable forced mono.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormono
: If true, audio will be in mono even if stereo is available
-
esp_err_t
rda5807m_get_band
(rda5807m_t *dev, rda5807m_band_t *band)¶ Get current band.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] band
: Current band
-
esp_err_t
rda5807m_set_band
(rda5807m_t *dev, rda5807m_band_t band)¶ Switch device to band.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorband
: New band
-
esp_err_t
rda5807m_get_channel_spacing
(rda5807m_t *dev, rda5807m_channel_spacing_t *spacing)¶ Get current channel spacing (frequency step)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] spacing
: Current channel spacing
-
esp_err_t
rda5807m_set_channel_spacing
(rda5807m_t *dev, rda5807m_channel_spacing_t spacing)¶ Set channel spacing (frequency step)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorspacing
: Channel spacing, usuallyRDA5807M_CHAN_SPACE_100
-
esp_err_t
rda5807m_get_frequency_khz
(rda5807m_t *dev, uint32_t *frequency)¶ Get frequency the device is tuned to.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] frequency
: Frequency, kHz
-
esp_err_t
rda5807m_set_frequency_khz
(rda5807m_t *dev, uint32_t frequency)¶ Tune device to a frequency.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorfrequency
: Frequency, kHz
-
esp_err_t
rda5807m_get_afc
(rda5807m_t *dev, bool *afc)¶ Get current state of the automatic frequency control.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor[out] afc
: AFC state
-
esp_err_t
rda5807m_set_afc
(rda5807m_t *dev, bool afc)¶ Enable/disable automatic frequency control.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorafc
: AFC state
-
esp_err_t
rda5807m_seek_start
(rda5807m_t *dev, bool up, bool wrap, uint8_t threshold)¶ Start seeking stations.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorup
: Seeking direction: true - up, false - downwrap
: If true, wrap at the upper or lower band limit and continue seeking, else stop seeking at boundsthreshold
: Seeking SNR threshold, 0..RDA5807M_SEEK_TH_MAX
. Usually it’sRDA5807M_SEEK_TH_DEF
-
esp_err_t
rda5807m_seek_stop
(rda5807m_t *dev)¶ Stop seeking stations.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor
-
struct
rda5807m_state_t
¶ - #include <rda5807m.h>
Overall device status.
-
struct
rda5807m_t
¶ - #include <rda5807m.h>
Device descriptor.
-
enum