What is an API PROPERTY on the Si4x5x, Si446x?
An API PROPERTY is a software register used to configure the radio IC (it acts as a HW register). For example, properties must be written to enable/disable preamble/sync word detection, frequency, modulation type, data rate, etc. To write a property you need to use SET_PROPERTY command, to read one use GET_PROPERTY command. For a typical application a great number of properties have to be written after powering up the device (in the order of ~150-200). To calculate all these property values our free, GUI based software tool, WDS (Wireless Development Suite), should be used. In order to reduce SPI communication time properties can be written/read in groups. Once a property is written, its value remains even if the device goes to Standby/Sleep mode; it is lost only in the event of a hardware reset.
What is a packet FIELD on the Si446x?
The packet FIELDs can be used to assign individual properties either to the entire payload, or to certain parts of the payload. This allows great flexibility. A maximum of five fields can be defined; it is up to the user how to split the payload between these FIELDs. The payload may consist of zero, one or more fields; each may have separate configuration such as CRC calculation, data whitening, or Manchester coding. For CRC checking at least one FIELD, for variable packet length at least two FIELDs have to be used (i.e. length info + payload that varies in length). The maximum length of a single field is 2^13-1= 8191 bytes which adds up to a maximum payload length of 8191*5=40955 bytes. See Packet tab under WDS RCA (Radio Configuration Application), and the API documentation for more details about the FIELDs.
The packet that I want to receive/transmit with the Si446x is greater than the size of the FIFOs (i.e. 64bytes each). What can I do?
There are two options. 1) You can combine the RX and TX FIFOs into a single, shared 129-byte (!) RX-TX FIFO, or 2) monitor FIFO almost full/empty interrupts to read out/ write the bytes as they are coming in/ going out. For more details about the shared FIFO option see GLOBAL_CONFIG: FIFO_MODE in the API documentation.
Note that in order for the shared FIFO take effect you need to reset the FIFO-s through FIFO_INFO command.