PU2CLR Si4735 Arduino Library  2.0.0
Arduino Library for Si47XX Devices - By Ricardo Lima Caratti
Tune

Functions

void SI4735::setMaxSeekTime (long time_in_ms)
 Sets the maximum time in milliseconds for seeking. The default value is 8000ms (8s). More...
 
void SI4735::seekStationUp ()
 Search for the next station. More...
 
void SI4735::seekStationDown ()
 Search the previous station. More...
 
void SI4735::seekStation (uint8_t SEEKUP, uint8_t WRAP)
 Look for a station (Automatic tune) More...
 
void SI4735::seekNextStation ()
 Search for the next station. More...
 
void SI4735::seekPreviousStation ()
 Search the previous station. More...
 
void SI4735::seekStationProgress (void(*showFunc)(uint16_t f), uint8_t up_down)
 Seeks a station up or down. More...
 
void SI4735::setSeekAmLimits (uint16_t bottom, uint16_t top)
 Sets the bottom frequency and top frequency of the AM band for seek. Default is 520 to 1710. More...
 
void SI4735::setSeekFmLimits (uint16_t bottom, uint16_t top)
 Sets the bottom frequency and top frequency of the FM band for seek. Default is 8750 to 10790. More...
 
void SI4735::setSeekAmSpacing (uint16_t spacing)
 Selects frequency spacingfor AM seek. Default is 10 kHz spacing. More...
 
void SI4735::setSeekFmSpacing (uint16_t spacing)
 Selects frequency spacingfor FM seek. Default is 100 kHz kHz spacing. There are only 3 valid values: 5, 10, and 20. More...
 
void SI4735::setSeekAmSrnThreshold (uint16_t value)
 Sets the SNR threshold for a valid AM Seek/Tune. More...
 
void SI4735::setSeekFmSrnThreshold (uint16_t value)
 Sets the SNR threshold for a valid FM Seek/Tune. More...
 
void SI4735::setSeekAmRssiThreshold (uint16_t value)
 Sets the RSSI threshold for a valid AM Seek/Tune. More...
 
void SI4735::setSeekFmRssiThreshold (uint16_t value)
 Sets the RSSI threshold for a valid FM Seek/Tune. More...
 

Detailed Description

Function Documentation

◆ setMaxSeekTime()

void SI4735::setMaxSeekTime ( long  time_in_ms)
inline

Sets the maximum time in milliseconds for seeking. The default value is 8000ms (8s).

Depending on the bandwidth, your reception conditions or step configuration, the seek process can take a long time.

This function sets a time limit for seeking process and back the control to the system if the time runs out.

Parameters
time_in_mstime in milliseconds.

References SI4735::maxSeekTime.

◆ seekStationUp()

void SI4735::seekStationUp ( )
inline

Search for the next station.

Seek a station up. Stop when a station is found or the frequency has reached the upper limit

See also
seekStation, seekStationProgress, setSeekAmLimits setSeekFmLimits
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 124, 137, 139, 278

◆ seekStationDown()

void SI4735::seekStationDown ( )
inline

Search the previous station.

Seek a station Down. Stop when a station is found or the frequency has reached the lower limit

See also
seekStation, seekStationProgress, setSeekAmLimits, setSeekFmLimits
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 124, 137, 139, 278

◆ seekStation()

void SI4735::seekStation ( uint8_t  SEEKUP,
uint8_t  WRAP 
)

Look for a station (Automatic tune)

Starts a seek process for a channel that meets the RSSI and SNR criteria for AM.

This function does not work on SSB mode.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 55, 72, 125 and 137
Parameters
SEEKUPSeek Up/Down. Determines the direction of the search, either UP = 1, or DOWN = 0.
Wrap/Halt.Determines whether the seek should Wrap = 1, or Halt = 0 when it hits the band limit.

References SI4735::waitToSend().

◆ seekNextStation()

void SI4735::seekNextStation ( )

Search for the next station.

Like seekStationUp this function goes to a next station.

The main difference is the method used to look for a station.

See also
seekStation, seekStationUp, seekStationDown, seekPreviousStation, seekStationProgress

◆ seekPreviousStation()

void SI4735::seekPreviousStation ( )

Search the previous station.

Like seekStationDown this function goes to a previous station.

The main difference is the method used to look for a station.

See also
seekStation, seekStationUp, seekStationDown, seekPreviousStation, seekStationProgress

◆ seekStationProgress()

void SI4735::seekStationProgress ( void(*)(uint16_t f)  showFunc,
uint8_t  up_down 
)

Seeks a station up or down.

Seek up or down a station and call a function defined by the user to show the frequency.

The first parameter of this function is a name of your function that you have to implement to show the current frequency.

If you do not want to show the seeking progress, you can set NULL instead the name of the function.

The code below shows an example using ta function the shows the current frequency on he Serial Monitor. You might want to implement a function that shows the frequency on your display device.

Also, you have to declare the frequency parameter that will be used by the function to show the frequency value.

This function does not work on SSB mode.

void showFrequency( uint16_t freq ) {
Serial.print(freq);
Serial.println("MHz ");
}
void loop() {
receiver.seekStationProgress(showFrequency,1); // Seek Up
.
.
.
receiver.seekStationProgress(showFrequency,0); // Seek Down
}
See also
seekStation, seekStationUp, seekStationDown, getStatus
Parameters
showFuncfunction that you have to implement to show the frequency during the seeking process. Set NULL if you do not want to show the progress.
up_downset up_down = 1 for seeking station up; set up_down = 0 for seeking station down

◆ setSeekAmLimits()

void SI4735::setSeekAmLimits ( uint16_t  bottom,
uint16_t  top 
)

Sets the bottom frequency and top frequency of the AM band for seek. Default is 520 to 1710.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 127, 161, and 162
Parameters
uint16_tbottom - the bottom of the AM (MW/SW) mode for seek
uint16_ttop - the top of the AM (MW/SW) mode for seek

◆ setSeekFmLimits()

void SI4735::setSeekFmLimits ( uint16_t  bottom,
uint16_t  top 
)

Sets the bottom frequency and top frequency of the FM band for seek. Default is 8750 to 10790.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 100 and 101
Parameters
uint16_tbottom - the bottom of the FM(VHF) mode for seek
uint16_ttop - the top of the FM(VHF) mode for seek

◆ setSeekAmSpacing()

void SI4735::setSeekAmSpacing ( uint16_t  spacing)

Selects frequency spacingfor AM seek. Default is 10 kHz spacing.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); pages 163, 229 and 283
Parameters
uint16_tspacing - step in KHz

◆ setSeekFmSpacing()

void SI4735::setSeekFmSpacing ( uint16_t  spacing)

Selects frequency spacingfor FM seek. Default is 100 kHz kHz spacing. There are only 3 valid values: 5, 10, and 20.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); page 101
Parameters
uint16_tspacing - step in KHz

◆ setSeekAmSrnThreshold()

void SI4735::setSeekAmSrnThreshold ( uint16_t  value)

Sets the SNR threshold for a valid AM Seek/Tune.

If the value is zero then SNR threshold is not considered when doing a seek. Default value is 5 dB.

See also
Si47XX PROGRAMMING GUIDE; (REV 1.0); page 127

◆ setSeekFmSrnThreshold()

void SI4735::setSeekFmSrnThreshold ( uint16_t  value)

Sets the SNR threshold for a valid FM Seek/Tune.

SNR Threshold which determines if a valid channel has been found during Seek/Tune. Specified in units of dB in 1 dB steps (0–127). Default is 3 dB

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); page 102
Parameters
valuebetween 0 and 127.

◆ setSeekAmRssiThreshold()

void SI4735::setSeekAmRssiThreshold ( uint16_t  value)

Sets the RSSI threshold for a valid AM Seek/Tune.

If the value is zero then RSSI threshold is not considered when doing a seek. Default value is 25 dBμV.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); page 127

◆ setSeekFmRssiThreshold()

void SI4735::setSeekFmRssiThreshold ( uint16_t  value)

Sets the RSSI threshold for a valid FM Seek/Tune.

RSSI threshold which determines if a valid channel has been found during seek/tune. Specified in units of dBμV in 1 dBμV steps (0–127). Default is 20 dBμV.

See also
Si47XX PROGRAMMING GUIDE; AN332 (REV 1.0); page 102