MATRIX VISION - mvBlueCOUGAR-X/-XD Technical Documentation
Creating user data entries

Basics about user data

It is possible to save arbitrary user specific data on the hardware's non-volatile memory. The amount of possible entries depends on the length of the individual entries as well as the size of the devices non-volatile memory reserved for storing:

  • mvBlueFOX,
  • mvBlueFOX-M,
  • mvBlueFOX-MLC,
  • mvBlueFOX3,
  • mvBlueCOUGAR-X,
  • mvBlueCOUGAR-XD,
  • mvBlueCOUGAR-XT and
  • mvBlueNAOS

currently offer 512 bytes of user accessible non-volatile memory of which 12 bytes are needed to store header information leaving 500 bytes for user specific data.

One entry will currently consume:
1 + <length_of_name (up to 255 chars)> + 2 + <length_of_data (up to 65535 bytes)> + 1 (access mode) bytes

as well as an optional:
1 + <length_of_password> bytes per entry if a password has been defined for this particular entry

It is possible to save either String or Binary data in the data property of each entry. When storing binary data please note, that this data internally will be stored in Base64 format thus the amount of memory required is 4/3 time the binary data size.

The UserData can be accessed and created using wxPropView (the device has to be closed). In the section "UserData" you will find the entries and following methods:

  • "CreateUserDataEntry"
  • "DeleteUserDataEntry"
  • "WriteDataToHardware"
Figure 1: wxPropView - section "UserData -> Entries"

To create a user data entry, you have to

  • Right click on "CreateUserDataEntry"
  • Select "Execute" from the popup menu.
    An entry will be created.
  • In "Entries" click on the entry you want to adjust and modify the data fields.
    To permanently commit a modification made with the keyboard the ENTER key must be pressed.
  • To save the data on the device, you have to execute "WriteDataToHardware". Please have a look at the "Output" tab in the lower right section of the screen as shown in Figure 2, to see if the write process returned with no errors. If an error occurs a message box will pop up.
Figure 2: wxPropView - analysis tool "Output"

Coding sample

If you e.g. want to use the UserData as dongle mechanism (with binary data), it is not suggested to use wxPropView. In this case you have to program the handling of the user data.

See also
mvIMPACT::acquire::UserDataEntry in mvIMPACT_Acquire_API_CPP_manual.chm.