Silicon Laboratories Si4012 Operating instructions

Rev. 0.1 1/13 Copyright © 2013 by Silicon Laboratories AN746
AN746
Si4012 PROGRAMMING GUIDE
1. Introduction
This document gives an overview of how to configure and use the Si4012 radio transmitter and provides several
simple software examples.
The Silicon Laboratories’ Si4012 is a fully integrated, crystal-less CMOS high-data rate RF transmitter designed for
the sub-GHz ISM band. This chip is optimized for battery powered applications requiring low standby current and
high output transmit power.
The following operation examples are covered in the programming guide:
How to configure the Si4012
How to use the Si4012 transmitter for packet transmission in FIFO mode
How to measure battery voltage
The latest example source codes are available on the Silicon Labs web site: www.silabs.com.
2. Hardware Platform
The source codes are provided for the LCD Base Board hardware platform that is part of the 4012-LCDK1W-434
and the 4012-LCDK1W-915 Si4012 EZRadio One Way Link Development Kits.The LCD Base Board platform is a
demo and development platform for the EZRadio family of RF chips. It consists of an LCD Base Board and
interchangeable RF Pico Boards.
2.1. The LCD Base Board
Figure 1. LCD Base Board

AN746
2 Rev. 0.1
The board contains an LCD, four pushbuttons, four LEDs and a buzzer, connected to a Silicon Labs 8051F930
MCU (U2, under the LCD). The MCU is also connected to an RF Pico Board connector pair (RFP1, RFP2). The
connection between the MCU and the EZRadio chip on the RF Pico Board is compatible with the RFStick. See
Table 1 for details. A Silicon Labs USB to C2 debug interface (U4) is also integrated on the board, so the board can
directly be connected via USB to the PC for downloading and debugging code on the U2 MCU.
2.2. RF Pico Board
Figure 2. RF Pico Board
The RF Pico Board is a radio module that contains an EZRadio IC, matching network and pcb antenna. The RF
output is selectable between the PCB antenna and a 50 SMA output connector via a 0 resistor. The boards
also have a factory loaded board identification memory (EBID) that contains data that describes the board
properties. Via the unified RF pico connector pair on the bottom side of the board, any RF pico board can be
connected to the LCD base board.
The example code runs on the C8051F930 MCU of the MSC-LCDBB930 LCD base board and controls the Si4012
on the RF Pico Board using the SMBus interface. The signals listed in Table 2 are connected:
Table 1. LCD Base Board Selection
Part Number Board Description
MSC-LCDBB930-PER LCD base board factory loaded with PER demo fw
MSC-LCDBB930-AES LCD base board factory loaded with AES demo fw

AN746
Rev. 0.1 3
2.3. Setting up and Connecting the LCD Base Board to a PC
Power source of the platform can be selected with the power-supply selector switch (SW1) on the base board. If
SW1 is in USB position, supply voltage is provided by the PC that is connected to the J7 mini USB connector. If
SW1 is in Battery position, the supply voltage is provided by three AA batteries in the battery holder on the bottom
side of the board. Current consumption of the RF part of the connected RF Pico Board (RFVDD) can be measured
on JP3. Since JP3 is shorted by a PCB track on the bottom side of the board, the user have to cut the track if this
feature is used.
Steps of connecting the platform to a PC:
Connect an RF Pico Board to the LCD base board through RFP1 and RFP2.
Select the desired power source with SW1 power selector switch.
Connect the LCD base board to an USB port of the PC.
Wait for Windows to install the driver of the debug interface if necessary.
Table 2. Pin Assignments
Si4012 C8051F930
Pin # Pin Name Pin Function Pin # Pin name
2 GND Ground Ground
5 VDD Supply input VDD
7 NIRQ Interrupt status output, active low 20 P1.4
8 SDN Shutdown input, active high 19 P1.5
9 SCL SMBus clock input/output 25 P0.7
10 SDA SMBus data input/output 26 P0.6

AN746
4 Rev. 0.1
3. Software Tools
There are two software tools provided by Silicon Labs to help EZRadio software development, the Wireless
Development Suite (WDS) and the Silicon Labs Integrated Development Environment (IDE), both available on
silabs.com.
3.1. Wireless Development Suite (WDS)
The recommended starting point for Si4012 development is the WDS. It can be downloaded from silabs.com and
can be installed on a PC. After connecting one of the hardware platforms described in this document to the PC,
WDS is able to identify the connected board by reading the EBID memories of the board.
The EZConfig Setup GUI is part of the Wireless Development Suite (WDS) program. This setup interface provides
an easy path to quickly selecting and loading the desired configuration for the Si4012 device. The configuration
table provides a list of preloaded, common configurations validated by Silicon Labs. EZConfig also allows for
custom configuration to be loaded using the Radio Configuration Application. After the desired configuration is
selected, the EZConfig setup automatically creates the configuration data that can be used to configure the
EZRadio chip. The program then gives the option to configure directly the EZRadio chip of the connected
hardware, to modify a selected demo code with the configuration and download it to the connected hardware, or to
launch Silicon Labs IDE with the new configuration data preloaded into the user program. For more complete
information on WDS and EZConfig usage, refer to the WDS User’s Guide, available on silabs.com.
3.2. Silicon Labs IDE
The Silicon Laboratories Integrated Development Environment (IDE) is a standard tool for program development
for any Silicon Labs 8-bit MCUs including the C8051F930 that is used on the hardware platforms described in this
document. The Silicon Laboratories IDE integrates a project manager, a source-code editor, source-level
debugger, and an in-system flash programmer. The IDE interfaces to third party development tool chains to provide
system designers a complete embedded software development environment. The Keil Demonstration Toolset
includes a compiler, linker, and assembler and easily integrates into the IDE.
3.2.1. Downloading and Running the Example Codes
1. Connect the hardware platform to the PC according to the description of the used platform.
2. Start Silicon Labs IDE (IDE 4.40 or higher required) on your computer.
3. Select Project→Open Project... to open a previously saved project.
4. Before connecting to the target device, several connection options may need to be set. Open the
Connection Options window by selecting Options→Connection Options... in the IDE menu.
5. Select USB Debug Adapter in the “Serial Adapter” section.
6. If more than one adapter is connected, choose the appropriate serial number from the drop-down list.
7. Check the “Power target after disconnect” if the target board is currently being powered by the USB Debug
Adapter. The board will remain powered after a software disconnect by the IDE.
8. Next, the correct “Debug Interface” must be selected. Check the C2 Debug Interface.
9. Once all the selections are made, click the OK button to close the window.
10. Click the Connect button in the toolbar or select Debug→Connect from the menu to connect to the
C8051F930 MCU of the platform.
11. Erase the flash of the C8051F930 MCU in the Debug→Download object code→Erase all code space
menu item.
12. Download the desired example HEX file either by hitting the Download code (Alt+D) toolbar button or from
the Debug →Download object code menu item.
13. Hit the Disconnect toolbar button or invoke the Debug →Disconnect menu item to release the device from
halt and to let it run.

AN746
Rev. 0.1 5
4. Controlling the Si4012
The Si4012 has four pins to interface with the host MCU:
SDN is the shutdown input of the IC. When it is pulled high or left open, the Si4012 goes to its shutdown
state; when pulled low, the Si4012 wakes up.
NIRQ is the interrupt request output that goes low when an enabled interrupt is triggered in the Si4012.
SCL is the SMBus clock.
SDA is the SMBus data.
4.1. Control
The SMBus interface is implemented as a bidirectional 2-wire interface (SCL, SDA) with the host configured as
master and the Si4012 as slave. Both standard (100 kbs) and fast (400 kbs) modes are supported with 7-bit
addressing. The device address is 1110000x, where x is the R/W bit. Since shutdown can be activated, wakeup
can be initiated and interrupts can be polled using the SMBus interface. The minimal necessary control interface
for the Si4012 is only two pins, SDA and SCL.
Figure 3. Minimal MCU Interface
All host commands consist of a 1-byte opcode followed by 0 or more arguments. All responses from the 4012
consist of a 1-byte top level status followed by 0 or more data values. Refer to the data sheet for details on the
command structure and command details of the Si4012.

AN746
6 Rev. 0.1
4.2. Initialization
After power on or wake up from shut down, the chip goes through an internal reset process and gets in an initial
state.
Initialization of the chip can be done by setting some basic parameters of the chip operation according to the user’s
requirements. For calculating the parameters, a calculation spreadsheet, “si4012_calc_regs.xls”, is provided by
Silicon Labs. For details, see “AN564: Si4012 Calculator Spreadsheet Usage”, available at www.silabs.com. The
user inputs the required values into the spreadsheet:
Center frequency
Modulation type
FSK deviation
Total PA power
Bit rate
and gets the PROPERTY values, such as:
PA_CONFIG
TX_FREQ
MODULATION_FSKDEV
BITRATE_CONFIG
in hex form that have to be used as parameters of the SET_PROPERTY command to be sent to the Si4012.
The commands typically used for initialization are:
SET_PROPERTY
SET_INT
CHANGE_STATE
LED_CTRL
To ease the use of these commands, a C header file called Setup_Si4012.h can be generated via the Wireless
Development Suite.

AN746
Rev. 0.1 7
The generated header file contains the precompiled commands according to the parameter values set on the
Control Panel of WDS. Here is a part of the header file used in the examples:
#define Si4012_MODE_SELECTION 0x60, 0x00, 0x00
/* Selected mode: Standby
*/
#define Si4012_TUNE_INTERVAL 0x11, 0x21, 0x00, 0x0A
/* Tune interval: 10
*/
#define Si4012_MODULATION_FSKDEV 0x11, 0x20, 0x01, 0x18
/* Modulation type: FSK
biFskDev: 24
*/
#define Si4012_CHIP_CONFIG 0x11, 0x10, 0x00
/* FSK deviation polarity:
LDB First: OFF
Use external Cristal: OFF
*/
#define Si4012_TX_FREQ 0x11, 0x40, 0x33, 0xC1, 0xE4, 0x58
/* Transmission frequency [MHz]: 868,344920
*/
#define Si4012_BITRATE_CONFIG 0x11, 0x31, 0x00, 0x60, 0x02
/* Data Rate [kbps]: 9,6
Ramp Rate [us]:
*/
It is also possible to manually modify this file so that it includes multiple commands for alternative values of the
same parameter.
To use the header file above, constant arrays have to be initialized with the defined commands first.
Here is the corresponding part of the example program:
//arrays initialized with precompiled commands
SEGMENT_VARIABLE(C_CHIP_CONFIG[], U8, SEG_CODE) = {Si4012_CHIP_CONFIG};
SEGMENT_VARIABLE(C_LED_INTENSITY[], U8, SEG_CODE) = {Si4012_LED_INTENSITY};
SEGMENT_VARIABLE(C_MODULATION_FSKDEV[], U8, SEG_CODE) = {Si4012_MODULATION_FSKDEV};
SEGMENT_VARIABLE(C_TUNE_INTERVAL[], U8, SEG_CODE) = {Si4012_TUNE_INTERVAL};
SEGMENT_VARIABLE(C_FIFO_THRESHOLD[], U8, SEG_CODE) = {Si4012_FIFO_THRESHOLD};
SEGMENT_VARIABLE(C_BITRATE_CONFIG[], U8, SEG_CODE) = {Si4012_BITRATE_CONFIG};
SEGMENT_VARIABLE(C_TX_FREQ[], U8, SEG_CODE) = {Si4012_TX_FREQ};
SEGMENT_VARIABLE(C_LBD_CONFIG[], U8, SEG_CODE) = {Si4012_LBD_CONFIG};
SEGMENT_VARIABLE(C_XO_CONFIG[], U8, SEG_CODE) = {Si4012_XO_CONFIG};
SEGMENT_VARIABLE(C_PA_CONFIG[], U8, SEG_CODE) = {Si4012_PA_CONFIG};
Then the SetProperty function is called that outputs the constant arrays (i.e., the commands) on the SMBus:
//---------------------------------------------------------------
// set up the radio using the precompiled commands in Setup_Si4012.h
// (Setup_Si4012.h can be generated from WDS)
//--------------------------------------------------------------
Si4012_Status = SetProperty(C_LED_INTENSITY, 3);

AN746
8 Rev. 0.1
Si4012_Status = SetProperty(C_CHIP_CONFIG, 3);
Si4012_Status = SetProperty(C_MODULATION_FSKDEV, 4);
// Si4012_Status = SetProperty(C_TUNE_INTERVAL, 4);
// Si4012_Status = SetProperty(C_FIFO_THRESHOLD, 5);
// Si4012_Status = SetProperty(C_BITRATE_CONFIG, 5);
Si4012_Status = SetProperty(C_TX_FREQ, 6);
// Si4012_Status = SetProperty(C_LBD_CONFIG, 6);
// Si4012_Status = SetProperty(C_XO_CONFIG, 7);
// Si4012_Status = SetProperty(C_PA_CONFIG, 8);
//-----------------------------------------------------------------------
U8 SetProperty(U8 * command, U8 clenght)
{
SmbusStatus = SMBusWrite(SI4012_SLAVE_ADDRESS, clenght, command);
SmbusStatus = SMBusRead(SI4012_SLAVE_ADDRESS, 1, &error);
return error;
}
Because properties are initialized to a default value by the reset process after a power on or wakeup from
shutdown, the user has to initialize a property only if its desired value is different from its default value. For this
reason, some SetProperty calls are commented out in the code above to save time and battery power.
4.3. Interrupt Handling
The NIRQ pin of the Si4012 is used to issue interrupts to the host. The host should poll the NIRQ pin or use
interrupts (NIRQ) to get interrupt status. The host can then read the interrupt status of the radio with
GET_INT_STATUS command that also clears the interrupts at the same time. The GET_INT_STATUS command
is also useful for polling the interrupt status of the Si4012 via the SMBus interface when the NIRQ pin is not
connected.
4.4. How to Send a Packet Longer than 255 Bytes
The Si4012 device has a 255-byte transmit FIFO; however, it is possible to transmit longer packets than 255 bytes.
The FIFO in the Si4012 has two programmable thresholds and the chip can provide interrupts when the data in the
transmit FIFO reaches these thresholds. The first threshold is the FIFO Almost Full Threshold. If the number of
bytes filled into the FIFO reaches this level, then the radio can provide an interrupt for the MCU to start the packet
transmission. The second threshold is the FIFO Almost Empty Threshold. If the number of bytes in the transmit
FIFO reaches this level, then the radio can provide an interrupt for the MCU. Then the microcontroller will need to
fill more data into the transmit FIFO to avoid FIFO underflow.

AN746
Rev. 0.1 9
Figure 4. Transmit FIFO Status Signals
4.5. How to Measure the Battery Voltage
The Si4012 is able to measure its own supply voltage in two modes.
One mode of operation is to measure the supply voltage whenever the GET_BAT_STATUS command is invoked.
The supply voltage is measured after the main current-consuming blocks of the device are temporarily turned on.
These parts are turned off after the measurement is done. The measurement itself takes place after
(LoadWaitTime x 17 µs) of wait time after the GET_BAT_STATUS command is invoked. If the LoadWaitTime
parameter of the command is set to 0, the battery voltage is measured immediately without any load applied. The
command gives back the result in mV.
In the other mode used for battery measurement, the Si4012 measures the supply voltage periodically with no load
applied. If the battery voltage is below the LBD threshold, the Low Battery Detector Interrupt is raised. This
periodical measurement happens only if Si4012 is in sensor mode and low battery interrupt is enabled. The period
and threshold can be set in the LBD_CONFIG property.
4.6. Crystal Oscillator Tuning Capacitor
When crystal is used, the accuracy of the radio center frequency is determined by the parameters of the crystal
(such as load capacitance, crystal accuracy, etc.) and the parasitic of the PCB associated with the crystal circuit. To
reduce the impact of these crystal parameters and to guarantee safe startup of the oscillator, the user has to do the
following:
Check the crystal data sheet for the “Cload” capacitor value that should be placed across the crystal’s
terminals to oscillate at the correct frequency
If Cload > 14 pF, XoLowCap field of the XO_CONFIG property have to be set to 0. In this case, the input
capacitance of the XTAL pin of the Si4012 is 5 pF, so a (Cload – 5)pF capacitor should be placed externally
across the crystal terminals.
If Cload < 14 pF, XoLowCap field of the XO_CONFIG property have to be set to 1. In this case, the input
capacitance of the XTAL pin of the Si4012 is 2.5 pF, so the external capacitor placed across the crystal has
to be (Cload – 2.5) pF.
The example program does not use a crystal.

AN746
10 Rev. 0.1
5. Sample Projects
Several complete sample projects are provided in the AN746SW.zip file available at www.silabs.com.
5.1. General Project Structure
All the sample projects have a unified structure and common driver set. This chapter gives the reader a brief
introduction of the structure of the sample projects.
5.1.1. Prerequisites
The settings in the sample project files assume that some Silicon Labs or third party software tools are already
installed on the PC where the sample project going to be compiled. The tools need to be installed depends on the
functionality to be used. The following list contains a complete set of such programs:
Silicon Laboratories IDE—Used to open the preconfigured project files and manage the build process.
Keil C51 v9.0+ or SDCC v3.0+—Compilers to use in accordance with the Silicon Laboratories IDE to
manage build process.
Silicon Labs Flash Programming Utility (optional)—Needed only if programming outside the Silicon
Labs IDE is necessary.
Make (optional)—This tool is needed in case other compiler is used, or the build process takes place
outside of the SiLabs IDE.
5.1.2. Supported Compilers
The projects come with two SiLabs IDE project file. The one that name ends with “_Keil” contains the settings for
and is appropriate to compile with Keil’s C51 tool chain. The other that ends with “_SDCC” is prepared to use the
SDCC compiler tool chain. Please note, if you use the 2k limited evaluation license for Keil’s C51 compiler, you
may need to unlock it to 4k, as some project's size exceeds the 2k code size limit.
However, the sample projects can be complied not only with the two mentioned compiler, but with almost any ANSI
C compiler for 8051 architecture with little or no modifications.
Each project already contains a “Makefile” in order to provide an easy and convenient way to compile the code
outside the Silicon Labs’ IDE with the toolchain of choice.
Each sample project described in this document contains a compiled version of the source code in Intel hex format
that is widely supported by a variety of programming and debugging tools. The compiled file in the projects has
been generated using the SiLabs IDE and the Keil C51 tool chain.
5.1.3. Directory Structure
All sample project has a common directory structure, with separated source and project files in order to ease the
understanding of the individual modules. For every sample project the following directories and files can be found
in the main directory:
bin—Contains the SiLabs project files for Keil and SDCC compilers and the Makefile if the make tool is
used instead.
doc—Doxygen generated documentation based on comments inside the source files in html format.
out—The outputs of the compilation process come to this folder. After successful compilation, this directory
contains for example the hex file, the linker output and the OMF file.
src
application
drivers
Directories containing the source files.
Doxyfile—In this file, the Doxygen documentation generator settings can be found.
Cleanup.bat—Batch file used to delete all files generated during build process.

AN746
Rev. 0.1 11
5.1.4. Software Modules
In the sample projects the layered software approach is followed. There’s a distinct scope for each software
module and such modules can communicate through each other’s API functions. The software modules are
separated and focused to cover one specific task. The following figure shows the software layers and its relations.
The individual software modules are separated into several source files. In the sample projects there is one header
file that is included in the source files and collects the individual headers that need to be included.
Under the src folder the application related sources can be found in the application folder, the common modules
(e.g., handlers, drivers) are located under the driver directory.
Application
Handlers
Lowleveldrivers
HardwareAbstractionLayer
Libraries
Hardware

AN746
12 Rev. 0.1
5.2. Sample Application Descriptions
5.2.1. Empty Project (Base_Project)
This sample project is intended to demonstrate the basic concept of setting up the Si4012 radio chip. This project is
the essential core of the following three sample codes (CW_Transmit, PN9, TX). It is primarily responsible for
initializing the MCU and RFIC as well. It also initializes the Human-Machine Interface (HMI) module related
handlers, such as the push button handler, the LED handler, and the buzzer handler that are potentially useful for
the rapid application development.

AN746
Rev. 0.1 13
In the main() function, the vInitializeHW() invokes initialize functions for the MCU IOs and peripherals. It also starts
the HMI module handlers that are scheduled to run once in every 1 ms during the user application. These timing
intervals are generated by the Timer2 peripheral overflow interrupt. Finally, it enables the MCU related internal
interrupts.
In the main() function, the SampleCode_Demo_Pollhandler() is responsible for several tasks:
1. It checks if the Si4012 Pico board is connected to the LCD Baseboard.
2. Reads the RF EBID content in order to learn to which frequency band the Pico board is designed for. The
possible options can be either 434 MHz or 915 MHz.
3. Configures the RFIC to the operating mode that is generated by the Wireless Development Studio.
4. Starts the user application program.

AN746
14 Rev. 0.1

AN746
Rev. 0.1 15
The SampleCode_Demo_Pollhandler() includes a state machine, and the different states represent the
previously mentioned tasks.
1. SM_START:
Turn off the Si4012 RFIC
Check if the RF EBID is available on the Pico board
Read the EBID content to determine the radio type and the frequency band
Having detected the RF Pico board successfully, the next state will configure the Si4012 RFIC.
2. SM_STEP1:
Configure the radio with the WDS generated parameters
Turn on the fourth LED on the LCD baseboard
Having configured the RFIC successfully, the next state will execute the user application code.
3. SM_STEP2:
User application code can be started from this point.
The state of SM_STEP1 simply configures the chip by calling the Si4012_Configure() function. The fourth LED will
be turned on if there were no failures during the radio initialization. If any kinds of failures occurred either in
SM_START or in SM_STEP1 states, for example, communication error, configuration error, or unavailable RF Pico
board, the program execution will be forced to the ERROR_HOOK immediately. The fourth LED will then blink
rapidly to indicate that the error detection occurred.
The state of SM_STEP2 can contain the user application code. Since it is an empty project, it does not execute any
code after the radio initialization.

AN746
16 Rev. 0.1
5.2.2. Continuous Wave Transmission (CW_Transmit)
Since the radio configuration happened according to the empty project, the only remaining task is to start the CW
mode transmission with the Si4012_Start_CW_Mode() function. Having done the radio configuration, the
transmission will start shortly thereafter.
To illustrate how to expand the code with dynamic behavior, SM_STEP2 provides the user with a clear example of
how to use the LCD baseboard push-buttons for turning in/out the CW transmission. After starting the CW mode,
an LED on the RF Pico board will turn on, indicating that the mode is successfully activated. By pushing the second
button, the user can stop the transmission with the Si4012_Stop_CW_Mode() function. By pushing the first button,
the transmission can be restarted again.

AN746
Rev. 0.1 17
5.2.3. Pseudo Random Transmission (PN9)
Since the radio configuration happened according to the empty project, the only remaining task is to start the CW
mode transmission with the Si4012_Start_PN9_Mode(U8 bModeSelector) function. Having done the radio
configuration, the transmission will start shortly thereafter.
To illustrate how to expand the code with dynamic behavior, SM_STEP2 provides the user with a clear example of
how to use the LCD baseboard push-buttons for turning in/out the PN-9 transmission. After starting the PN-9
mode, an LED on the RF Pico board will turn on, indicating that the mode is successfully activated. By pushing the
third button, the user can stop the transmission with the Si4012_Stop_PN9_Mode() function. By pushing the
second and the third buttons, the transmission can be restarted again in PN-9 zero or in PN-9 one mode.

AN746
18 Rev. 0.1

AN746
Rev. 0.1 19
5.2.4. Packet Transmission (TX)
Since the radio configuration happened according to the empty project, the only remaining task is to send packets
with the Si4012_SendPacket(U8 bButtonNumber) function. Having done the radio configuration, SM_STEP2 waits
for push button actions. Three different kinds of packets can be sent by pushing button1, button2, and button3.
When a button is pushed, the appropriate LED on the LCD base board will blink once. The same packet will be
sent over the air three times shortly after one another. After one packet has been sent successfully, the RF Pico
board LED will blink once.
The following figure illustrates the packet structure used in this sample project.
The CRC field is calculated over the CHIP ID, the button info, and the rolling counter to ensure error-free packet
reception. The two-byte CRC is implemented in the CRC.h module by CRC_CalculateCRC16(U8* pbInputData, U8
bLengthOfInputData) function. The Si4012 related functions are implemented in the Si4012.h module. These
functions can manipulate the radio such as turn off/on the radio chip, start/stop the different transmit modes (CW/
PN9), send packets using the built-in FIFO, and set the internal properties via the radio’s Application Programming
Interface (API). The API offers the option to access all of the radio’s internal properties. The host MCU is
connected to the radio via SMBus. The SMBus related functions, which can provide access to the API, can be
found in SMBus.h module under the drivers folder. The packet to be sent, including the preamble and the sync
word pattern, are filled in the FIFO of the radio by the host MCU. The sample code related functions are listed
below.
PREAMBLE SYNC WORD CHIP ID Button info Rolling Counter CRC
13 byte 2 byte 4 byte 1 byte 2 byte 2 byte

AN746
20 Rev. 0.1
The Setup_Si4012.h module configuration should be generated by the Wireless Development Studio, edited, and
then added to the project in order to enable the Si4012_Configure() function to initialize the radio chip. During the
configuration, the Si4012_SetProperty(…) function will initialize the API properties by sending the arrays of bytes
beginning with prefix of SI4012_CONFIG_ARRAY_DATA_RADIO. The WDS generated properties are listed below.
Table of contents
Other Silicon Laboratories Transmitter manuals

Silicon Laboratories
Silicon Laboratories Si4704 Series Operating instructions

Silicon Laboratories
Silicon Laboratories Si4010 Series User manual

Silicon Laboratories
Silicon Laboratories Si47 Series Operating instructions

Silicon Laboratories
Silicon Laboratories Si4010-C2 User manual

Silicon Laboratories
Silicon Laboratories Si4010 Series Operating instructions