Hidden internal documentation
The exectuable NewWDS.exe
provided with the SiLabs Wireless Development Suite (WDS) contains hidden XML files. Besides all the information available in official API documentation, these XML files also contain information about:
- Undocumented API commands (e.g. for MFSK TX)
- Undocumented power-up modes (e.g. for IEEE 802.15.4)
- Name, adress and fields of internal registers of the radio IC (8051 SFRs, etc.)
Use /docs/generate-docs.py to generate HTML documentation from information stored in NewWDS.exe
. The script creates
registers-*.html
documenting internal registers of radio ICspiapi-*.html
documenting SPI API, identical with official SDK docs but including internal commands and comments
The register documentation is enriched with our own notes stored in /docs/regs/.
Use /tools/wds-xml-extract.py to extract the XML files from your own copy of WDS.
The files are:
Documents commands and properties of the SPI API. Includes a subset of the undocumentated commands and properties.
Covered ICs:
Si4355
(EZRadio2) rev B0Si4455
(EZRadio2) rev B0Si4460
(EZRadioPRO2) rev B0 and B1
List of all radio ICs and their revisions.
Documents all commands and properties of the SPI API, including all known undocumented commands and properties.
Covered ICs:
Si4355
(EZRadio) rev B1, C0, C1, C2Si4440
(EZRadioPRO2 "Unreleased") rev B1, C0, C1, C2Si4460
(EZRadioPRO) rev B1, C0, C1, C2
The description for the property group OTP_VARS may help making sense of some internal registers.
Documents registers for older EZRadio and EZRadioPRO ICs that were controlled by a documented on-chip 8051. Most (all?) registers seem to be covered in offical documentation for these ICs.
Covered ICs:
Si1000
(MCM) rev B1Si4031
(Tamara) rev XSi4030
(Ara) rev B0, B1Si4032
(Tamara) rev B, ZSi4033
(Tamara) rev B2Si4313
(Ara) rev B1Si4330
(Ara) rev B0, B1Si4431
(Ara) rev A0Si4432
(Ara) rev Y, W, V2, V3, B0, B1, B2
Identical with SPITools.xml except that section for Si4432 rev B0 is commented out.
Documents address, name and fields of all internal registers of current EZRadio and EZRadioPRO ICs.
Covered ICs:
Si4060
(PRO2), rev B1, C0Si4062
(PRO2), rev B1Si4063
(PRO2), rev C0Si4355
(EZRadio2) rev B0, B1, C0Si4362
(PRO2), rev B1, C0Si4438
(PRO2), rev B1, C0Si4450
(EZRadio2) rev B0, B1Si4455
(EZRadio2) rev C0Si4460
(EZRadioPRO2) rev B0, B1, C0Si4461
(PRO2) rev B0, B1, C0Si4463
(PRO2) rev B0, B1, C0Si4464
(PRO2) rev B0, B1Si4467
(PRO2) rev A0Si4468
(PRO2) rev A0
The registers are identical across part numbers, but there are differences between silicon revisions:
B0 == B1
,C0 == A0
B0/B1 != C0/A0
Si4355-C0 == Si4362-C0 == Si4467-A0
Si4362-B1 != Si4362-C0
This further proves that different parts share the same die.
Unfortunately, register descriptions are missing. There are references to internal Word documents. The document name and path can be used to group registers into modules. Though grouping seems to be messed up in places, especially rev C0/A0. Manually fixed up in register map Python script.