Migration Guide#

Connect Stack 4.1.0#

Connect Stack 4.1.0 introduces a key change: projects now use sl_main instead of sl_system for initialization and main loop control. This section will help you update your project quickly and with confidence.


Detailed API Change#

Upgrade to sl_main#

Migrating to the new sl_main APIs is the best way to ensure long-term support and access to new features.

How to Upgrade#

  1. Update your project In Simplicity Studio, switch your project to the sisdk-2025.6 version.

  2. Replace API calls and headers Change all sl_system API calls and header includes to their sl_main equivalents (see below).

  3. Update initialization and main loop Follow the migration examples to update your main loop and initialization code.

Upgrading keeps your project compatible with future releases and lets you benefit from the latest improvements.


Header File Changes#

Update your includes as follows:

Version 4.0.0 (Old)

Version 4.1.0 (New)

#include "sl_system_init.h"

#include "sl_main_init.h"

#include "sl_system_kernel.h"
#include "sl_system_process_action.h"

#include "sl_main_kernel.h"
#include "sl_main_process_action.h"

Example of include changes::

// Version 4.0.0 (Old)
#include "sl_system_init.h"
#if defined(SL_CATALOG_KERNEL_PRESENT)
  #include "sl_system_kernel.h"
#else
  #include "sl_system_process_action.h"
#endif

// Version 4.1.0 (New)
#include "sl_main_init.h"
#if defined(SL_CATALOG_KERNEL_PRESENT)
  #include "sl_main_kernel.h"
#else
  #include "sl_main_process_action.h"
#endif

Initialization and Main Loop Changes#

Update your main loop depending on whether your project uses an RTOS kernel or is bare metal:

Table of API Changes#

Version 4.0.0 (sl_system)

Version 4.1.0 (sl_main)

sl_system_init()

sl_main_init() or sl_main_second_stage_init()

sl_system_kernel_start()

(see new kernel loop below)

sl_system_process_action()

sl_main_process_action()

If Kernel is Present#

// Version 4.0.0 (Old)
sl_system_init();
app_init();
sl_system_kernel_start();

// Version 4.1.0 (New)
sl_main_second_stage_init();
app_init();
while (sl_main_start_task_should_continue()) {
  app_process_action();
}

If Kernel is NOT Present#

// Version 4.0.0 (Old)
sl_system_init();
app_init();
while (1) {
  sl_system_process_action();
  app_process_action();
}

// Version 4.1.0 (New)
sl_main_init();
app_init();
while (1) {
  sl_main_process_action();
  app_process_action();
}