Skip to content

SFNC Standard: What Is Migration Mode and How Do I Use It in pylon#

Background#

The names of some standardized features have changed between GenICam SFNC v1.0 and GenICam SFNC v2.0 (SFNC = Standard Features Naming Convention).

In order to retain backwards compatibility, Basler cameras built using GenICam SFNC v2.0 can be run in 'Migration Mode.'

This maps the new feature names to the old ones, so that your older software will be able to operate the newer camera.

These changes are described in detail in the pylon Programmer's Guide, section Migrating Existing Code for Using SFNC 2.X-Based Camera Devices.

Using Migration Mode#

If the migration mode is activated, the changes shown in the tables in the pylon Programmer's Guide are automatically mapped, if a mapping exists.

The migration mode supports writing code when working with multiple camera device types that are compatible with different SFNC versions. However, it is strongly recommended to adapt existing code to be SFNC 2.0 compatible, if you are only working with SFNC 2.0 compatible cameras instead of using the migration mode.

For demonstration purposes only:

// Enable migration mode
GenApi::CBooleanPtr migrationModeEnable(
camera.GetTLNodeMap().GetNode("MigrationModeEnable"));
 migrationModeEnable->SetValue( true);
//  Access the camera's exposure time with both the old and new name:
GenApi::CFloatPtr exposureTime(
camera.GetNodeMap().GetNode( "ExposureTimeAbs"));
GenApi::CFloatPtr exposureTime2(
camera.GetNodeMap().GetNode( "ExposureTime"));

Back to Knowledge Articles