List of Preprocessor Build Settings#

This section provides the list of preprocessor macros that can be edited in the build settings and are available with the WiSeConnect™ SDK with the SiWx91x™ and EFR32™ hosts.

Some macros shown in the preprocessor build settings window are not listed here as you cannot modify it.

Module OPNs: For SiWx917 ACX (Refresh Module) packages, the CMSIS-device part (.slcc) may define module form-factor macros such as SL_SI91X_ACX_MODULE; these are selected with the device part in Simplicity Studio, not invented per project.

Macros are listed in alphabetical order.

Macro Name and Default Value

Valid Values

Description

DEBUG_ENABLE

1 to enable, 0 to disable

Enables generic debug instrumentation for early bring-up.

DEBUG_UART

1 to enable, 0 to disable or omit

Legacy UART-based debug; omit when iostream replaces UART debug to avoid conflicts (see platform iostream readmes). When enabled, routes debug print traffic over UART on the debug UART path.

ENABLE_DEBUG_MODULE

1 to enable, 0 to disable

Enables or includes the optional debug module block in platform builds; used by some platform configurations.

SI91X_32kHz_EXTERNAL_OSCILLATOR

1 to enable, 0 to disable

32 kHz external oscillator is selected instead of the internal RC path.

SI91X_PLATFORM

1 to enable, 0 to disable

Si91x platform abstraction layer and BSP glue for the selected BSP/device family and target (compiled in for the selected target).

SLI_SI917

1 to enable, 0 to disable

Si917-class device family build flag; set by the selected CMSIS-device part .slcc (SiWG917 / SiWN917 packages). Also referenced from wireless metadata where applicable.

SLI_SI917B0

1 to enable, 0 to disable

B0 silicon revision path for supported Si917-class parts; injected by part .slcc when that revision applies.

SLI_SI91X_CONFIG_WIFI6_PARAMS

1 to enable, 0 to disable

Enabling or disabling the Wi-Fi 6 protocol. Only used when the Wi-Fi component is enabled.

SLI_SI91X_EMBEDDED_MQTT_CLIENT

1 to enable, 0 to disable

Enabling or disabling the Message Queue Telemetry Transport (MQTT) client functionality of the SiWx91x chipset. Only used when the MQTT Client component is enabled.

SLI_SI91X_ENABLE_IPV6

1 to enable, 0 to disable

Enabling or disabling Internet Protocol version 6 (IPv6) support.

SLI_SI91X_INTERNAL_HTTP_CLIENT

1 to enable, 0 to disable

Enabling or disabling the Hyper-Text Transfer Protocol (HTTP) client functionality of the SiWx91x chipset with asynchronous event support. Only used when the HTTP Client component is enabled.

SLI_SI91X_INTERNAL_MDNS

1 to enable, 0 to disable

Enabling or disabling the Multicast Domain Name System (mDNS) functionality of the SiWx91x chipset. Only used when the MDNS component is enabled.

SLI_SI91X_INTERNAL_SNTP_CLIENT

1 to enable, 0 to disable

Enabling or disabling the Simple Network Time Protocol (SNTP) client functionality of the SiWx91x chipset. Only used when the SNTP Client component is enabled.

SLI_SI91X_LWIP_HOSTED_NETWORK_STACK

1 to enable, 0 to disable

Enabling or disabling the lightweight Internet Protocol (LwIP) network stack on the external microcontroller unit (MCU) host in Network Co-Processor (NCP) mode.

SLI_SI91X_LWIP_NETWORK_STACK

1 to enable, 0 to disable

Enabling or disabling the lightweight Internet Protocol (LwIP) network stack on the application processor in System-on-Chip (SoC) mode.

SLI_SI91X_MCU_COMMON_FLASH_MODE

1 to enable, 0 to disable

Common flash memory layout for the MCU when SoC user configuration enables it; defined by soc_configuration_enable (with USER_CONFIGURATION_ENABLE in that component).

SLI_SI91X_MCU_ENABLE_FLASH_BASED_EXECUTION

1 to enable, 0 to disable

Flash-based execution for the MCU on parts that use this model; injected by the selected OPN part .slcc when supported.

SLI_SI91X_MCU_ENABLE_IPMU_APIS

1 to enable, 0 to disable

Enables IPMU (integrated PMU) API sources for SiWx91x SoC bring-up.

SLI_SI91X_MCU_ENABLE_PSRAM_FEATURE

1 to enable, 0 to disable

Enabling or disabling the sleep and wakeup functionality of the Pseudo-Static Random-Access Memory (PSRAM) of the SiWx91x chipset. This option is only available on radio boards that include PSRAM.

SLI_SI91X_MCU_EXTERNAL_LDO_FOR_PSRAM

1 to enable, 0 to disable

PSRAM uses an external LDO on applicable part variants; injected by the OPN part .slcc (not on all parts).

SLI_SI91X_MCU_FW_UPGRADE_OTA_DUAL_FLASH

1 to enable, 0 to disable

Enabling or disabling the firmware update of the application processor on dual flash radio boards using the OTAF protocol. This option is only available on dual flash boards.

SLI_SI91X_MCU_INTERFACE

1 to enable, 0 to disable

SoC M4 ↔ wireless MCU interface path is enabled (AHB / co-processor interface to the NWP).

SLI_SI91X_MCU_INTR_BASED_RX_ON_UART

1 to enable, 0 to disable

Enabling or disabling the receiving of data over the Universal Asynchronous Receiver-Transmitter (UART) interface using interrupts.

SLI_SI91X_SOCKETS

1 to enable, 0 to disable

Enabling or disabling socket programming support. Only used when the Internal Network Stack component is enabled.

SL_COMPONENT_CATALOG_PRESENT

1 to enable, 0 to disable

Component catalog metadata is present in the build (Simplicity Studio / SDK component system).

SL_DEPRECATED_API_WISECONNECT_3_5

1 to enable, 0 to disable

Marks APIs that are deprecated in WiSeConnect SDK v3.5.0. Refer to the Migrating from v3.4.2 for a list of deprecated APIs. It is recommended to migrate to the updated APIs to ensure future support.

SL_DEPRECATED_API_WISECONNECT_4_0

1 to enable, 0 to disable

Marks APIs that are deprecated in WiSeConnect SDK v4.0.2. Refer to the Migrating from v3.5.3 for a list of deprecated APIs. We recommend migrating to the updated APIs to ensure future support.

SL_LOG_SI91X_BACKEND

1 to enable, 0 to disable

Selects the Si91x log backend implementation linked into the project.

SL_LOG_SI91X_PLATFORM_CORE

1 to enable, 0 to disable

Enables platform-core logging support for the Si91x log module.

SL_SI91X_32KHZ_RC_CALIBRATION_ENABLED

1 to enable, 0 to disable

Enables 32 kHz RC oscillator calibration support.

SL_SI91X_ACX_MODULE

1 to enable, 0 to disable

ACX (Refresh Module) SiWx917 module form-factor flag; injected by the selected CMSIS-device part .slcc for applicable SiWG917/SiWN917 module OPNs (part metadata exposes device_is_module). Used in MCU drivers, peripheral setup, and wireless code (for example WLAN region handling differs from discrete-IC designs).

SL_SI91X_AWS_IOT_ROOT_CA_1

1 to enable, 0 to disable

Enabling or disabling the Intermediate Amazon Root CA 1 certificate.

SL_SI91X_BOARD_INIT

1 to enable, 0 to disable

Enables SoC board initialization at platform_init (RSI_Board_Init); defined when the SoC Board Configurations (rsilib_board) component is included.

SL_SI91X_CODE_CLASSIFIER_ENABLE

1 to enable, 0 to disable

Enables the code classifier for RAM/PSRAM placement overrides.

SL_SI91X_D_CACHE_ENABLE

1 to enable, 0 to disable

Enables the data cache for the MCU subsystem when supported by configuration.

SL_SI91X_ENABLE_LOWPWR_RET_LDO

1 to enable, 0 to disable

Low-power retention LDO configuration for powersave-capable setups.

SL_SI91X_EVENT_HANDLER_STACK_SIZE

User defined value

Stack size of the event handler thread that processes all Wi-Fi and networking callbacks.

SL_SI91X_FAST_FW_UP

1 to enable, 0 to disable

Enabling or disabling fast firmware update. Used to flash firmware image in primary location of NWP.

SL_SI91X_IOSTREAM_SWO_PRESENT

1 to enable, 0 to disable

SWO backend is present for iostream-based logging.

SL_SI91X_MCU_ALARM_BASED_WAKEUP

1 to enable, 0 to disable

Enabling or disabling the alarm-based wake up method. Only used when the Si91x Cortex-M4 Powersave component is enabled.

SL_SI91X_MCU_BUTTON_BASED_WAKEUP

1 to enable, 0 to disable

Enabling or disabling the button-based wake up method. Only used when the Si91x Cortex-M4 Powersave component is enabled.

SL_SI91X_MCU_CLK_OUT_CONFIG

1 to enable, 0 to disable

MCU clock output to a pin is configured via the clock manager UC.

SL_SI91X_MCU_WIRELESS_BASED_WAKEUP

1 to enable, 0 to disable

Enabling or disabling the wireless-based wake up method. Only used when the Si91x Cortex-M4 Powersave component is enabled.

SL_SI91X_POWER_MANAGER_DEBUG_COMPONENT

1 to enable, 0 to disable

Power manager debug component for development visibility.

SL_SI91X_PRINT_DBG_LOG

1 to enable, 0 to disable

Enabling or disabling LOG_PRINT support in Bluetooth Low Energy (BLE) mode and Wi-Fi + BLE mode.

SL_SI91X_REQUIRES_INTF_PLL

1 to enable, 0 to disable

Enabling or disabling the INTF_PLL (Interface PLL) clock for HP peripherals.

SL_SI91X_SOC_MODE

1 to enable, 0 to disable

Build targets SoC mode (application MCU with on-chip wireless subsystem).

SL_SI91X_UART_HFC_ENABLE

1 to enable, 0 to disable

Enabling or disabling hardware flow control in NCP UART. Should only be used when SL_SI91X_UART_HIGH_SPEED_ENABLE is enabled.

SL_SI91X_UART_HIGH_SPEED_ENABLE

1 to enable, 0 to disable

Enabling or disabling the switching of NCP UART to operate on higher baudrate.

SL_SI91X_ULP_STATE_ENABLE

1 to enable, 0 to disable

Enabling or disabling the required configuration for ultra-low power state by trimming the ULP_RC (Ultra-Low Power RC) clock to 20 MHz. Customer-facing platform power option; also appears on the public preprocessor list.

SL_SI91X_WRAP_KEY_BUFFER_SIZE400

User defined value

Configures the size of the key to be wrapped in bytes.

SL_SUPPRESS_DEPRECATION_WARNINGS_WISECONNECT_3_5

1 to enable, 0 to disable

Suppresses warnings generated when using deprecated API from WiSeConnect SDK v3.5.0.

SL_SUPPRESS_DEPRECATION_WARNINGS_WISECONNECT_4_0

1 to enable, 0 to disable

Suppresses warnings generated when using deprecated API from WiSeConnect SDK v4.0.2.

SL_TX_ADDITIONAL_WAIT_TIME

1 to enable, 0 to disable

Enabling or disabling additional wait time to increase timeout for frequent rejoin failures and buffer overflows.

SL_WIFI_INTERNAL_COMMANDS_TIMEOUT_SF

User defined value

Configures the scaling factor for internal operations that require communication between the host application and the device's internal firmware subsystems for configuration, control, and status operations.

SL_WIFI_MANAGEMENT_COMMANDS_TIMEOUT_SF

User defined value

Configures the scaling factor for Wi-Fi management commands that involve over-the-air (OTA) operations.

SL_WIFI_NETWORK_COMMANDS_TIMEOUT_SF

User defined value

Configures the scaling factor for network operations like server acknowledgments, DNS resolutions, and HTTP transactions.

SL_WLAN_COMMAND_ENGINE_THREAD_PRIORITY

Value from osPriority_t enum

Priority level for WLAN command engine thread. The default value is set to osPriorityRealtime, which is a real-time priority level. Refer to the recommended settings to configure this macro.

SL_WLAN_EVENT_THREAD_PRIORITY

Value from osPriority_t enum

Priority level for event thread. The default value is set to osPriorityRealtime1, which is a real-time priority level. Refer to the recommended settings to configure this macro.

SYSCALLS_WRITE

1 to enable, 0 to disable

Retargets syscalls (for example write) for hosted I/O; often added from the syscalls component in example projects.

TA_DEEP_SLEEP_COMMON_FLASH

1 to enable, 0 to disable

Trusted-architecture deep sleep path that uses the common flash memory layout (sl_si91x_mcu and related packages).

UART_MODULE

1 when defined

UART unified driver module is compiled in (sl_uart.slcc).

UDMA_ROMDRIVER_PRESENT

1 to enable, 0 to disable

UDMA ROM driver is present in the ROM driver table for this silicon.

ULP_UART_MODULE

1 when defined

ULP UART unified driver module is compiled in (sl_ulp_uart.slcc).

USART_MODULE

1 when defined

USART unified driver module is compiled in (sl_usart.slcc).

ULPSS_CLOCK_ROMDRIVER_PRESENT

1 to enable, 0 to disable

ULPSS clock ROM driver is present in the ROM driver table for this silicon.

__FREERTOS_OS_WISECONNECT

1 to enable, 0 to disable

Indicates the build uses FreeRTOS with the WiseConnect MCU integration path.