Community Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

Developing user-friendly CONTROL

Overview

Developing time-based chart (probably XControl) to display data from multiple channels.

No proprietary coding - just native LabVIEW.

Might be able to combine graph, chart and XY into one XControl.

Current wish list:

  • ability to move legend programmatically or lock it to user-defined location (top/bottom/left/right/custom)
  • ability to do the same with palette and cursors
  • ability to scale fonts, based on fixed size or proportionally
  • fix minor problems with re-scaling
  • allow user to show/hide WFM attributes in legend as well as last values/units and timestamps
  • allow user to set chart history on-the-fly with option to specify displayed portion
  • optimize large datasets handling (>1MB)
  • ...

Description

Looking for feedback...

Steps to Implement or Execute Code

Requirements to Run

Software

  1. LabVIEW 11.0 or later

Additional Images

Snapshots from existing prototype:

chart.png

chart_legend.png

color.pngpoint.png

cursor.png

legend.png

large.png

-Artur

Comments
Mads
Active Participant
Active Participant
on

Looks good.

It would be nice if it had skins as well (a definable color palette property, both for the control itself and for the plots).

Another thing that would be a killer app is a preview of the full trend, with the ability to navigate and select a time frame in that preview. A bit like what was done with XGrapher, but with a fully scalable graph. The preview does not necessarily need to be visible all the time either (collapsable component or floating window instead perhaps).

And smarter auto-scaling of course, with definable limits (only auto-scale upwards from 0 for example).

Mads
Active Participant
Active Participant
on

I do not know how you have implemented the decimation functionality yet, but based on the decimation example you metioned in an earlier revision of the document I made a decimation function and posted it here: https://decibel.ni.com/content/docs/DOC-43115

GriffinRU
Member
Member
on

Thank you for comments,

Color selection dialogs/options no problem, all pinned windows (legend, cursors...) have options to match graph's bgnd color or to be transparent (not possible/not easy when floating).

Trend display, no problem, just need to find real estate, in prototype, i linked it with "hand" cursor but can be implemented as floating window and expanded later.

Yes, i mentioned couple links earlier,  but somehow IE crashed and all the html-code was corrupted, so instead of fixing - started from scratch.

I will check your decimation routine later, in prototype i force interpolation on datasets above 10k points, without interpolation you might miss data on the graph, but again strait interpolation is also not a great tool, smart interpolation need to be implemented. Otherwise, cpu impact is not a problem, but interpolation artifacts on data are annoying. Cursors and other data related routines - operate on full datasets, i.e. "decimation" for display only (graphics).

-Artur

P.S. Looking forward for more comments - ideas - opinions

GriffinRU
Member
Member
on

So far not good, plan to abandon project...

-Artur

Mads
Active Participant
Active Participant
on

Abandoning the project? Have you run into any show stoppers?

GriffinRU
Member
Member
on

Well,

Pilot program is running for a year and I am getting not consistent feedback and some features are still not great.

Challenge is to keep track of X and Y scales, while overlaying legend window.

Tree control - scaling is fun process...

Large dataset handling is not bad with newer LabVIEW but still tough task to fix without graphics art effects.

So, I am not sure if I have a complete picture of what would be nice and robust.

-Artur

GriffinRU
Member
Member
on

By the way, any interest in any code sharing?

-Artur

sccompu
Member
Member
on

Where can we get your pilot program?

GriffinRU
Member
Member
on

Hi,

I wasn't ready to share the prototye code, but I might be able to. Do you have any particular questions or just want to browse through the code?

I just want to make sure that this is protype stage and how it should be done is not what you get.

-Artur

Contributors