Specifications
Platform-Specific SNAPpy Functionality
Radio Calibration Info (NV Parameter 66):
The system automatically maintains calibration data for 16 radio channels (4 bytes per channel). This
calibration info is stored in NV Parameter 66.
To see how to trigger radio calibration, refer to the descriptions of pokeRadio(5) and pokeRadio(6)
later in this section.
Built-in function getInfo():
The values returned by the getInfo() function for the first four parameters vary by platform. For nodes
based on the STM32W108xB chips, getInfo() will return the following enumerations:
Command Value Command Value Command Value Command Value
getInfo(0)
9
getInfo(1)
0
getInfo(2)
10
getInfo(3)
20
Calling getInfo(0) returns a vendor code. Vendor code 9 means “STMicroelectronics”.
Calling getInfo(1) returns a radio code. Radio code 0 means “2.4 GHz 802.15.4”.
Calling getInfo(2) returns a CPU code. CPU code 10 means “ARM Cortex-M3”.
Calling getInfo(3) returns a platform code. Platform code 20 means “STM32W108xB”.
Built-in function i2cInit():
On most SNAP platforms, the i2cInit() built-in only accepts a single parameter, controlling the use of
internal pull-up resistors.
On the STM32W108xB, you can also call i2cInit() with three parameters:
i2cInit(enablePullups, SCL_pin, SDA_pin)
The second and third parameters allow you to “move” the I2C pins to another pair of IO pins on the
chip. This opens up the possibility of using both I2C and SPI peripherals in the same design, while at
the same time providing compatibility with existing hardware designs (on the physical chip, the
hardware I2C and SPI pins really do overlap).
Note that calling i2cInit(xxx, 2, 1) is the same as calling i2cInit(xxx) – the pin assignments default to
SCL = IO 2 and SDA = IO 1.
Built-in function lcdPlot():
Built-in function lcdPlot() has no effect in STM32W108xB builds.
SNAP Reference Manual Document Number 600-0007K Page 189 of 202