Balluff - BVS CA-SF Technical Documentation
Working with the UserFile section (Flash memory)

The BVS CA-SF offers a 64 KByte section in the Flash memory that can be used to upload a custom file to (UserFile).

To read or write this file you can use the following GenICam File Access Control and its interfaces:

  • IDevFileStream (read)
  • ODevFileStream (write)
Note
The UserFile is lost each time a firmware update is applied to the device.

Using ImpactControlCenter

ImpactControlCenter offers a wizard for the File Access Control usage:

  1. Click on "Setting → Base → Camera → GenICam → File Access Control → File Selector → File Operator Selector".
    Now, the "Wizard" button becomes active.

    Figure 1: ImpactControlCenter - UserFile wizard

  2. Click on the "Wizard" button.
    Now, a dialog appears where you can choose either to upload or download a file.

    Figure 2: ImpactControlCenter - Download / Upload dialog

  3. Make your choice and click on "OK".
    Now, a dialog appears where you can select the File.

    Figure 3: ImpactControlCenter - Download / Upload dialog

  4. Select "UserFile" follow the instructions.

Manually control the file access from an application (C++)

The header providing the file access related classes must be included into the application:

#include <mvIMPACT_CPP/mvIMPACT_acquire_GenICam_FileStream.h>

A write access then will look like:

const string fileNameDevice("UserFile");

// uploading a file
mvIMPACT::acquire::GenICam::ODevFileStream file;
file.open( pDev, fileNameDevice.c_str() );

if( !file.fail() )
{
  // Handle the successful upload.
}
else
{
  // Handle the error.
}

A read access will look like:

const string fileNameDevice("UserFile");

// downloading a file works in a similar way
mvIMPACT::acquire::GenICam::IDevFileStream file;
file.open( pDev, fileNameDevice.c_str() );

if( !file.fail() )
{
  // Handle the successful upload.
}
else
{
  // Handle the error.
}

You can find a detailed code example in the C++ API manual in the documentation of the classes mvIMPACT::acquire::GenICam::IDevFileStream and mvIMPACT::acquire::GenICam::ODevFileStream