Skip to content
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

[High Priority] Measurement Client Generator | Stream response support for the measurement client #611

Merged

Conversation

varshini-senthil
Copy link
Contributor

@varshini-senthil varshini-senthil commented Oct 4, 2024

  • This contribution adheres to CONTRIBUTING.md. (Required)
  • Automatically post PR comments with images for G code changes? (Recommended for small changes)

What does this Pull Request accomplish?

  • Separated the logic inside the Measure.vi in the measurement client template library Measurement Client Template.lvlib into three VIs to get the streaming response of the measurement service in the caller VI, by looping the Read Measurement.vi. The new VIs are:

    • Start Measurement.vi
    • Read Measurement.vi
    • Stop Measurement.vi
  • Updated the Run Client.vi to display the continuous response of a streaming measurement.

    • The modified Run Client.vi will support both non-stream and stream measurements.
    • The VI will provide the last value of the stream response when used as sub VI in a framework.
    • User has to replicate the logic inside the Run Client.vi in their framework, to get the complete stream response instead of using the Run Client.vi as a sub VI.
  • Updated the Template Files List.vi to contain the list of files in the modified client template library.

  • Updated the scripting logic in Update Measurement from Metadata.vi for the modified client template.

  • Updated the execution property of Close Measurement.vi to re-entrant so that multiple calls can execute in parallel.

Why should this Pull Request be merged?

  • To provide stream response support for the measurement client.

What testing has been done?

  • Manually tested by creating measurement clients for the example measurements

@varshini-senthil
Copy link
Contributor Author

Copy Client Template Library.vi
Diff image
Before:
image

After:
image

@varshini-senthil
Copy link
Contributor Author

Create Measurement Client.vi
Diff image
Before:
image

After:
image

@varshini-senthil varshini-senthil changed the title Measurement Client Generator | Stream response support for the measurement client [High Priority] Measurement Client Generator | Stream response support for the measurement client Oct 7, 2024
Copy link
Collaborator

@dixonjoel dixonjoel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with a couple of minor outstanding questions open.

@varshini-senthil varshini-senthil merged commit a3dd359 into main Oct 8, 2024
5 checks passed
@varshini-senthil varshini-senthil deleted the users/varshini/measurement-client-stream-support branch October 8, 2024 06:00
dixonjoel pushed a commit that referenced this pull request Oct 18, 2024
…ement client (#611)

* refactor: split the client template to 5 VIs

* refactor: update scripting logic

* refactor: cleanup client template

* feat: create Run Client Stream.vi

* feat: implement scripting logic for stream measure

* docs: add documentation for client template VIs

* refactor: remove Run Client and have stream for both

* docs: add documentation for other controls

* refactor: address review comments
dixonjoel added a commit that referenced this pull request Oct 18, 2024
* Measurement Client Generator | Stream response support for the measurement client  (#611)

* refactor: split the client template to 5 VIs

* refactor: update scripting logic

* refactor: cleanup client template

* feat: create Run Client Stream.vi

* feat: implement scripting logic for stream measure

* docs: add documentation for client template VIs

* refactor: remove Run Client and have stream for both

* docs: add documentation for other controls

* refactor: address review comments

* update: invalid client name warning handling (#614)

* refactor: update invalid client name warning handling

* test: update the automated test case for duplicate client name check

* test: update the result message in testcase

* update: generate appropriate error for no measurement configuration/results (#613)

* feat: add error for no measurement configuration/results

* refactor: address Jason's comment

* rebase branch 'users/varshini/client-error-for-no-configuration-results' to main

* [High Priority] Added cancel support to measurement client (#612)

* refactor: split the client template to 5 VIs

* refactor: update scripting logic

* refactor: cleanup client template

* feat: create Run Client Stream.vi

* feat: implement scripting logic for stream measure

* docs: add documentation for client template VIs

* refactor: remove Run Client and have stream for both

* Feat: Add cancel support to measurement client

* docs: add documentation for other controls

* refactor: address review comments

* Fix: Handle errors while generating cancel user event

* Fix: Update documentation

* Fix: Wiring

* Fix: Rename stop measurement client VI

* Fix: Merge conflicts

* Fix: Handle error cases from Read Measurement

* Fix: FP cleanup for Run Client VI

* Fix: Abort Measurement VI renaming

* Fix: Minor documentation updates

* Fix: Error documentation related updates

* Fix: Minor documentation updates

---------

Co-authored-by: varshini-senthil <varshini.senthilkumar@ni.com>

* [Minor] Added refresh support to measurement client (#615)

* Feat: Add refresh support to measurement client

* Feat: Disable Create Measurement button on refresh

* Fix: Revert error messages change

* Fix: Minor refactoring

* Fix: Set mouse busy while refreshing

* Fix: Update refresh button

* Fix: Make Refresh button as typedef

* Fix: Update scope of Refresh button typedef to private

* Add Sparse Enum support to Measurement Client (#616)

* feat: add support for sparse enum as ring control

* docs: update documentation

* refactor: update indicator name

* refactor: address Joel's comment

* refactor: revert the changes to 'enum items'

* refactor: address improvement comments

* [Minor] Added Select all support to measurement client (#618)

* Feat: Add Select all support to measurement client

* Fix: Use -2 to traverse all rows

* Fix: Set the width of the column when refreshing

* Fix: Update warning message

* Update readme doc for Measurement Plug-In Client generator (#620)

* docs: update readme documentation

---------

Co-authored-by: varshini-senthil <varshini.senthilkumar@ni.com>
Co-authored-by: MounikaBattu17 <126869186+MounikaBattu17@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants