LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
SteenSchmidt

Jog-wheel (unlimited range knob)

Status: New

Hi,

 

I suggest adding a jog-wheel (unlimited range knob) to the palettes:

 

UnlimitedRangeKnob.png

 

The current knob you set the minimum and maximum range, and can then select inbetween those values by turning the knob from one endpoint to the other.

 

A jog-wheel you configure with only the range for one complete revolution of the knob, but you will then be able to turn it as many revolutions as you wish and it'll continue to increase or decrease its value (depending on if you turn it CW or CCW). This'll work like the jog-wheel on a video-player; configure it for a range of 10/revolution for instance, if you then want to move 30 upwards, you just turn the knob three full revolutions CW. It should support the mouse scroll wheel on top of it of course, for "quick jogging".

 

Cheers,

Steen

CLA, CTA, CLED & LabVIEW Champion
12 Comments
ToeCutter
Active Participant

Nice idea, I can see something like this being useful.

fabric
Active Participant

Can you give an example of where a jog wheel is an efficient way to set a value? Seems like a good example of where a physical entity does not map well to a virtual entity.

 

Mousing in circles? No thanks...

Darin.K
Trusted Enthusiast

touch screens, touch pads and even the leap motion are conducive to circle gestures. 

 

Does it have to be silver though?

Intaris
Proven Zealot

We have looked at something similar, but with a horizontal slider with + and - as scale limits.  Coupled with logarithmic scaling (and OS mouse movement tracking) it works surprisingly efficiently with a mouse.  But a knob? No thanks.

SteenSchmidt
Trusted Enthusiast

@Darin.K: No, not just silver, that is just a convenient graphics.

 

@fabric and Intaris: How do you manage to turn the existing two LabVIEW knobs with your mouse? The only extra functionality on top of the existing knobs is that I don't want this jog to hit an endpoint from where I can't go any further. I'm not envisioning a user spinning that knob around and around furiously to get to some value lightyears from the current value. In that case - as with many real jogs - there could be some logarithmic stepping up involved, such as the faster you spin the larger the step size per angle change. And I'd like the mouse wheel to be able to turn the knob as well, but that applies to all the knobs, and I'm sure there is an idea in here to that extent already.

 

A current use case of mine:

I have a graph which I want to scroll along the X-axis to view different parts of that graph. But I also want a specific zoom-level, i.e. I want a constant tick-spacing on the X-axis. The X-axis goes from -Inf to +Inf, so how do I enable the user to scroll along the X-axis? A slider from -Inf to +Inf isn't going to work - even if I just selected some very large values at the endpoints instead of going to +/-infinity will make it impossible to position the slider with any accuracy. All in all I have to use several discrete controls and a fair bit of programming to get a decent user experince here.

 

If I had a jog-wheel on the palettes I could use that as my only interface to setting the X-axis position. A knob maps nicely to an infinite range, whereas a slider doesn't. A slider has endpoints, no matter which scale you set along the slider. The current LV knobs also have endpoints. My proposed jog doesn't have endpoints.

 

/Steen

CLA, CTA, CLED & LabVIEW Champion
Intaris
Proven Zealot

@Steen: Easy answer, we don't use knobs for systems designed to work with a mouse.  Period.

 

With regard to your use case: For an almost identical purpose we have implemented a control for panning and zooming in a graph which uses a horizontal slider.  When we click on it we begin monitoring the mouse position using the "Input Device" mouse functions.  The further away from the center of the control we move (even beyond the size of the control itself thanks to the "Input device" mouse functions), the faster the associated value increases or decreases (with logarithmic stepping).  For us it feels very intuitive and allows quick AND precise control over the movement.  The slider is, as such a DELTA control, not an absolute.  The absolute values are displayed alongside using conventional numerics.

 

For exactly this purpose, I see no advantage of a knob over a slider regardless whether I use it with a mouse or my finger.

SteenSchmidt
Trusted Enthusiast

@Intaris: Consider setting the value of a DBL numeric with a slider...

 

But I appreciate your knob vs. mouse points. Which control would you find easiest to use for quickly changing values in a numeric control? The current increment/decrement arrows aren't that flexible to use.

 

Your delta control seems cool. That's also the functionality behind the "elastic" jog-wheel - a jog-wheel that doesn't turn freely, but which can only operate within an arc, and the harder you press against the (typically somewhat elastic) arc endpoints, the faster you "jog" in that direction. It'd be nice to develop a selection of delta controls as reusable XControls. Then you wouldn't have to code anything besides the XControl itself. Wondering if that should be a GPower toolset...

 

/Steen

CLA, CTA, CLED & LabVIEW Champion
Intaris
Proven Zealot

Well we can certainly agree that the increment decrement buttons are not very helpful.  I would almost argue that they have outstayed their welcome.  Almost.

LordNobady
Member
I like the idee of a knob without endpoint. also the elastic slider and knob are useful in situations. I think thy all should be implemented. ( together with other methods to give in number with mouse / touchscreen ) Then the programmer can pick the one that fits him best for the occasion.

Learning LabVIEW since January 2013
Manzolli
Active Participant

I have a working version of a jog-wheel control. Even though it works, needs some editing, polishing, documentation. Finally should be converted to a XControl to be posted. Right now I have no time to finish it. This is the FP of the VI:

 

 jog-wheel FP.jpg

 

It wolud be a nice addition to LabVIEW palette!

André Manzolli

Mechanical Engineer
Certified LabVIEW Developer - CLD
LabVIEW Champion
Curitiba - PR - Brazil