Table Of Contents

Custom Device XML Tags

Last Modified: June 10, 2021

XML tags define settings for a custom device.

These elements, and non-standard element types, are defined in the Custom Device.xsd schema located in the <Common Data>\Custom Devices directory. You can open the file in an XML or text editor to read the schema and view the hierarchy.
For an example of how to implement tags in your XML file, refer to the pre-built custom device XML files that install with VeriStand.
spd-note-caution
Caution  

Do not directly edit the contents of the included Custom Device XML files. Edits to the file can break the custom devices.

The following table displays the XML tags you can use in a custom device XML file.

Element Required? Element type Min/Max occurrences Description
<CustomDevice> Yes complex 1/1 Opening tag for a custom device definition.
<XSDVersion> No VersionType 0/1 Specifies the version of the Custom Device.xsd file the XML is using. The version must match the version of VeriStand you are using.
↳↳<AddMenu> Yes LocString 1/1 Specifies the device name to display in the shortcut menu when an operator right-clicks the Custom Devices node in System Explorer.
↳↳<Dependency> No Dependency 0/1 Specifies the path to a dependency file, such as a DLL or VI, that the custom device requires and that you want to deploy to the target along with the custom device.
↳↳<Version> Yes xs:string 1/1 Specifies version information for the custom device.
↳↳<Type> Yes xs:string 1/1
Specifies the device type or execution mode of the custom device:
  • Asynchronous
  • Inline HW Interface
  • Inline Model Interface
  • Inline Timing and Sync
  • Asynchronous Timing and Sync
↳↳<MaxOccurrence> Yes xs:int 1/1 Specifies the maximum number of instances of the custom device to allow in a system definition file.
↳↳<MainPageGUID> Yes xs:string 1/1 Specifies the GUID of the configuration page to associate with the top-level custom device item.
↳↳<TimingSource> No complex 0/1 Configures a custom timing source for the Primary Control Loop.
↳↳↳<HasTimingSourceCapability> Yes* xs:boolean 1/1 Enables or disables the use of the timing source VI you specify as the timing source for the Primary Control Loop.
↳↳↳<Paths> No complex 1/1 These elements are obsolete. Use <SourceDistribution> instead.
↳↳↳↳<Source> Yes* Path 1/1
↳↳↳↳<RealTimeSystemDestination> Yes* xs:string 1/1
↳↳↳<SourceDistribution> No complex 0/1 Contains information about the source distribution for the timing source VI.
↳↳↳↳<Source> Yes* complex 1/unbounded Contains information about the files in the source distribution.
↳↳↳↳↳<SupportedTarget> Yes* Target 1/unbounded Specifies the target operating system(s) on which the custom device runs.
↳↳↳↳↳<Location> Yes* Path 1/1 Specifies the location of the timing source VI on the host computer.
↳↳↳↳↳<RealTimeSystemDestination> Yes* xs:string 1/1 Specifies the destination path for the timing source VI on the target.
↳↳↳↳↳<Version> No xs:string 0/1 Specifies version information for the source distribution.
↳↳<InitializationVI> Yes complex 1/1 Contains information about the Initialization VI that runs when you add the custom device to the system definition file.
↳↳↳<Type> Yes xs:string 1/1
Specifies how the VI runs:
  • Action—Specifies that the VI runs silently in the background.
  • VI—Specifies that the VI runs in an interactive mode with the front panel visible.
↳↳↳<Execution> No xs:string 1/1
Specifies additional information about the execution of the VI:
  • Silent—Specifies that the VI runs silently in the background.
  • Modal—Specifies that the VI runs in a modal window.
  • Floating—Specifies that the VI runs in a floating window.
  • Default—Specifies that the VI runs in the default mode for the <Type> you specify.
↳↳↳<Position> No xs:string 1/1
Specifies where to position the front panel window, if displayed, on VI launch:
  • Centered—Specifies to center the window on the default monitor.
  • Mouse pointer—Specifies to position the origin of the window on the mouse pointer.
↳↳↳<Item2Launch> Yes Path 1/1 Specifies the VI to launch as the Initialization VI.
↳↳<CustomDeviceVI> Yes complex 1/1 Contains information about the RT Driver VI that runs on the target.
↳↳↳<Source> No Path 0/1 These elements are obsolete. Use <SourceDistribution> instead.
↳↳↳<RealTimeSystemDestination> No xs:string 0/1
↳↳↳<SourceDistribution> No complex 0/1 Contains information about the source distribution for the RT driver VI.
↳↳↳↳<Source> Yes* complex 1/unbounded Contains information about the files in the source distribution.
↳↳↳↳↳<SupportedTarget> Yes* Target 1/unbounded Specifies the target operating system(s) on which the custom device runs.
↳↳↳↳↳<Source> Yes* Path 1/1 Specifies the location of the RT driver VI on the host computer.
↳↳↳↳↳<RealTimeSystemDestination> Yes* xs:string 1/1 Specifies the destination path for the RT driver VI on the target.
↳↳<Dependencies> Yes complex 1/1 Contains information about dependencies of the custom device.
↳↳↳<Dependency> No complex 0/unbounded Contains information about a specific dependency.
↳↳↳↳<SupportedTarget> No Target 0/1 Specifies the target operating system(s) on which the custom device runs.
↳↳↳↳<Source> Yes* Path 1/1 Specifies the location of the dependency on the host computer.
↳↳↳↳<RealTimeSystemDestination> Yes* xs:string 1/1 Specifies the destination path for the dependency on the target.
↳↳↳↳<ForceDownload> No xs:boolean 0/1 Specifies whether to force the download of the dependency.
↳↳↳↳<Version> No xs:string 0/1 Specifies version information for the dependency.
↳↳<Pages> Yes complex 1/1 Contains information about System Explorer configuration pages associated with the custom device.
↳↳↳<Page> Yes complex 1/unbounded Contains information about a specific page.
↳↳↳↳<Name> Yes LocString 1/1 Specifies the name of the page.
↳↳↳↳<DisallowRenaming> No xs:boolean 0/1 Disallows renaming of the item with which the page is associated.
↳↳↳↳<DeleteProtection> No xs:boolean 0/1 Disallows deleting the item with which the page is associated.
↳↳↳↳<AllowMultiSelection> No xs:boolean 0/1 Allows an operator to select the item with which the page is associated during a multi-select operation.
↳↳↳↳<ExcludeFromAlphabeticalOrder> No xs:boolean 0/1 Excludes the item with which the page is associated from being sorted alphabetically with other items in the same section.
↳↳↳↳<Copy> No xs:string 0/1
Configures copying of the item:
  • Copy—Enables copying.
  • Disabled—Disables copying.
↳↳↳↳<Paste> No xs:string 0/1
Configures pasting of the item:
  • Create—Pastes by creating a new instance of the item.
  • CreateIfNotExists_GUID—Pastes only if an item with the same GUID does not already exist.
  • CreateIfNotExists_Name—Pastes only if an item with the same name does not already exist.
  • Replace—Pastes by replacing an item.
  • Dialog—Prompts the operator with a dialog before pasting.
↳↳↳↳<ParentGUIDs> No complex 0/1 Contains information about the GUIDs of possible parent items. When <Paste> is CreateIfNotExists_GUID, VeriStand checks any GUIDs listed here in addition to the page GUID.
↳↳↳↳↳<ParentGUID> No xs:string 0/unbounded Specifies the GUID of a parent item.
↳↳↳↳<GUID> Yes xs:string 1/1 Specifies the page GUID.
↳↳↳↳<Glyph> Yes Path 1/1 Specifies the default icon that appears next to the item in System Explorer.
↳↳↳↳<InactiveGlyph> No Path 0/1 Specifies the icon that appears next to the item in System Explorer when the item is inactive.
↳↳↳↳<BrokenGlyph> No Path 0/1 Specifies the icon that appears next to the item in System Explorer when the item is broken.
↳↳↳↳<Item2Launch> Yes Path 1/1 Specifies the VI to launch as the page.
↳↳↳↳<RunTimeMenu> No complex 0/1 Contains information about the shortcut menu an operator can access by right-clicking the item at run time.
↳↳↳↳↳<MenuItem> Yes* complex 1/unbounded Contains information about a specific shortcut menu item.
↳↳↳↳↳↳<GUID> Yes* xs:string 1/1 Specifies the GUID for the menu item.
↳↳↳↳↳↳<Type> Yes* xs:string 1/1
Specifies the type of the menu item:
  • Action—Specifies that the item launches a VI that runs silently in the background.
  • VI—Specifies that the item launches a VI and displays the front panel so the operator can interact with the VI.
  • Separator—Specifies that the item is a menu separator.
  • Custom—Specifies that the menu item has a custom type.
↳↳↳↳↳↳<Execution> No xs:string 0/1
Specifies additional information about the execution of the VI associated with the menu item.
  • Silent—Specifies that the VI runs silently in the background.
  • Modal—Specifies that the VI runs in a modal window.
  • Floating—Specifies that the VI runs in a floating window.
  • Default—Specifies that the VI runs in the default mode for the <Type> you specify.
↳↳↳↳↳↳<Position> No xs:string 0/1
Specifies where to position the front panel window, if displayed, on VI launch.
  • Centered—Specifies to center the window on the default monitor.
  • Mouse pointer—Specifies to position the origin of the window on the mouse pointer.
↳↳↳↳↳↳<Behavior> No xs:string 0/1 Specifies whether the menu item does nothing (None) or launches a VI (OpenFrontPanel).
↳↳↳↳↳↳<MinNrOfChilds> No xs:int 0/1 Specifies a minimum number of children for the menu item.
↳↳↳↳↳↳<Name> Yes* LocString 1/1 Specifies the name of the menu item.
↳↳↳↳↳↳<Item2Launch> Yes* Path 1/1 Specifies the VI to launch when an operator selects the menu item.
↳↳↳↳↳↳<Dependency> No Dependency 0/1 Specifies the path to a dependency file.
↳↳↳↳↳↳<CustomPopulation> No Path 0/1 Specifies a file to associate with the menu item if <Type> is Custom.
↳↳↳↳<ButtonList> No complex 0/1 Contains information about buttons that appear in the System Explorer when an operator displays the page.
↳↳↳↳↳<Button> Yes* complex 1/unbounded Contains information about a specific button.
↳↳↳↳↳↳<ID> Yes* xs:string 1/1 Specifies a unique ID to associate with the button.
↳↳↳↳↳↳<Glyph> Yes* Path 1/1 Specifies the icon that appears on the button.
↳↳↳↳↳↳<Type> No xs:string 0/1
Specifies the type of the button:
  • Action—Specifies that the item launches a VI that runs silently in the background.
  • Dialog—Specifies that the button displays a dialog with which the operator can interact.
  • Page—Specifies that the button displays a new configuration page.
  • Notification—Specifies that the button sends a notification to the currently loaded configuration page. This option passes the button ID to the page.
  • Separator—Specifies that the button is actually a separator on the button toolbar.
↳↳↳↳↳↳<ReferencedGUID> Yes xs:string 0/1 Specifies a GUID to reference when an operator clicks the button.
↳↳↳↳↳↳<ButtonText> No LocString 0/1 Specifies text to display on the button.
↳↳↳↳↳↳<Caption> Yes* LocString 1/1 Specifies a caption for the button. Captions appear in Context Help.
↳↳↳↳↳↳<TipStrip> Yes* LocString 1/1 Specifies a tip to display when an operator hovers over the button.
↳↳↳↳↳↳<Documentation> Yes* LocString 1/1 Specifies the description that appears in Context Help.
↳↳↳↳↳↳<Dependency> No Dependency 0/1 Specifies the path to a dependency file.
↳↳↳↳<ActionVIOnDelete> No Path 0/1 Specifies a VI to run when an operator deletes the item associated with the page from System Explorer.
↳↳↳↳<ActionVIOnLoad> No Path 0/1 Specifies a VI to run when VeriStand loads the item associated with the page.
↳↳↳↳<ActionVIOnSystemShutdown> No Path 0/1 Specifies a VI to run when VeriStand shuts down.
↳↳↳↳<ActionVIOnSave> No Path 0/1 Specifies a VI to run when an operator saves the system definition file.
↳↳↳↳<ActionVIOnDownload> No Path 0/1 Specifies a VI to run when an operator downloads the custom device to the target.
↳↳↳↳<ActionVIOnPaste> No Path 0/1 Specifies a VI to run when an operator pastes the item associated with the page.
↳↳↳↳<ActionVIOnTargetTypeChange> No Path 0/1 Specifies a VI to run when an operator changes the type of target on which the custom device runs.
↳↳↳↳<ActionVIOnDeleteRequest> No Path 0/1 Specifies a VI to run when a delete request is received for the item associated with the page.
↳↳↳↳<ActionVIOnCompile> No Path 0/1 Specifies a VI to run when the item associated with the page is compiled.
↳↳↳↳<Help> No complex 0/1 Contains information about help content for the item associated with the page.
↳↳↳↳↳<Item2Launch> Yes* Path 1/1 Specifies the file to launch when an operator selects the Help option for the item.
↳↳↳↳↳<FileType> Yes* xs:string 1/1 Specifies the help file type. Valid values are chm or other.
↳↳↳↳↳<Section> No xs:string 0/1 Specifies a section of the help file to display when an operator selects the Help option.
↳↳↳↳<AdditionalInformation> No xs:string 0/1 Specifies additional information to store with the item.
↳↳<CustomXML> No xs:string 0/1 Contains custom XML that you add to the file. Code you enter between <CustomXML> tags is not validated against the Custom Device.xsd file.
*Required sub-tags of optional parent tags are only required if you use the parent tag.

Recently Viewed Topics