Skip to content
This repository has been archived by the owner on Sep 15, 2023. It is now read-only.
jjcarrier edited this page Mar 6, 2012 · 2 revisions

Welcome to the Si4735 wiki!

PLEASE NOTE This wiki article is a work in progress and it is very possible that some of this information is not accurate or is out-of-date. Please bear with me.

This is basic resource that describes the methods and features available in the Si4735 library. If additional assistance is needed, feel free to contact me via my blog or if it is a more personal matter then e-mail may be more appropriate.

USE Flags

What are they?<br> The USE flags are a series of pre-processing statements that determine what portions of the library should be included and what should not. Using these flags can help minimize your code's memory footprint thus allowing you to save more space for implementing features that you actually have a use for. Obviously, by not 'using' of a specific feature, you will not have access to those related methods/features. In other words, the trade-off is memory versus features.

Where are these USE flags?<br> The USE flags are located in the Si4735.h file, and they should be defined near the top with the other #include and #define statements

What do each of these USE flags control?<br> USE_SI4735_REV - Enables the use of Si4735 revision based methods and features<br> USE_SI4735_FREQUENCY - Enables the use of frequency tuning based methods<br> USE_SI4735_SEEK - Enables the use of frequency seeking based methods<br>

USE_SI4735_RDS - Enables the use of RDS methods and features (not including this disables all RDS methods)<br> USE_SI4735_CALLSIGN - Enables the use of the RDS callsign feature<br> USE_SI4735_PTY - Enables the use of the RDS program type feature<br> USE_SI4735_RADIOTEXT - Enables the use of the RDS radio text feature<br> USE_SI4735_DATE_TIME - Enables the use of the RDS data and time feature<br>

USE_SI4735_RSQ - Enables the use of the Receive Signal Quality method<br> USE_SI4735_VOLUME - Enables the use of volume based methods and features<br> USE_SI4735_MUTE - Enables the use of the mute and unmute methods<br> USE_SI4735_LOCALE - Enables the use of setLocale and getLocale methods<br> USE_SI4735_MODE - Enables the use of setMode and getMode methods<br>

Methods (decription and usage)

Name: Constructor<br> Declaration: Si4735();<br> Usage: Si4735 <name>;<br> Example: Si4735 radio;<br> Description: <br> The constructor is responsible for creating the Si4735 class object. <br> The constructor initializes a few private variables to default values.<br> This must be called prior to calling any other method. <br>

Name: Begin method<br> Declaration: void begin(char mode);<br> Parameters: mode - The desired radio mode. Use AM(0), FM(1), SW(2) or LW(3).<br> Usage: <name>.begin(<mode>);<br> Example: radio.begin(FM);<br> Description:<br> Initializes the Si4735, powers up the radio in the desired mode and limits the bandwidth appropriately.<br> This function must be called before any other radio command.<br> The bands are set as follows:<br>

  • FM - 87.5 - 107.9 MHz<br>
  • AM - 520 - 1710 kHz<br>
  • SW - 2300 - 23000 khz<br>
  • LW - 152 - 279 kHz<br>

Name: Send Command<br> Declaration: void sendCommand(char * myCommand);<br> Parameters: myCommand - A null terminated ascii string limited to hexidecimal characters<br> to be sent to the radio module. Instructions for building commands can be found<br> in the Si4735 Programmers Guide.<br> Usage: <name>.sendCommand(<command>);<br> Example: radio.sendCommand((char)0x10);<br> Description:<br> Used to send an ascii command string to the radio.

Clone this wiki locally