5.2.4. Application settings

Settings button from the main window opens the Settings window.

../../../_images/settings1.png

XILab Settings Main Window

Application settings are presented as a hierarchical tree and are divided into three groups: controller settings - “Device”, XILab application settings - “Program”, characteristics of a stage - “Stage”.

The first group Device contains the parameters that can be stored directly in the device (in the flash memory or in the RAM of controller).

The second group Program contains the XILab application settings, which are not written into the controller, and are used to control the XILab itself.

The third group Stage contains information about the parameters of the stage and is read from its ROM chip.

Important

The information on the “Stage” tab temporarily not used

Description of Load setting from flash and Save settings to flash buttons is located in the Saving the parameters in the controller flash memory.

All application settings from the first two groups can be saved to an external file when you click Save settings to file.

When you click the Load setting from file… button you can pick a file with application settings to be loaded into Settings window.

When you click the Compare two files button, a dialog window with file selection is opened. If you select two files all their settings are compared and a list of differences is displayed. [1]

The OK Button closes the Settings window and saves all changes to the settings to the controller. The Cancel button closes the window without saving. The Apply button saves the settings without closing the window.

The Reset button resets all setting changes that were made since the Apply button was pressed, or after opening the Settings, if the Apply button was not pressed.

[1]

How does the profile comparison algorithm work?

XILab takes two files and compares them line by line, but not directly. He first “unwraps” them into a list of parameters, where each parameter is written as “Block Name/Parameter Name”. For example:

[Borders]
Border_is_encoder=false

becomes Borders/Border_is_encoder=false.

After that, the program goes through all such parameters from both files, skipping (ignoring) the following:

  • Parameters whose names contain the word "Window_params" or the "@" symbol;
  • Blocks that begin with specific keywords ([Log_ ], [Graph_ ], [Stage ], and [VERIFICATION]), and their entire contents.

For example:
@Use_max_speed=false - the string is ignored.
Block [Log_setup] is ignored entirely.

Missing keys in one of the files are marked in the table as "NO KEY". If the values do not match, it is also considered a difference.

Spaces, tabs, empty lines, and the order of lines are not taken into account (rearranging lines within the same block is not considered a difference).

It is case-sensitive (for example, the values True and true will be determined as the difference) and language-sensitive (Cyrillic and Latin letters differ).