# Migration to v4.0¶

For users of the SDK looking for improvements to performance and new exciting features, the following document describes how to migrate your firmware over to the latest version of the SDK.

The SDK is now distributed as a zip file containing the applications and the SDK on which those applications are built. You can request the source code by contacting SDK Request.

## Upgrading from v3.2¶

The “SOMANET SDK v3.2” pre-release was renamed “SOMANET Software v4” because changes from v3.0 to v3.2 introduced an incompatibility with the C22 Core board. During this change, the repository was reorganized to help improve our development process and standardize future application development. Changes to the SDK source have been minimal.

The former app_demo_slave_ethercat_motorcontrol example was renamed “Motion Drive”, and promoted to the sw_applications directory as a first-class application. This also advises a process for managing your firmware as a user of the SDK. This organizational structure conforms to the expectations of the XMOS toolchain.

• sw_applications contains the applications supported (tested, distributed) by Synapticon GmbH. This is the location recommended for new apps that you wish to write.
• All components of the SOMANET SDK can be found under the directory sc_somanet_sdk. By convention, this should be reserved for SOMANET modules. Your own modules could be placed, for example, in a directory named sc_yourproject.
• The sc_external directory contains libraries from external sources, such as those from XMOS. These libraries are left unmodified, and are imported as Git submodules.
• tools collects utilities that may be useful.

If you have already been using v3.2 of the SDK, you will find all the modules under the directory sc_somanet_sdk, categorized as before (without the sc_sncn prefix on the directories). Additionally,

• sc_sncn_ethercat_drive is now named network_drive.
• configuration_parameters, formerly in sc_sncn_motorcontrol/examples, is now located in a module dedicated files generated from our OBLAC EDT tool, and can be found under sw_applications/module_generated_files/device_description/

Many objects in the object dictionary have been moved or removed to comply with various standards. This includes tuning mode objects, the command object for save/load of configuration, and so on. Commutation offset detection is now performed from a dedicated mode, rather than through tuning mode.

## Upgrading from v3.0¶

Some changes to parameters in the source code include:

• The parameter IF2_TILE_USEC should use USEC_STD rather than USEC_FAST.
• PID parameters were type integer in v3.0; they have been changed to double, and the units have been set to real-world values. Details can be found in our Controllers module
• The structure of the Object Dictionary has changed. Use the OBLAC EDT tool to generate source that complies.
• Board support files use IF1 and IF2 instead of COM and DRIVE conventions.
1.2