![]() |
PU2CLR Si4735 Arduino Library 2.1.4
Arduino Library for Si47XX Devices - By Ricardo Lima Caratti
|
#include <Arduino.h>
#include <Wire.h>
Go to the source code of this file.
Data Structures | |
union | si473x_powerup |
Power Up arguments data type. More... | |
union | si473x_gpio |
Data type for Enables output for GPO1, GPO2 and GPO3. More... | |
union | si473x_gpio_ien |
Data type for Configuring the sources for the GPO2/INT interrupt pin. More... | |
union | si47x_frequency |
Represents how the frequency is stored in the si4735. More... | |
union | si47x_antenna_capacitor |
Antenna Tuning Capacitor data type manupulation. More... | |
union | si47x_set_frequency |
AM Tune frequency data type command (AM_TUNE_FREQ command) More... | |
union | si47x_seek |
Seek frequency (automatic tuning). ARG1. More... | |
struct | si47x_seek_am_complement |
Seek frequency (automatic tuning) AM complement (ARG2, ARG3, ARG4 and ARG5) More... | |
union | si47x_status |
Status response data representation. More... | |
union | si47x_response_status |
Response status command. More... | |
union | si47x_firmware_information |
Data representation for Firmware Information (GET_REV) More... | |
union | si47x_firmware_query_library |
Firmware Query Library ID response. More... | |
union | si47x_tune_status |
Seek station status. More... | |
union | si47x_property |
Data type to deal with SET_PROPERTY command. More... | |
union | si47x_rqs_status |
Radio Signal Quality data representation. More... | |
union | si47x_frontend_agc_control |
Adjusts the AM AGC for external front-end attenuator and external front-end cascode LNA. More... | |
union | si47x_rds_command |
Data type for RDS Status command and response information. More... | |
union | si47x_rds_status |
Response data type for current channel and reads an entry from the RDS FIFO. More... | |
union | si47x_rds_int_source |
FM_RDS_INT_SOURCE property data type. More... | |
union | si47x_rds_config |
Data type for FM_RDS_CONFIG Property. More... | |
union | si47x_rds_blocka |
Block A data type. More... | |
union | si47x_rds_blockb |
Block B data type. More... | |
union | si47x_rds_date_time |
union | si47x_agc_status |
union | si47x_agc_overrride |
union | si47x_bandwidth_config |
union | si47x_ssb_mode |
union | si4735_digital_output_format |
Digital audio output format data structure (Property 0x0102. DIGITAL_OUTPUT_FORMAT). More... | |
union | si4735_eeprom_patch_header |
patch header stored in a eeprom More... | |
struct | si4735_digital_output_sample_rate |
Digital audio output sample structure (Property 0x0104. DIGITAL_OUTPUT_SAMPLE_RATE). More... | |
class | SI4735 |
SI4735 Class. More... | |
struct | si473x_powerup.arg |
struct | si473x_gpio.arg |
struct | si473x_gpio_ien.arg |
struct | si47x_frequency.raw |
struct | si47x_antenna_capacitor.raw |
struct | si47x_set_frequency.arg |
struct | si47x_seek.arg |
struct | si47x_status.refined |
struct | si47x_response_status.resp |
struct | si47x_firmware_information.resp |
struct | si47x_firmware_query_library.resp |
struct | si47x_tune_status.arg |
struct | si47x_property.raw |
struct | si47x_rqs_status.resp |
struct | si47x_frontend_agc_control.field |
struct | si47x_rds_command.arg |
struct | si47x_rds_status.resp |
struct | si47x_rds_int_source.refined |
struct | si47x_rds_config.arg |
struct | si47x_rds_blocka.refined |
struct | si47x_rds_blocka.raw |
struct | si47x_rds_blockb.group0 |
struct | si47x_rds_blockb.group2 |
struct | si47x_rds_blockb.refined |
struct | si47x_rds_blockb.raw |
struct | si47x_rds_date_time.refined |
struct | si47x_agc_status.refined |
struct | si47x_agc_overrride.arg |
struct | si47x_bandwidth_config.param |
struct | si47x_ssb_mode.param |
struct | si4735_digital_output_format.refined |
struct | si4735_eeprom_patch_header.refined |
#define POWER_UP_FM 0 |
SI4735 ARDUINO LIBRARY
This is an Arduino library for the SI473X and SI474X, BROADCAST AM/FM/SW RADIO RECEIVER, IC from Silicon Labs for the
Arduino development environment
The communication used by this library is I2C.
This file contains: const (#define), Defined Data type and Methods declarations
You can see a complete documentation on https://github.com/pu2clr/SI4735
The are more than 30 examples on https://github.com/pu2clr/SI4735/tree/master/examples
#define POWER_UP_AM 1 |
#define POWER_UP_WB 3 |
#define POWER_PATCH 15 |
#define SI473X_ADDR_SEN_LOW 0x11 |
#define SI473X_ADDR_SEN_HIGH 0x63 |
#define POWER_UP 0x01 |
#define GET_REV 0x10 |
#define POWER_DOWN 0x11 |
#define SET_PROPERTY 0x12 |
#define GET_PROPERTY 0x13 |
#define GET_INT_STATUS 0x14 |
#define FM_TUNE_FREQ 0x20 |
#define FM_SEEK_START 0x21 |
#define FM_TUNE_STATUS 0x22 |
#define FM_AGC_STATUS 0x27 |
#define FM_AGC_OVERRIDE 0x28 |
#define FM_RSQ_STATUS 0x23 |
#define FM_RDS_STATUS 0x24 |
#define FM_NB_DETECT_THRESHOLD 0x1900 |
#define FM_NB_INTERVAL 0x1901 |
#define FM_NB_RATE 0x1902 |
#define FM_NB_IIR_FILTER 0x1903 |
#define FM_NB_DELAY 0x1904 |
#define FM_RDS_INT_SOURCE 0x1500 |
#define FM_RDS_INT_FIFO_COUNT 0x1501 |
#define FM_RDS_CONFIG 0x1502 |
#define FM_RDS_CONFIDENCE 0x1503 |
#define FM_DEEMPHASIS 0x1100 |
#define FM_BLEND_STEREO_THRESHOLD 0x1105 |
#define FM_BLEND_MONO_THRESHOLD 0x1106 |
#define FM_BLEND_RSSI_STEREO_THRESHOLD 0x1800 |
#define FM_BLEND_RSSI_MONO_THRESHOLD 0x1801 |
#define FM_BLEND_SNR_STEREO_THRESHOLD 0x1804 |
#define FM_BLEND_SNR_MONO_THRESHOLD 0x1805 |
#define FM_BLEND_MULTIPATH_STEREO_THRESHOLD 0x1808 |
#define FM_BLEND_MULTIPATH_MONO_THRESHOLD 0x1809 |
#define FM_CHANNEL_FILTER 0x1102 |
#define FM_SOFT_MUTE_MAX_ATTENUATION 0x1302 |
#define FM_SEEK_BAND_BOTTOM 0x1400 |
#define FM_SEEK_BAND_TOP 0x1401 |
#define FM_SEEK_FREQ_SPACING 0x1402 |
#define FM_SEEK_TUNE_SNR_THRESHOLD 0x1403 |
#define FM_SEEK_TUNE_RSSI_THRESHOLD 0x1404 |
#define NBFM_TUNE_FREQ 0x50 |
#define NBFM_TUNE_STATUS 0x52 |
#define NBFM_RSQ_STATUS 0x53 |
#define NBFM_AGC_STATUS 0x57 |
#define NBFM_AGC_OVERRIDE 0x58 |
#define NBFM_MAX_TUNE_ERROR 0x5108 |
#define NBFM_RSQ_INT_SOURCE 0x5200 |
#define NBFM_RSQ_SNR_HI_THRESHOLD 0x5201 |
#define NBFM_RSQ_SNR_LO_THRESHOLD 0x5202 |
#define NBFM_RSQ_RSSI_HI_THRESHOLD 0x5203 |
#define NBFM_RSQ_RSSI_LO_THRESHOLD 0x5204 |
#define NBFM_VALID_SNR_THRESHOLD 0x5403 |
#define NBFM_VALID_RSSI_THRESHOLD 0x5404 |
#define AM_TUNE_FREQ 0x40 |
#define AM_SEEK_START 0x41 |
#define AM_TUNE_STATUS 0x42 |
#define AM_RSQ_STATUS 0x43 |
#define AM_AGC_STATUS 0x47 |
#define AM_AGC_OVERRIDE 0x48 |
#define GPIO_CTL 0x80 |
#define GPIO_SET 0x81 |
#define SSB_TUNE_FREQ 0x40 |
#define SSB_TUNE_STATUS 0x42 |
#define SSB_RSQ_STATUS 0x43 |
#define SSB_AGC_STATUS 0x47 |
#define SSB_AGC_OVERRIDE 0x48 |
#define DIGITAL_OUTPUT_FORMAT 0x0102 |
#define DIGITAL_OUTPUT_SAMPLE_RATE 0x0104 |
#define REFCLK_FREQ 0x0201 |
#define REFCLK_PRESCALE 0x0202 |
#define AM_DEEMPHASIS 0x3100 |
#define AM_CHANNEL_FILTER 0x3102 |
#define AM_AUTOMATIC_VOLUME_CONTROL_MAX_GAIN 0x3103 |
#define AM_MODE_AFC_SW_PULL_IN_RANGE 0x3104 |
#define AM_MODE_AFC_SW_LOCK_IN_RANGE 0x3105 |
#define AM_RSQ_INTERRUPTS 0x3200 |
#define AM_RSQ_SNR_HIGH_THRESHOLD 0x3201 |
#define AM_RSQ_SNR_LOW_THRESHOLD 0x3202 |
#define AM_RSQ_RSSI_HIGH_THRESHOLD 0x3203 |
#define AM_RSQ_RSSI_LOW_THRESHOLD 0x3204 |
#define AM_SOFT_MUTE_RATE 0x3300 |
#define AM_SOFT_MUTE_SLOPE 0x3301 |
#define AM_SOFT_MUTE_MAX_ATTENUATION 0x3302 |
#define AM_SOFT_MUTE_SNR_THRESHOLD 0x3303 |
#define AM_SOFT_MUTE_RELEASE_RATE 0x3304 |
#define AM_SOFT_MUTE_ATTACK_RATE 0x3305 |
#define AM_SEEK_BAND_BOTTOM 0x3400 |
#define AM_SEEK_BAND_TOP 0x3401 |
#define AM_SEEK_FREQ_SPACING 0x3402 |
#define AM_SEEK_SNR_THRESHOLD 0x3403 |
#define AM_SEEK_RSSI_THRESHOLD 0x3404 |
#define AM_AGC_ATTACK_RATE 0x3702 |
#define AM_AGC_RELEASE_RATE 0x3703 |
#define AM_FRONTEND_AGC_CONTROL 0x3705 |
#define AM_NB_DETECT_THRESHOLD 0x3900 |
#define AM_NB_INTERVAL 0x3901 |
#define AM_NB_RATE 0x3902 |
#define AM_NB_IIR_FILTER 0x3903 |
#define AM_NB_DELAY 0x3904 |
#define RX_VOLUME 0x4000 |
#define RX_HARD_MUTE 0x4001 |
#define GPO_IEN 0x0001 |
#define SSB_BFO 0x0100 |
#define SSB_MODE 0x0101 |
#define SSB_RSQ_INTERRUPTS 0x3200 |
#define SSB_RSQ_SNR_HI_THRESHOLD 0x3201 |
#define SSB_RSQ_SNR_LO_THRESHOLD 0x3202 |
#define SSB_RSQ_RSSI_HI_THRESHOLD 0x3203 |
#define SSB_RSQ_RSSI_LO_THRESHOLD 0x3204 |
#define SSB_SOFT_MUTE_RATE 0x3300 |
#define SSB_SOFT_MUTE_MAX_ATTENUATION 0x3302 |
#define SSB_SOFT_MUTE_SNR_THRESHOLD 0x3303 |
#define SSB_RF_AGC_ATTACK_RATE 0x3700 |
#define SSB_RF_AGC_RELEASE_RATE 0x3701 |
#define SSB_IF_AGC_RELEASE_RATE 0x3703 |
#define SSB_IF_AGC_ATTACK_RATE 0x3702 |
#define SSB_RF_IF_AGC_ATTACK_RATE 0x3702 |
#define SSB_RF_IF_AGC_RELEASE_RATE 0x3703 |
#define LSB_MODE 1 |
#define USB_MODE 2 |
#define SI473X_RDS_OUTPUT_ONLY 0b00000000 |
#define SI473X_ANALOG_AUDIO 0b00000101 |
#define SI473X_DIGITAL_AUDIO1 0b00001011 |
#define SI473X_DIGITAL_AUDIO2 0b10110000 |
#define SI473X_ANALOG_DIGITAL_AUDIO 0b10110101 |
#define FM_CURRENT_MODE 0 |
#define AM_CURRENT_MODE 1 |
#define SSB_CURRENT_MODE 2 |
#define NBFM_CURRENT_MODE 3 |
#define SEEK_UP 1 |
#define SEEK_DOWN 0 |
#define MAX_DELAY_AFTER_SET_FREQUENCY 30 |
#define MAX_DELAY_AFTER_POWERUP 10 |
#define MIN_DELAY_WAIT_SEND_LOOP 300 |
#define MAX_SEEK_TIME 8000 |
#define DEFAULT_CURRENT_AVC_AM_MAX_GAIN 36 |
#define XOSCEN_CRYSTAL 1 |
#define XOSCEN_RCLK 0 |