Skip to content

Commit

Permalink
For built exes, copy the entire containing directory for PPL UIs (#257)
Browse files Browse the repository at this point in the history
* For built exes, copy the entire containing directory for PPL UIs

* Make a UiType.ctl typedef

* Update comments and fix wires

* Move Measurment UI to a different library
  • Loading branch information
pbirkhol-ni authored Aug 11, 2023
1 parent 479da6c commit e55471c
Show file tree
Hide file tree
Showing 10 changed files with 30 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='UTF-8'?>
<Library LVVersion="20008000">
<Property Name="NI.Lib.Icon" Type="Bin">)!#!!!!!!!)!"1!&amp;!!!-!%!!!@````]!!!!"!!%!!!(]!!!*Q(C=\&gt;8"=&gt;MQ%!8143;(8.6"2CVM#WJ",7Q,SN&amp;(N&lt;!NK!7VM#WI"&lt;8A0$%94UZ2$P%E"Y.?G@I%A7=11U&gt;M\7P%FXB^VL\`NHV=@X&lt;^39O0^N(_&lt;8NZOEH@@=^_CM?,3)VK63LD-&gt;8LS%=_]J'0@/1N&lt;XH,7^\SFJ?]Z#5P?=F,HP+5JTTF+5`Z&gt;MB$(P+1)YX*RU2DU$(![)Q3YW.YBG&gt;YBM@8'*\B':\B'2Z&gt;9HC':XC':XD=&amp;M-T0--T0-.DK%USWS(H'2\$2`-U4`-U4`/9-JKH!&gt;JE&lt;?!W#%;UC_WE?:KH?:R']T20]T20]\A=T&gt;-]T&gt;-]T?/7&lt;66[UTQ//9^BIHC+JXC+JXA-(=640-640-6DOCC?YCG)-G%:(#(+4;6$_6)]R?.8&amp;%`R&amp;%`R&amp;)^,WR/K&lt;75?GM=BZUG?Z%G?Z%E?1U4S*%`S*%`S'$;3*XG3*XG3RV320-G40!G3*D6^J-(3D;F4#J,(T\:&lt;=HN+P5FS/S,7ZIWV+7.NNFC&lt;+.&lt;GC0819TX-7!]JVO,(7N29CR6L%7,^=&lt;(1M4#R*IFV][.DX(X?V&amp;6&gt;V&amp;G&gt;V&amp;%&gt;V&amp;\N(L@_Z9\X_TVONVN=L^?Y8#ZR0J`D&gt;$L&amp;]8C-Q_%1_`U_&gt;LP&gt;WWPAG_0NB@$TP@4C`%`KH@[8`A@PRPA=PYZLD8Y!#/7SO!!!!!!</Property>
<Property Name="NI.Lib.SourceVersion" Type="Int">536903680</Property>
<Property Name="NI.Lib.Version" Type="Str">1.0.0.0</Property>
<Property Name="NI.LV.All.SourceOnly" Type="Bool">false</Property>
<Item Name="Measurement UI.vi" Type="VI" URL="../Measurement UI.vi"/>
</Library>
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="Keysight 34401A DMM Measurement UI.lvlib" Type="Library" URL="../Keysight 34401A DMM Measurement UI/Keysight 34401A DMM Measurement UI.lvlib"/>
<Item Name="Keysight 34401A DMM Measurement.lvlib" Type="Library" URL="../Keysight 34401A DMM Measurement/Keysight 34401A DMM Measurement.lvlib"/>
<Item Name="Measurement Service Helpers.lvlib" Type="Library" URL="../Measurement Service Helpers/Measurement Service Helpers.lvlib"/>
<Item Name="Dependencies" Type="Dependencies">
Expand Down Expand Up @@ -106,7 +107,7 @@
<Property Name="Destination[1].destName" Type="Str">Support Directory</Property>
<Property Name="Destination[1].path" Type="Path">../builds/NI_AB_PROJECTNAME/Keysight 34401A DMM Measurement/data</Property>
<Property Name="DestinationCount" Type="Int">2</Property>
<Property Name="Source[0].itemID" Type="Str">{E3E180ED-2C27-4B9C-8099-563ACB69EACD}</Property>
<Property Name="Source[0].itemID" Type="Str">{8459DDE9-A4F7-498B-9923-04E849755447}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/Keysight 34401A DMM Measurement.lvlib/Get Measurement Details.vi</Property>
Expand All @@ -133,7 +134,7 @@
<Property Name="Source[6].sourceInclusion" Type="Str">Include</Property>
<Property Name="Source[6].type" Type="Str">VI</Property>
<Property Name="Source[7].destinationIndex" Type="Int">0</Property>
<Property Name="Source[7].itemID" Type="Ref">/My Computer/Keysight 34401A DMM Measurement.lvlib/Measurement UI.vi</Property>
<Property Name="Source[7].itemID" Type="Ref">/My Computer/Keysight 34401A DMM Measurement UI.lvlib/Measurement UI.vi</Property>
<Property Name="Source[7].sourceInclusion" Type="Str">Include</Property>
<Property Name="Source[7].type" Type="Str">VI</Property>
<Property Name="Source[8].destinationIndex" Type="Int">0</Property>
Expand All @@ -155,32 +156,36 @@
<Property Name="Bld_buildSpecName" Type="Str">Keysight 34401A DMM Measurement UI</Property>
<Property Name="Bld_excludeLibraryItems" Type="Bool">true</Property>
<Property Name="Bld_excludePolymorphicVIs" Type="Bool">true</Property>
<Property Name="Bld_localDestDir" Type="Path">../NI_AB_PROJECTNAME</Property>
<Property Name="Bld_localDestDir" Type="Path">../NI_AB_PROJECTNAME/BuiltUI</Property>
<Property Name="Bld_localDestDirType" Type="Str">relativeToProject</Property>
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property>
<Property Name="Bld_previewCacheID" Type="Str">{34E58981-12FC-4B65-80DF-C32EC0A02763}</Property>
<Property Name="Bld_version.major" Type="Int">1</Property>
<Property Name="Destination[0].destName" Type="Str">Keysight 34401A DMM Measurement UI.lvlibp</Property>
<Property Name="Destination[0].path" Type="Path">../NI_AB_PROJECTNAME/Keysight 34401A DMM Measurement UI.lvlibp</Property>
<Property Name="Destination[0].path" Type="Path">../NI_AB_PROJECTNAME/BuiltUI/Keysight 34401A DMM Measurement UI.lvlibp</Property>
<Property Name="Destination[0].path.type" Type="Str">relativeToProject</Property>
<Property Name="Destination[0].preserveHierarchy" Type="Bool">true</Property>
<Property Name="Destination[0].type" Type="Str">App</Property>
<Property Name="Destination[1].destName" Type="Str">Support Directory</Property>
<Property Name="Destination[1].path" Type="Path">../NI_AB_PROJECTNAME</Property>
<Property Name="Destination[1].path" Type="Path">../NI_AB_PROJECTNAME/BuiltUI</Property>
<Property Name="Destination[1].path.type" Type="Str">relativeToProject</Property>
<Property Name="DestinationCount" Type="Int">2</Property>
<Property Name="PackedLib_callersAdapt" Type="Bool">true</Property>
<Property Name="Source[0].itemID" Type="Str">{E3E180ED-2C27-4B9C-8099-563ACB69EACD}</Property>
<Property Name="Source[0].itemID" Type="Str">{8459DDE9-A4F7-498B-9923-04E849755447}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/Keysight 34401A DMM Measurement.lvlib</Property>
<Property Name="Source[1].Library.allowMissingMembers" Type="Bool">true</Property>
<Property Name="Source[1].Library.atomicCopy" Type="Bool">true</Property>
<Property Name="Source[1].Library.LVLIBPtopLevel" Type="Bool">true</Property>
<Property Name="Source[1].preventRename" Type="Bool">true</Property>
<Property Name="Source[1].sourceInclusion" Type="Str">TopLevel</Property>
<Property Name="Source[1].type" Type="Str">Library</Property>
<Property Name="SourceCount" Type="Int">2</Property>
<Property Name="Source[2].destinationIndex" Type="Int">0</Property>
<Property Name="Source[2].itemID" Type="Ref">/My Computer/Keysight 34401A DMM Measurement UI.lvlib</Property>
<Property Name="Source[2].Library.allowMissingMembers" Type="Bool">true</Property>
<Property Name="Source[2].Library.atomicCopy" Type="Bool">true</Property>
<Property Name="Source[2].Library.LVLIBPtopLevel" Type="Bool">true</Property>
<Property Name="Source[2].preventRename" Type="Bool">true</Property>
<Property Name="Source[2].sourceInclusion" Type="Str">TopLevel</Property>
<Property Name="Source[2].type" Type="Str">Library</Property>
<Property Name="SourceCount" Type="Int">3</Property>
<Property Name="TgtF_companyName" Type="Str">National Instruments Corporation</Property>
<Property Name="TgtF_fileDescription" Type="Str">Keysight 34401A DMM Measurement UI</Property>
<Property Name="TgtF_internalName" Type="Str">Keysight 34401A DMM Measurement UI</Property>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,5 @@
<Item Name="Measurement Configuration.ctl" Type="VI" URL="../Measurement Configuration.ctl"/>
<Item Name="Measurement Logic.vi" Type="VI" URL="../Measurement Logic.vi"/>
<Item Name="Measurement Results.ctl" Type="VI" URL="../Measurement Results.ctl"/>
<Item Name="Measurement UI.vi" Type="VI" URL="../Measurement UI.vi"/>
<Item Name="Run Service.vi" Type="VI" URL="../Run Service.vi"/>
</Library>
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ or a custom alias).
### Using a LabVIEW UI with External Dependencies
This example uses a LabVIEW UI with external dependencies. In order to display the
LabVIEW UI in InstrumentStudio, you must first build the `Keysight 34401A DMM Measurement UI`
packed library build specification. The packed library will contain all of the dependencies that
the UI needs to load in InstrumentStudio.
packed library build specification. The packed library and its containing directory will
have all of the dependencies that the UI needs to load in InstrumentStudio.

If you make changes to `Measurement UI.vi`, you must rebuild the packed library.

Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
<Property Name="NI.LV.All.SourceOnly" Type="Bool">true</Property>
<Item Name="Build Assets" Type="Folder">
<Item Name="Post-Build Action.vi" Type="VI" URL="../Build Assets/Post-Build Action.vi"/>
<Item Name="UiType.ctl" Type="VI" URL="../Build Assets/UiType.ctl">
<Property Name="NI.LibItem.Scope" Type="Int">2</Property>
</Item>
</Item>
<Item Name="Private Helpers" Type="Folder">
<Property Name="NI.SortType" Type="Int">0</Property>
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ The MeasurementLink Support for LabVIEW packages enable measurement developers t

7. Create the user interface in `Measurement UI.vi` under the `<MeasurementName>.lvlib`. The control and indicator names in the user interface should match the `Measurement Configuration` and `Measurement Results`. If the data type and name match, then the data from the controls will be sent to the `Measurement Logic.vi` and the results will be published to the indicators after the measurement is run. By default, the UI file consists of an 'Array In' control and 'Array Out' indicator.
<br/><br/>
If your user interface has dependencies that are not available in the LabVIEW runtime, you will have to build the UI into a packed library. For example, you will have to do this if your UI contains VIs from vi.lib or if your UI depends on user created subVIs or controls. The packed library needs to be located in the same directory as `Measurement Logic.vi`. The [Keysight 34401A DMM Measurement](../Source/Example%20Measurements/Keysight%2034401A%20DMM%20Measurement) example demonstrates how to use a packed library user interface.
If your user interface has dependencies that are not available in the LabVIEW runtime, you will have to build the UI into a packed library. For example, you will have to build a packed library if your UI contains VIs from vi.lib or if your UI depends on user created subVIs or controls. The packed library should be located in a directory at the same level as `Measurement Logic.vi`. The [Keysight 34401A DMM Measurement](../Source/Example%20Measurements/Keysight%2034401A%20DMM%20Measurement) example demonstrates how to use a packed library user interface.

![Measurement UI](images/Measurement%20UI.png)

Expand Down

0 comments on commit e55471c

Please sign in to comment.