Sign in to follow this  
JColvin

WaveForms Live questions and feedback

Recommended Posts

Hello!

I really like the look of WaveForms Live, and I don't doubt that one day most applications will be browser based rather than having a client version on your PC so I think it's a good think to start working on now, but I do have a few questions/feedback about it.

@Kristoff, it looks like the buffer size (at least for the simulated device) appears to only collect about 3/4's of a second of data at a time. I imagine this is fine for a wide variety of debugging applications where you just need to see if the series of digital commands you sent/received are accurate, but in long term applications I imagine you would want to be able to stream/record data to your PC. Is it possible to stream data on WFL?

It took me a long while, but I finally found the tutorial button in the lower right hand corner; it would be nice if there was a "Tutorial" watermark (at least on the initial screen) that helped draw attention to it.

I'm glad that every time I take a new data sample set, it re-centers the acquisition to 0 seconds. However, when I'm scrolling in and out on the data set to view the data more closely and changing the time base, it seems to lose the centered position on 0 seconds. Is there a way to add a "re-center" button or have a way to nicely lock on to different segements of the time base (say every quarter or 8th or whatever is reasonable of whatever the timebase currently is) when you are panning across your data by dragging the associated bar at the top of the screen?

Will WaveForms Live eventually be able to connect to existing Digilent instrumentation like the AD2 or the EE board?

Could we get some more information/tutorial walkthrough on the Digital I/O? It's disconcerting when you first see it and attempt to click on it, but have nothing happen since I'm not in the correct settings yet. It looks like I can also get some green waveforms when I manage to switch them to "A" (for analyzer? not sure what that implies since I thought I could see "inputs" as well), but I don't know which green waveform corresponds to which analyzer that's enabled. They also seem to be on their own scale that I don't know how to adjust.

I like the look of the Math Menu, but I wish that when I clicked the refresh math button it didn't close out the Math Menu popup, then have to click refresh again to convince myself that it worked, and then re-open the Math Menu.

The Device Pinout button (which I'm super happy is there so I can easily reference which hardware pin my software is connecting to) next to the main viewing section seems to have big shorthand labels for everything but the last 5 SPI/UART pins on the lower right. Do those have names?

What does the Console Log mean under Settings? 

Otherwise in terms of positive feedback, I think that looks very nice, I like being able to type in specific settings for voltages and frequency. I'm glad it's a dark background rather than the white, although I partially wish I could turn it to white some my laptop doesn't auto adjust the screen contrast everytime I switch tabs. It also looks very intuitive and easy to get things up and running. I also really like that I can zoom in nicely from a large timebase to a smaller timebase and not lose a ton of resolution.

I'm super excited to see how WFL and OpenScope continues to develop!

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • The sample rate and number of samples acquired is determined by the time/div settings.  For example if your time/div is set to 1 ms then your 'view' is 10 ms wide.  We acquire for time equal to twice your 'view' so we'd acquire for 20ms.  The sample rate is set to acquire about 1 point per pixel on your screen.  This means we don't have to decimate the data in the browser and as you zoom in you sample faster.
  • The OpenScope is designed for fast buffer acquisitions, not streaming.  The best way to log data over a long period of time would be to use the host (PC) side library (we will provide a TypeScript library) to acquire data and log it to a file / database / etc.  You could also create custom firmware to do this.
  • The tutorial mode is very much a work in progress at this point.
  • There are some difference between the simulated device and a real device here.  On the simulated device the trigger is always centered in the buffer.  This is not the case on a real OpenScope.  When you pan left / right in your 'view' you are setting a trigger delay.  The end result is that you can pan off to one side, sample again and your 'view' will be centered at the same point relative to the trigger.  There is an auto scale button on the right side of the chart that will center and scale the buffer to fit in your 'view'
  • We plan to add support for AD2.  If it works well and there is enough interest we'll consider EE as well.
  • For DIO you can configure them as Input, Output, or Analyzer.  Analyzer channels will be graphed, output you can click to toggle high/low, input will display their values when you click refresh.  We'll have a tutorial mode for this eventually.
  • Can you elaborate on why you want the math menu left open?  If you have the math menu open (or any other 'pop-over' menu) the first click outside the menu will close the menu and will not activate the button.  The second click would actually refresh the value in that case, not the first.
  • The last 5 mins do not have shorthand names at the moment.  We generally refer to them by their funciton or 26, 27, 28, 29 and 30.
  • We have a lot of internal debugging code that we turn off by default to improve performance.  The console log button lets you choose to re-enable this and decide where the output should be routed.  This will enable users to send us their debug logs so we can help track down bugs.  This will be more obvious in the release version.

-Kristoff

Share this post


Link to post
Share on other sites

Hi Kristoff,

Thanks for getting back to me.

I guess I have one more clarification question about your first point on the timebase and sampling. If I had a time base of 100 ms/div or 200 ms/div, the device would then collect for 1 second and 2 seconds respectively, correct? It looks like it gets cut short from the amount of expected, but still maintains what appears to be a reasonable resolution considering the amount of data it has to collect. Is the software just hitting an internal limitation on how long it can sample for (since as you mentioned it's focused on fast acquisition as opposed to streaming or buffering)?

As for the Math Menu, I guess what I was envisioning was if I was collecting some real data that was changing and had the WFL set to run (as opposed to single shot) I would like to be able to refresh the math as the incoming data is changing. Would the Math Menu do this automatically or would I need to close out the window and then reopen it to get updated data? If it wasn't dynamically updating as new data was being collected, I would like to be able to click the refresh button to update all of the values in the Math Menu without the Math Menu closing on that first click. 

I'm excited to see how everything develops!

Thanks,
JColvin

Share this post


Link to post
Share on other sites

1) I'm going to use 1 ms/div for the example. The buffer size is set to two multiplied by the chart width in pixels. Two times because we want a full window and then half a window on either size of the current window so users can pan. The sampling frequency is calculated by determining the sampling frequency that would cause 100 samples to fit into one division. For instance, if your window resolution is 1920px then each div will need 192 data points. If your time base is 1ms/div then that means you need 192 samples / ms. Thus the sampling frequency would be set to 192000Hz. The expected time in seconds to complete is then (bufferSize / sampleFreq) which in the example would be 20ms.

The actual time it takes to get a buffer back is actually longer for a couple of reasons. 

2) If you click a specific measurement (like frequency) it will pop it out to the chart next to the refresh button. You can select up to 4 measurements to pop down to the chart. You can then click the refresh button and that value will be updated without having to open the Math Menu again. If you want to remove a measurement from the chart, just open the math menu and click the measurement you want to remove.

Share this post


Link to post
Share on other sites

Hello,

I'm sorry to keep bothering you, but I'm not understanding some of your math. If I wanted a sampling frequency to fit 100 samples in a single division that was representing 1 ms, wouldn't that be 100 kHz (1 kHz is one sample per millisecond, so a 100 kHz is a hundred samples per millisecond)? I would think that 192 kHz gets you 192 data points per division (based on a 1 ms/div scale).

So then, if I had a time base of 100 ms/div, I would need (working off of needing 192 points per division) a sampling frequency of 1920 Hz, theoretically requiring (with a buffer size of 3840) 2 seconds to get all of the data, plus some extra time to process it and display it on the screen. I'm not sure why I'm not seeing the all of the 100 ms/div sections filled with data though. I got some screen captures of the 100 ms/div running and then a zoomed in section of the stopped data that was being run at the 100 ms/div timebase. It looks like in the zoomed in version shows 200 total maxes and mins, implying a sampling rate of 2 kHz, which is fairly close to the expected 1.92 kHz (and probably would work out to be that if I could get the exact distances right, but I don't know how to nicely manipulate WFL into doing that). Going off of the 1920 samples per second and a buffer size of 3840 (since I have a 1920 by 1080 screen), I should expect to see 2 seconds worth of data plotted, correct? But I only see 0.7772 seconds of data plotted on the running screen (based on the largest magnitude of milliseconds I could get the tooltip to show) rather than 2 seconds worth of data and I can't seem to get the panning to show me any more data than what's shown on the screen...

WaveFormsLive question.PNG

WaveFormsLive question zoomed in.PNG

Share this post


Link to post
Share on other sites

Yes I misspoke about the 100 samples per division. The samples per division is the pixel width / 10 like in the 1920px example. 

Your counting peaks method is a little bit off because there is some aliasing when displaying the data due to the fact that we're limiting the sampling frequency depending on your time base. This is the reason you're getting the interesting looking waveform in your second picture. The minimum sampling frequency for the simulated device is 3052Hz (which I think I got from the OpenScope in the very early days but that value has changed since then). I've just updated the minimum frequency to 1Hz so that should give you more room to work with (this change is still not live on waveformslive.com). The minimum frequency is also the reason you were getting buffers shorter than you were expecting (and also why the incoming buffer was not 2x the window width).

Tips and tricks for WFL that should help you manipulate the buffers you get:

1) When you use the mousewheel to zoom, it zooms on your mouse position (like Google Maps). This is useful if you want to zoom in on a specific point of the buffer, you can hover your mouse over it and zoom.

2) You can also press the middle mouse button down and drag to highlight an area. When the middle mouse button is released, the chart fits to the selected area. The end result is that you can highlight what part of the buffer you want to view.

3) You can hold shift and left click and drag to pan the buffer up and down.

4) If you want to pan quickly, you can use the timeline view at the top to pan. You can also click on a specific part of the buffer to center the view at that point in the buffer.

Edited by sudharsan.sukumar

Share this post


Link to post
Share on other sites
59 minutes ago, sudharsan.sukumar said:

3) You can hold shift and left click and drag to pan the buffer up and down.

If I have multiple input-sources enabled, like e.g. oscilloscope channel 1 and two logic analyzer channels, there is no indicator anywhere on which one of these I have selected, ie. which input will move up/down when I hold shift+LMB. I can choose the input by clicking on the tiny arrow to the left and the corresponding input will then move with shift+LMB, but the UI should also indicate which one is selected, IMHO.

Share this post


Link to post
Share on other sites

You can see the selected channel based on the axis label on the left side of the chart. You can click in the control box (or any of the buttons inside of it) for either Osc 1 or Osc and that channel will be set as the active channel. When you grab the arrow (we call it a series anchor) that also sets the corresponding channel as the active channel.

The analyzer channels aren't set as the active series when moved since they are only ever 1 or 0 and thus seeing the labels isn't as useful as it is for the Osc channels. You can still grab the series anchor to move the analyzer channel where you would like it. 

Edited by sudharsan.sukumar

Share this post


Link to post
Share on other sites

I don't see how your reply is related to what I said. Click on the series-arrow for an analyzer channel and POOF -- shift+LMB from now on moves the analyzer channel up/down instead of the oscilloscope-channel, but the UI doesn't indicate this anywhere.

Edited by WereCatf

Share this post


Link to post
Share on other sites

I think I see what you're saying. There needs to be a better way to determine which logic analyzer channel is which (whether that is updating the axis label or some other method). 

Thanks for the feedback!

-Dharsan

Share this post


Link to post
Share on other sites

I'm a little confused as to what you're wanting as well if a label isn't what you're looking for. As far as I can tell, you want some sort of highlighting effect around which analyzer pin you have selected to appear in the lower right hand corner (as indicated by my poorly drawn red box) and (what I would personally like) a label to appear when you click on the corresponding arrow with some information (shown by my poor hand writing in red). I took the screenshot from your video.

 

Analyzer Pin question.PNG

Share this post


Link to post
Share on other sites

I'm not talking about just the analyzer-pins. When you click on *any* arrow on the left, shift+LMB will from there on move the corresponding input up/down, and which one will be moved, ie. which arrow is "selected", should be indicated by the UI somewhere. Just try it yourself, click on any of the arrows and then use shift+LMB -- the corresponding input will move until you click on some other arrow -- analyzer-channel or oscillator, it doesn't matter. And that's the point: maybe I am just being blind, but I don't see the UI indicating which arrow is selected.

Share this post


Link to post
Share on other sites

The UI indicates which Osc channel is selected by changing the y-axis label. You'll notice this if you toggle between Osc 1 and Osc 2. What I was saying earlier is that the analyzer channels don't update the label because it doesn't really make sense to show the units on something you know toggles between 0 and 1. So what I thought you were saying is that there needs to be a better way to tell which analyzer channel is selected (if any) and I agree with that because it is confusing. As far as shift + lmb is concerned, you're right that you can't tell when an analyzer channel is selected so some options I thought of are:

1) Remove the ability to use shift + lmb to move analyzer channels

2) Come up with a way to display which trace corresponds to which channel (which is what I mentioned in my comment above and also what James is suggesting). Further, if you can use shift + lmb to move the analyzer channels you need to know which one is currently selected.

3) Update the axis label to show which analyzer channel is selected and show the units for the channel (which like I said above may be a waste since you know the value is 0 or 1).

Hope that makes sense,

Dharsan

Share this post


Link to post
Share on other sites

Hi Dharsan,

Could you also increase the trace width (i.e. make it bold) when a particular waveform (analyzer or oscilloscope or otherwise) is selected?

Thanks,
JColvin

Share this post


Link to post
Share on other sites

I could do that. The only problem might be that it looks too massive on phones. Right now what I'm going to do is make it so that the series anchor gets a white outline if it is the active channel. I'm also going to add a label for the analyzer channels so you know which is which.

-Dharsan

Share this post


Link to post
Share on other sites

Here we go. Now when a channel is selected the series anchor is highlighted. Analyzer channels now have a channel label on them. As a side note, when there is a new build the min frequency for the simulated device will be 6Hz since that is the min frequency for the OpenScope and the simulated device is a simulated OpenScope. Once we have more devices that follow the OpenScope Protocol, we can have more simulated devices.

-Dharsan

New Build.PNG

Share this post


Link to post
Share on other sites

Hello,

This is just some friendly feedback on my part since I realize the software is still in beta, but I was taking a look at WFL again and noticed that I'm not seeing the labels for the Analyzer channel that Dharsan made reference to. Are those live or hopefully in a build that'll be pushed live soon? Also, (at least for me) it looks like the main viewing screen doesn't update with the waveform I've set from the waveform generator after hitting the "run" button. It doesn't update the screen until I hit the "stop" button while running (or by hitting the "single" button for just a lone acquisition).

It also looks like that while running (presuming the waveforms are shown on the screen) I can have an analyzer line disappear from the screen, but not reappear. The waveforms (or at least the OSC1 and Waveform generator) also don't look like they disappear from the screen while the simulated OpenScope is set to run mode, even if I click their little power buttons. I'm not sure why the analyzers do that, but it seems like the others aren't updating maybe because once the run mode is activated it collects all of the current settings and sticks with it? It's a little weird since I'm not seeing the screen update until I hit the stop button (as I mentioned earlier). But I can make changes to the AWG while it's in run mode and see those changes when I hit stop, so that doesn't help my collect all of the current settings theory...hmmm.

Mostly I figured I would mention this just in case a second pair of eyes was needed to help spot some of these things.

Thanks,
JColvin

Share this post


Link to post
Share on other sites

Yep most of these things are fixed. I haven't pushed a new build to waveformslive.com in a while. I'll let you know when a new build is pushed. The weird stuff you're talking about with run and the analyzer channels has been fixed. Try to see if you can replicate it when I post a new build.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this