.. index:: configuration, files, folders .. _configuration-files-label: Files Folders and Configurations ================================ folders ------- The MLA software is working in two distinct folders. The locations of these two folders are selected during the installation. .. index:: program folder .. _program-folder-label: program folder ~~~~~~~~~~~~~~ The program folder typically has the location **C:\\Program Files\\IMP MLA**. This folder contains static files that never change under normal operation, only when the software is updated. For example the executable program files, the firmware files, icons, built-in scripts, etc. This folder is usually marked as "read only" and any change would require administrator privileges. The path to the program folder is selected in the software installation wizard. If it is moved after the installation the short-cuts in the start menu will point incorrectly and would have to be fixed manually. This folder does not need to be backed up, since it can be recreated by re-running the MLA installation program. .. index:: user folder .. _user-folder-label: user folder ~~~~~~~~~~~ The user folder is typically has the location **C:\\IMP Data and Settings**. This folder contains all files that are changed by the user during normal operation, most notably measurement data files, but also configuration files and scripts. The path to the user folder is selected in the software installation wizard. If the user folder is moved or renamed, the first line of **paths.ini** in the :ref:`program-folder-label` must be updated accordingly (which usually requires administrator privileges). Users are encouraged to keep a backup of this folder. When the software is updated, this folder is left untouched. .. index:: configuration files configuration files ------------------- The MLA and the MLA software are configured by a number of different files with different roles. They are processed in the following order: 1. **paths.ini** tells the location of **mla_config.ini**. 2. **mla_config.ini** will then tell which firmware to load and which calibration to use. 3. When the software if fully loaded, a start-up script that is specified in **mla_config.ini** will be executed. 4. The startup script can then call other scripts if necessary. None of the default startup scripts are calling other scripts. Below are more detailed information about these files. .. index:: paths.ini .. paths-ini-label: paths.ini ~~~~~~~~~ **paths.ini** should exist in the same folder as the main executable file (**imp-mla.exe** or **imp-mla.py**). It contains two lines. The first line is the full path to the user folder and the second line is the full path to the user manual. .. index:: mla_config.ini .. _mla-config-ini-label: mla_config.ini ~~~~~~~~~~~~~~ **mla_config.ini** should be located in the :ref:`user-folder-label`. It contains the basic settings for the MLA and MLA software using the well-established INI file format (see for example `http://wikipedia.org/wiki/INI_file `_). **mla_config.ini** specifies: * Which firmware file to load in to the FPGA. * Which calibration file to use. * Which startup script to run. As long as a configuration item is kept at its default value, it will not be written to **mla_config_spec.ini** where the full specification of all available parameters, their default values, and valid values are stored. **mla_configspec.ini** is also stored in the :ref:`program-folder-label`. Under normal operation the user should not have to edit **mla_config.ini** manually. If you do edit this file, the MLA software should be shut down before editing, to avoid undesired over-writing when exiting the software. .. index:: firmware file .. _firmware-file-label: firmware file ~~~~~~~~~~~~~ A firmware file is used to program the FPGA inside the MLA hardware. This is where the powerful real-time digital signal processing occurs, enabling the multifrequency lock-in capabilities. Different firmware files can be optimized for different measurement applications, for example configuring the number of tones in a multifrequency lock-in measurements. The firmware files are found in the **firmware** sub-folder of the :ref:`program-folder-label`. A firmware filename can have the format: **FPGA_NNN_AA_BB_YYYYMM.top.bit**, in which case the codes have the following meaning: - **NNN**, version number of the code, incremented by 1 every time the code base for the firmware is changed. - **AA**, number of input tones that can be analyzed. - **BB**, number of output tones that can be generated. - **YYYYMM**, hardware revision number that is compatible with this firmware. .. index:: calibration files calibration files ~~~~~~~~~~~~~~~~~ The calibration files are described in the section :ref:`calibration-label`. start-up script ~~~~~~~~~~~~~~~ At startup the :ref:`mla-gui-label` can run a script specified by the key **startup_script** in the file **mla_config.ini**. To change the start-up script you can edit the value of this key, or change it from the GUI by opening the desired script in the :ref:`script-panel-label` and pressing the ``startup`` icon in the toolbar.