![]() |
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 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 DIGITAL_OUTPUT_FORMAT 0x0102 |
| #define DIGITAL_OUTPUT_SAMPLE_RATE 0x0104 |
| #define REFCLK_FREQ 0x0201 |
| #define REFCLK_PRESCALE 0x0202 |
| #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 |