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

Oscilloscope control automation #252

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

nitin710
Copy link
Collaborator

@nitin710 nitin710 commented Sep 4, 2024

Description

  • Adds a feature where some Oscilloscope functions can be controlled by sending UDP messages to the Oscilloscope at a per-defined port.
  • Currently the following functions are supported:
    • EMOTIBIT_CONNECT
    • EMOTIBIT_DISCONNECT
    • RECORD_BEGIN
    • RECORD_END

Requirements

Issues Referenced

Requested from reviewer

  • Check out the "using this feature" heading to figure out how to use this new feature.
  • Run the tests listed in the "Testing" section
  • A general code review
  • Comments on the high level block diagram
  • Comments on the messaging API

Documentation update

None

Notes for Reviewer

  • High level diagram
    • image

Additional Documents

  • EmotiBitOscilloscope aux control API documentation (search in our internal documents)
  • EmotiBit Oscilloscope automated testing plugin (search in our internal documents)

Using this feature

  • Get the additional tools listed in the Requirements section
  • pull and checkout feat-OscilloscopeControlAutomation.
  • Build and run the EmotiBitOscilloscope application.
  • Have an EmotiBit running and connected to the same network.
  • Disconnect from the EmotiBit if it is already connected on the Oscilloscope
  • open git-bash in ofxEmotiBit/tests/EmotiBitOscilloscopeAutomation.
    • run the command ./testing_seq.sh --emotibit-id <YOUR_EMOTIBIT_ID>
    • Exmaple: ./testing_seq.sh --emotibit-id MD-V5-0000005
  • Observe
    • The Oscilloscope will connect,disconnect, connect, record and end recording with the specified emotibit id.
  • You can also run individual commands by the following bash commands
    • ./EC.sh --emotibit-id <YOUR_EMOTIBIT_ID>
    • ./ED.sh
    • ./RB.sh (Oscilloscope needs to be connected to an emotibit)
    • ./RE.sh (Oscilloscope needs to be connected to an emotibit)

Testing

  • run the script testing_sq.sh
    • Observe: Oscilloscope connect, disconnect, start and stop recording on an EmotiBit
  • run the script EC.sh
  • run the script ED.sh
  • run the script RB.sh
  • run the script RE.sh

Results

  • ✔️ run script testing_sq.sh
  • ✔️ [Connect to emotibit] - run EC.sh
  • ✔️ [Disconnect from emotibit] - run ED.sh
  • ✔️ [Begin a recording] - run RB.sh
  • ✔️ [end a recording] - run RE.sh

Feature Tests

ToDo

  • Currently the function clearOscilloscope() is not called when connecting/disconnecting from EmotiBit(s). In my testing this does not cause any issues if all EmotiBits are MDs. But might cause GUI errors if switching between EMO and MD. We need more testing. Additionally, clearOscilloscope() is an ofApp function, that should be called using ofEvent or other mechanism when a WiFi_host command is being executed.

Checklist to allow merge

  • All dependent repositories used were on branch master
  • Software
    • Get approval from the reviewer
    • Passed testing on Windows
    • Passed testing on macOS (for major changes/GUI changes/ PRs adding files distributed with the EmotiBit software)
    • Passed testing on linux (ubuntu) (for major changes/GUI changes/ PRs adding files distributed with the EmotiBit software)
    • Update software bundle version in ofxEmotiBitVersion.h

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.

1 participant