This simple App has been designed to run on a Windows PC to help PowerVision users to manage the numerous user-settings that are available within the PV485 standard config.
The App has this functionality:
- Ability to load PowerVision project file (.MurphyConfig) and extract the user-settings menu system.
- The interactive menu system is displayed on screen and allows the user to navigate with the mouse in a much faster way than is possible on the PowerView display.
- Complete sets of settings can be stored to / read from a USB memory sick and then imported directly into the PV485.
- Support for automatically updating the relevant PowerVision project-file scripts should the menu structure be changed.
How to use
Before any settings can be made, the config source needs to be opened:
Select the required .MurphyConfig file and click on Open. If the selected file supports the latest menu extraction script, the top level menu structure will be displayed:
Any of the top-level menu buttons can now be clicked to bring up the next level of menu. Keep clicking to progress through the menu structure. At the end of each branch will be a final variable eg:
Above, ‘Analog input #1 waring setpoint’ is selected and currently has a value of 20.
Any of the available settings can be modified by clicking through the menu structure until the required setting is displayed.
Saving settings file
Once the settings are set as required, they can be saved to a file ready for importing into a PV485. (Note: A USB memory stick is required for importing into the display.)
Use the ‘Save Autosettings.txt to USB drive’ button and select the location to save to:
Loading a previously exported settings file
Use the ‘Load Autosettings.txt from USB drive’ button and select required file to load settings previously stored by this App or from the ‘Export settings’ function within the PV485 standard config.
Script requirements for PowerVision project
The PV485 standard configuration includes scripts for importing and exporting all user settings from/to a USB drive. There is also a script which defines the menu structure. All of the required scripts are contained in the ‘# Export Import Settings’ group:
- ‘Copy Settings To USB’: This script contains the code for writing all user settings to an attached USB drive.
- ‘Import Settings’: This script contains the code to upload settings from an attached USB drive and store in the non-volatile memory.
- ‘MenuStructure’: This script contains the menu structure for all user settings. The format of this script needs to comply to the rules below in order for the PC App to extract the menu structure correctly.
The script which defines the menu structure needs to conform to the following rules:
- The menu items are stored as ‘comments’ so there must be a /* character combination at the start of the script and a */ character combination at the end:
void $MenuStructure$ ()
Script entries go here…
- Each PowerVision variable that is a user setting must have a full menu path defined for it along with a variable type definition and finally the PowerVision variable name.
"Display settings","Day/Night mode":"Day","Night":Day_Night_for_MenuThe menu layers are defined first, from the top level down. In the above example this is:
"Display settings","Day/Night mode":
Menu layers have quotes at the start and end of each entry, separated by a comma and a colon after the last entry. (There can be up to 5 layers of menu)
After the menu layers are the variable type definition. This can be enumerated values, a numeric value, a PIN number or a string variable. In the above example, the variable type is ‘enumerated’.
Enumerated values should be entered as text within quotes in the order they appear when defined. In the above example the choices for this variable are:
Numeric value example:
"Display settings","Brightness Day":0-100"%":Brightness_Day
In this example, the variable type definition is 0 – 100 “%”. The ‘0’ is the minimum value, followed by a hyphen and then the ‘100’ which is the variables maximum value and then the “%” field which is the units for the variable.
PIN number example:
"Advanced settings","Change OEM password":####:OEM_Password
In this example, the variable type is 4 ‘#’ characters to denote a 4-digit PIN.
String variable example:
"IO settings","Analog Inputs","Rename analog input 1":$:AnalogInputName1$
In this example, the variable type is just a dollar ‘$’ character to denote a string.
NOTE: After the variable type definition is another colon character delimiter.
The last part of the definition is the PowerVision variable name. This is the variable name that is used within the config. It must be entered EXACTLY as it is defined. i.e Case sensitive and with any special characters if used.
Removing menu entries
Menu entries can be simply removed by deleting the whole line. Note: This will not remove the PowerVision variable from the config.
Adding menu entries
Menu entries should be inserted into the correct position within the script such that the menu path up to the new entry is the same as the preceding line.
NOTE: Information on formatting the script correctly is available at the top of the MenuStructure script.
Auto update script function
If the menu structure has been changed and variables added or removed, it is required that the ‘Import settings’ and the ‘Copy Settings To USB’ scripts be updated accordingly. The order of variables for import/export has to match exactly otherwise variables can be assigned incorrect values when importing the ‘Settings.txt’ file from a USB stick.
The App has the ability to automatically re-write these 2 scripts and ensures the order of variables are identical.
How to use:
- Make sure the ‘MenuSettings’ script correctly matches the menu structure required.
- Save and close the PowerVision config.
- Load the config in to the App using the ‘Open’ button.
- Check the menu structure on screen.
- Click on the ‘Auto update scripts’ button:
The App will now perform the following steps:
- The ‘.MurphyConfig’ file is unzipped to a temporary location.
- All the menu variable items are extracted from the ‘MenuStructure’ script.
- Updated versions of ‘Import Settings’ and ‘Copy Settings To USB’ scripts are created.
- The existing ‘Import Settings’ and ‘Copy Settings To USB’ scripts within the config are replaced with the updated code.
- The XML files are resaved and then zipped up to the ‘.MurphyConfig’ file.
The status of the auto update process (including any errors) is displayed in the status pane:
- Once the process is complete, the ‘.MurphyConfig’ file should be opened in PowerVision, recompiled and saved.