-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow a LabVIEW Service to return DoubleAnalogWaveform data and create example. #515
Open
ccaltagi
wants to merge
2
commits into
main
Choose a base branch
from
users/ccaltagi/service_waveform_support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 15 additions & 0 deletions
15
Source/Example Measurements/Waveform Measurement/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Waveform Measurement | ||
|
||
This is a MeasurementLink example that demonstrates the usage of the waveform data type in a graph. | ||
|
||
## Features | ||
|
||
- Generates 2 waveforms and displays them in a graph | ||
|
||
## Required Driver Software | ||
|
||
None | ||
|
||
## Required Hardware | ||
|
||
None |
161 changes: 161 additions & 0 deletions
161
Source/Example Measurements/Waveform Measurement/Waveform Measurement.lvproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
<?xml version='1.0' encoding='UTF-8'?> | ||
<Project Type="Project" LVVersion="20008000"> | ||
<Item Name="My Computer" Type="My Computer"> | ||
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property> | ||
<Property Name="server.control.propertiesEnabled" Type="Bool">true</Property> | ||
<Property Name="server.tcp.enabled" Type="Bool">false</Property> | ||
<Property Name="server.tcp.port" Type="Int">0</Property> | ||
<Property Name="server.tcp.serviceName" Type="Str">My Computer/VI Server</Property> | ||
<Property Name="server.tcp.serviceName.default" Type="Str">My Computer/VI Server</Property> | ||
<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="Waveform Measurement.lvlib" Type="Library" URL="../Waveform Measurement/Waveform Measurement.lvlib"/> | ||
<Item Name="Dependencies" Type="Dependencies"> | ||
<Item Name="vi.lib" Type="Folder"> | ||
<Item Name="1D String Array to Delimited String.vi" Type="VI" URL="/<vilib>/AdvancedString/1D String Array to Delimited String.vi"/> | ||
<Item Name="8.6CompatibleGlobalVar.vi" Type="VI" URL="/<vilib>/Utility/config.llb/8.6CompatibleGlobalVar.vi"/> | ||
<Item Name="Application Directory.vi" Type="VI" URL="/<vilib>/Utility/file.llb/Application Directory.vi"/> | ||
<Item Name="BuildHelpPath.vi" Type="VI" URL="/<vilib>/Utility/error.llb/BuildHelpPath.vi"/> | ||
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/<vilib>/Utility/libraryn.llb/Check if File or Folder Exists.vi"/> | ||
<Item Name="Check Special Tags.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Check Special Tags.vi"/> | ||
<Item Name="Clear Errors.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Clear Errors.vi"/> | ||
<Item Name="Convert property node font to graphics font.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Convert property node font to graphics font.vi"/> | ||
<Item Name="Details Display Dialog.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Details Display Dialog.vi"/> | ||
<Item Name="DialogType.ctl" Type="VI" URL="/<vilib>/Utility/error.llb/DialogType.ctl"/> | ||
<Item Name="DialogTypeEnum.ctl" Type="VI" URL="/<vilib>/Utility/error.llb/DialogTypeEnum.ctl"/> | ||
<Item Name="Equal Comparable.lvclass" Type="LVClass" URL="/<vilib>/Comparison/Equal/Equal Comparable/Equal Comparable.lvclass"/> | ||
<Item Name="Equal Functor.lvclass" Type="LVClass" URL="/<vilib>/Comparison/Equal/Equal Functor/Equal Functor.lvclass"/> | ||
<Item Name="Equals.vim" Type="VI" URL="/<vilib>/Comparison/Equals.vim"/> | ||
<Item Name="Error Cluster From Error Code.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Error Cluster From Error Code.vi"/> | ||
<Item Name="Error Code Database.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Error Code Database.vi"/> | ||
<Item Name="Error Strings Global Internal.vi" Type="VI" URL="/<vilib>/MeasurementLink/MeasurementLink Measurement Server/Helpers/Error Strings Global Internal.vi"/> | ||
<Item Name="ErrWarn.ctl" Type="VI" URL="/<vilib>/Utility/error.llb/ErrWarn.ctl"/> | ||
<Item Name="eventvkey.ctl" Type="VI" URL="/<vilib>/event_ctls.llb/eventvkey.ctl"/> | ||
<Item Name="Extensions.lvlib" Type="Library" URL="/<vilib>/gRPC/Extensions/Extensions.lvlib"/> | ||
<Item Name="Find Tag.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Find Tag.vi"/> | ||
<Item Name="Format Message String.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Format Message String.vi"/> | ||
<Item Name="General Error Handler Core CORE.vi" Type="VI" URL="/<vilib>/Utility/error.llb/General Error Handler Core CORE.vi"/> | ||
<Item Name="General Error Handler.vi" Type="VI" URL="/<vilib>/Utility/error.llb/General Error Handler.vi"/> | ||
<Item Name="Get File Extension.vi" Type="VI" URL="/<vilib>/Utility/libraryn.llb/Get File Extension.vi"/> | ||
<Item Name="Get String Text Bounds.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Get String Text Bounds.vi"/> | ||
<Item Name="Get System Directory.vi" Type="VI" URL="/<vilib>/Utility/sysdir.llb/Get System Directory.vi"/> | ||
<Item Name="Get Text Rect.vi" Type="VI" URL="/<vilib>/picture/picture.llb/Get Text Rect.vi"/> | ||
<Item Name="GetHelpDir.vi" Type="VI" URL="/<vilib>/Utility/error.llb/GetHelpDir.vi"/> | ||
<Item Name="GetRTHostConnectedProp.vi" Type="VI" URL="/<vilib>/Utility/error.llb/GetRTHostConnectedProp.vi"/> | ||
<Item Name="grpc-lvsupport-release.lvlib" Type="Library" URL="/<vilib>/gRPC/LabVIEW gRPC Library/grpc-lvsupport-release.lvlib"/> | ||
<Item Name="gRPC-servicer-release.lvlib" Type="Library" URL="/<vilib>/gRPC/LabVIEW gRPC Servicer/gRPC-servicer-release.lvlib"/> | ||
<Item Name="Longest Line Length in Pixels.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Longest Line Length in Pixels.vi"/> | ||
<Item Name="LVBoundsTypeDef.ctl" Type="VI" URL="/<vilib>/Utility/miscctls.llb/LVBoundsTypeDef.ctl"/> | ||
<Item Name="LVMapReplaceAction.ctl" Type="VI" URL="/<vilib>/Utility/miscctls.llb/LVMapReplaceAction.ctl"/> | ||
<Item Name="LVNumericRepresentation.ctl" Type="VI" URL="/<vilib>/numeric/LVNumericRepresentation.ctl"/> | ||
<Item Name="LVRectTypeDef.ctl" Type="VI" URL="/<vilib>/Utility/miscctls.llb/LVRectTypeDef.ctl"/> | ||
<Item Name="MeasurementLink Discovery Client.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Discovery Client/MeasurementLink Discovery Client.lvlib"/> | ||
<Item Name="MeasurementLink Discovery V1.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Discovery V1/MeasurementLink Discovery V1.lvlib"/> | ||
<Item Name="MeasurementLink Instrument.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Instrument/MeasurementLink Instrument.lvlib"/> | ||
<Item Name="MeasurementLink Measurement Server Internal.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Measurement Server Internal/MeasurementLink Measurement Server Internal.lvlib"/> | ||
<Item Name="MeasurementLink Measurement Server.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Measurement Server/MeasurementLink Measurement Server.lvlib"/> | ||
<Item Name="MeasurementLink Measurement Service Base V2.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Measurement Service Base V2/MeasurementLink Measurement Service Base V2.lvlib"/> | ||
<Item Name="MeasurementLink Session Management Client.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Session Management Client/MeasurementLink Session Management Client.lvlib"/> | ||
<Item Name="MeasurementLink Session Management V1.lvlib" Type="Library" URL="/<vilib>/MeasurementLink/MeasurementLink Session Management V1/MeasurementLink Session Management V1.lvlib"/> | ||
<Item Name="ni.protobuf.types.lvlib" Type="Library" URL="/<vilib>/gRPC/Generated APIs/ni/protobuf/types/ni.protobuf.types.lvlib"/> | ||
<Item Name="NI_AALBase.lvlib" Type="Library" URL="/<vilib>/Analysis/NI_AALBase.lvlib"/> | ||
<Item Name="NI_Data Type.lvlib" Type="Library" URL="/<vilib>/Utility/Data Type/NI_Data Type.lvlib"/> | ||
<Item Name="NI_FileType.lvlib" Type="Library" URL="/<vilib>/Utility/lvfile.llb/NI_FileType.lvlib"/> | ||
<Item Name="NI_LVConfig.lvlib" Type="Library" URL="/<vilib>/Utility/config.llb/NI_LVConfig.lvlib"/> | ||
<Item Name="NI_MABase.lvlib" Type="Library" URL="/<vilib>/measure/NI_MABase.lvlib"/> | ||
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/<vilib>/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/> | ||
<Item Name="Not Found Dialog.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Not Found Dialog.vi"/> | ||
<Item Name="Remove Duplicates From 1D Array.vim" Type="VI" URL="/<vilib>/Array/Remove Duplicates From 1D Array.vim"/> | ||
<Item Name="Search and Replace Pattern.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Search and Replace Pattern.vi"/> | ||
<Item Name="Search Unsorted 1D Array Core.vim" Type="VI" URL="/<vilib>/Array/Helpers/Search Unsorted 1D Array Core.vim"/> | ||
<Item Name="Search Unsorted 1D Array.vim" Type="VI" URL="/<vilib>/Array/Search Unsorted 1D Array.vim"/> | ||
<Item Name="Set Bold Text.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Set Bold Text.vi"/> | ||
<Item Name="Set Difference.vim" Type="VI" URL="/<vilib>/set operations/Set Difference.vim"/> | ||
<Item Name="Set String Value.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Set String Value.vi"/> | ||
<Item Name="Space Constant.vi" Type="VI" URL="/<vilib>/dlg_ctls.llb/Space Constant.vi"/> | ||
<Item Name="System Directory Type.ctl" Type="VI" URL="/<vilib>/Utility/sysdir.llb/System Directory Type.ctl"/> | ||
<Item Name="System Exec.vi" Type="VI" URL="/<vilib>/Platform/system.llb/System Exec.vi"/> | ||
<Item Name="TagReturnType.ctl" Type="VI" URL="/<vilib>/Utility/error.llb/TagReturnType.ctl"/> | ||
<Item Name="Three Button Dialog CORE.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Three Button Dialog CORE.vi"/> | ||
<Item Name="Three Button Dialog.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Three Button Dialog.vi"/> | ||
<Item Name="Trim Whitespace.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Trim Whitespace.vi"/> | ||
<Item Name="whitespace.ctl" Type="VI" URL="/<vilib>/Utility/error.llb/whitespace.ctl"/> | ||
</Item> | ||
<Item Name="kernel32.dll" Type="Document" URL="kernel32.dll"> | ||
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property> | ||
</Item> | ||
<Item Name="lvanlys.dll" Type="Document" URL="/<resource>/lvanlys.dll"/> | ||
</Item> | ||
<Item Name="Build Specifications" Type="Build"> | ||
<Item Name="Waveform Measurement" Type="EXE"> | ||
<Property Name="App_copyErrors" Type="Bool">true</Property> | ||
<Property Name="App_INI_aliasGUID" Type="Str">{4CD09758-E193-4D4D-B773-3FA815F96A26}</Property> | ||
<Property Name="App_INI_GUID" Type="Str">{34B10509-3660-46B8-83EB-02BC76C1DC08}</Property> | ||
<Property Name="App_serverConfig.httpPort" Type="Int">8002</Property> | ||
<Property Name="App_serverType" Type="Int">0</Property> | ||
<Property Name="Bld_autoIncrement" Type="Bool">true</Property> | ||
<Property Name="Bld_buildCacheID" Type="Str">{B1A2C2A3-C684-4978-BF36-7E81BD1A5F11}</Property> | ||
<Property Name="Bld_buildSpecName" Type="Str">Waveform Measurement</Property> | ||
<Property Name="Bld_excludeInlineSubVIs" Type="Bool">true</Property> | ||
<Property Name="Bld_excludeLibraryItems" Type="Bool">true</Property> | ||
<Property Name="Bld_excludePolymorphicVIs" Type="Bool">true</Property> | ||
<Property Name="Bld_localDestDir" Type="Path">../builds/NI_AB_PROJECTNAME/Waveform Measurement</Property> | ||
<Property Name="Bld_localDestDirType" Type="Str">relativeToCommon</Property> | ||
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property> | ||
<Property Name="Bld_postActionVIID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Advanced/Build Assets/Post-Build Action.vi</Property> | ||
<Property Name="Bld_previewCacheID" Type="Str">{CEC8F72A-0A52-43A8-96A9-FA4685F9D5B4}</Property> | ||
<Property Name="Bld_version.major" Type="Int">1</Property> | ||
<Property Name="Destination[0].destName" Type="Str">WaveformMeasurement.exe</Property> | ||
<Property Name="Destination[0].path" Type="Path">../builds/NI_AB_PROJECTNAME/Waveform Measurement/WaveformMeasurement.exe</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">../builds/NI_AB_PROJECTNAME/Waveform Measurement/data</Property> | ||
<Property Name="DestinationCount" Type="Int">2</Property> | ||
<Property Name="Source[0].itemID" Type="Str">{232931C6-0AF3-432E-8F7F-0527704DBCE1}</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/Waveform Measurement.lvlib/Get Measurement Details.vi</Property> | ||
<Property Name="Source[1].sourceInclusion" Type="Str">Include</Property> | ||
<Property Name="Source[1].type" Type="Str">VI</Property> | ||
<Property Name="Source[2].destinationIndex" Type="Int">0</Property> | ||
<Property Name="Source[2].itemID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Get Type Specializations.vi</Property> | ||
<Property Name="Source[2].sourceInclusion" Type="Str">Include</Property> | ||
<Property Name="Source[2].type" Type="Str">VI</Property> | ||
<Property Name="Source[3].destinationIndex" Type="Int">0</Property> | ||
<Property Name="Source[3].itemID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Get UI Details.vi</Property> | ||
<Property Name="Source[3].sourceInclusion" Type="Str">Include</Property> | ||
<Property Name="Source[3].type" Type="Str">VI</Property> | ||
<Property Name="Source[4].destinationIndex" Type="Int">0</Property> | ||
<Property Name="Source[4].itemID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Measurement Configuration.ctl</Property> | ||
<Property Name="Source[4].sourceInclusion" Type="Str">Include</Property> | ||
<Property Name="Source[4].type" Type="Str">VI</Property> | ||
<Property Name="Source[5].destinationIndex" Type="Int">0</Property> | ||
<Property Name="Source[5].itemID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Measurement Logic.vi</Property> | ||
<Property Name="Source[5].sourceInclusion" Type="Str">Include</Property> | ||
<Property Name="Source[5].type" Type="Str">VI</Property> | ||
<Property Name="Source[6].destinationIndex" Type="Int">0</Property> | ||
<Property Name="Source[6].itemID" Type="Ref">/My Computer/Waveform Measurement.lvlib/Measurement Results.ctl</Property> | ||
<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/Waveform Measurement.lvlib/Run Service.vi</Property> | ||
<Property Name="Source[7].properties[0].type" Type="Str">Window run-time position</Property> | ||
<Property Name="Source[7].properties[0].value" Type="Str">Minimized</Property> | ||
<Property Name="Source[7].propertiesCount" Type="Int">1</Property> | ||
<Property Name="Source[7].sourceInclusion" Type="Str">TopLevel</Property> | ||
<Property Name="Source[7].type" Type="Str">VI</Property> | ||
<Property Name="SourceCount" Type="Int">8</Property> | ||
<Property Name="TgtF_fastFileFormat" Type="Bool">true</Property> | ||
<Property Name="TgtF_fileDescription" Type="Str">Waveform Measurement</Property> | ||
<Property Name="TgtF_internalName" Type="Str">Waveform Measurement</Property> | ||
<Property Name="TgtF_legalCopyright" Type="Str">Copyright © 2024 </Property> | ||
<Property Name="TgtF_productName" Type="Str">Waveform Measurement</Property> | ||
<Property Name="TgtF_targetfileGUID" Type="Str">{A057BE78-D3C2-4518-8030-8CD0DD195935}</Property> | ||
<Property Name="TgtF_targetfileName" Type="Str">WaveformMeasurement.exe</Property> | ||
<Property Name="TgtF_versionIndependent" Type="Bool">true</Property> | ||
</Item> | ||
</Item> | ||
</Item> | ||
</Project> |
Binary file added
BIN
+11.3 KB
...ents/Waveform Measurement/Waveform Measurement/Advanced/Build Assets/Post-Build Action.vi
Binary file not shown.
Binary file added
BIN
+20.5 KB
...ample Measurements/Waveform Measurement/Waveform Measurement/Advanced/Get Plugin Paths.vi
Binary file not shown.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I built the MeasurementLink Service .vip and installed it into LV 2021. Then I tried to build the ni_protobuf_types.vipb and I got these errors. Did you have a way to build / install these locally to test? It seems to me like you need to update
MeasurementLink Service.vipb
, build it and make sure it's installing these files so we can then build ni_protobuf_types.vipb. But then, this seems like a bad dependency chain. I think ni_protobuf_types.vipb should be able to build on its own without any other MeasurementLink packages being installed.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because of this, I'm unable to get a good setup to try out your example. I think we should make a separate PR to get all of the .vipb changes in place and then add the example after that's all ready.