Trigger Widget #93

Closed
opened 2021-01-16 17:47:55 +00:00 by AleksaBjelogrlic · 3 comments
AleksaBjelogrlic commented 2021-01-16 17:47:55 +00:00 (Migrated from github.com)

Should have three fields for now

Trigger Type [Rising Edge, Falling Edge]

Trigger Channel [CH1, CH2, CH3, CH4]

Trigger Level [Analog range based on what the vertical setting of the trigger channel is]

Should have three fields for now Trigger Type [Rising Edge, Falling Edge] Trigger Channel [CH1, CH2, CH3, CH4] Trigger Level [Analog range based on what the vertical setting of the trigger channel is]
A-Nilfgaardian commented 2021-02-03 00:10:35 +00:00 (Migrated from github.com)

Hey @AleksaBjelogrlic, I started work on this and made some initial progress as shown below:

Screenshot 2021-02-02 190132

You can check out the features/trigger-widget branch locally and view it yourself as well if you'd like.

Currently, the state just holds these three key values

  • TriggerChannel (int)
  • TriggerType (TriggerType.RisingEdge or TriggerType.FallingEdge)
  • TriggerLevel (int)

I just had some further questions about implementation:

  • Are TriggerType and TriggerLevel bound to its associated channel? For example, if we change the values of TriggerType and TriggerLevel while Channel 1 is selected, what should happen when we change the trigger channel to Channel 2?
    • I can have a unique TriggerLevel/TriggerLevel bounded to each Channel that can be stored, or simply reset to some default value when changing the trigger channel
  • What exactly should TriggerLevel show? Is it simply the unit of time (s, ms, etc.) that changes based on the vertical setting of the trigger channel, and the user is free to change this to any int?
    • Mostly curious on if we need to communicate with the verticalWidget state, and if so, what we can do to eliminate code reuse or overhead

Let me know what I should be doing regarding these points, and feel free to point out anything else I may have missed as well.

Thanks!

Hey @AleksaBjelogrlic, I started work on this and made some initial progress as shown below: ![Screenshot 2021-02-02 190132](https://user-images.githubusercontent.com/38380270/106678680-32139080-6589-11eb-96a7-951faa64cb68.png) You can check out the `features/trigger-widget` branch locally and view it yourself as well if you'd like. Currently, the state just holds these three key values - TriggerChannel (int) - TriggerType (TriggerType.RisingEdge or TriggerType.FallingEdge) - TriggerLevel (int) I just had some further questions about implementation: - Are TriggerType and TriggerLevel bound to its associated channel? For example, if we change the values of TriggerType and TriggerLevel while Channel 1 is selected, what should happen when we change the trigger channel to Channel 2? - I can have a unique TriggerLevel/TriggerLevel bounded to each Channel that can be stored, or simply reset to some default value when changing the trigger channel - What exactly should TriggerLevel show? Is it simply the unit of time (s, ms, etc.) that changes based on the vertical setting of the trigger channel, and the user is free to change this to any int? - Mostly curious on if we need to communicate with the verticalWidget state, and if so, what we can do to eliminate code reuse or overhead Let me know what I should be doing regarding these points, and feel free to point out anything else I may have missed as well. Thanks!
AleksaBjelogrlic commented 2021-02-05 01:15:44 +00:00 (Migrated from github.com)

Are TriggerType and TriggerLevel bound to its associated channel?
Yes, each channel should have memory of it's trigger settings so user doesn't lose them when switching channels

What exactly should TriggerLevel show?
It's a voltage and should be a float and an analog value that the user can set to whatever they'd like.

Are TriggerType and TriggerLevel bound to its associated channel? Yes, each channel should have memory of it's trigger settings so user doesn't lose them when switching channels What exactly should TriggerLevel show? It's a voltage and should be a float and an analog value that the user can set to whatever they'd like.
A-Nilfgaardian commented 2021-02-07 18:41:06 +00:00 (Migrated from github.com)

PR for the trigger widget is now up. Although I think it's mostly complete, I decided to just have a plus/minus option for the trigger level for now (increments it in +/- 0.1 intervals) instead of having an option for the user to input whatever value they'd want.

This is because we haven't done user input in our program yet, and I feel like this should be a separate task to investigate and full proof this before implementing it in widgets. Then, we can start adding in this feature to other widgets as needed. This will be tracked in issue #102

PR for the trigger widget is now up. Although I think it's mostly complete, I decided to just have a plus/minus option for the trigger level for now (increments it in +/- 0.1 intervals) instead of having an option for the user to input whatever value they'd want. This is because we haven't done user input in our program yet, and I feel like this should be a separate task to investigate and full proof this before implementing it in widgets. Then, we can start adding in this feature to other widgets as needed. This will be tracked in issue #102
Sign in to join this conversation.
No description provided.