BenFenner's OLV development diary (comments welcome).

OpenLogViewer is a cross-platform data log viewing application originally written by Gufi and new developed and maintained by Ben and Fred. Discuss all things OLV here!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Screen shots don't do all the recent updates justice. You have to see it in motion to appreciate it.
I can't believe navigation has come so far in such a short period of time. It is completely navigable now. I think any improvements in navigation from now on will be pretty minor in comparison.
Last edited by BenFenner on Fri Oct 14, 2011 12:34 am, edited 1 time in total.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

Plus one, download this and give it a shot! If anyone wants a runnable jar, just ask! :-)

I'm working on bringing it up to date with FreeEMS right now, hopefully will finish before bed, we'll see. Should be a lot cleaner and ready for further upgrades.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

I've been giving some good thought to keyboard shortcuts. I'm thinking at the least we should have the following for the new navigation methods:

Home: Jump to beginning of graph
End: Jump to end of graph
Page Up: Move backward almost an entire screen (to the left)
Page Down: Advance almost an entire screen forward (to the right)
Ctrl · +: Zoom in
Ctrl · : Zoom out
: Move backward one record (to the left)
: Advance one record (to the right)

: Zoom in?
: Zoom out?

Ctrl · : Move backward almost an entire screen (to the left)?
Ctrl · : Advance almost an entire screen forward (to the right)?

Space: play/pause
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Recently completed:
  • Fix bug where inertia didn't take the state of zoom into account so it would be much too aggressive when zoomed in
  • Fix bug where dragging inertia would allow graph to go past the beginning or the end
  • Keyboard navigation mapping as posted above (including numpad arrows)
  • Prevent play bar buttons from gaining focus so that keyboard shortcuts always work, can change to a better method later
  • Fix bug where drag inertia would continue if you dragged while playing and then paused



Immediate future:
  • Allow zooming out beyond a 1:1 ratio of data point:pixel.
  • Display current zoom factor percentage, possibly in a new, general purpose pane on the right.
Short term:
  • Get horizontal scrolling (laptops with horizontal scroll on touch pad and certain mouses) to scroll the graph left and right.
Medium term:
  • Make color selection better possibly with hard coded colors.
  • Do something with the way the cursor snaps to data points incorrectly or the way the data points are plotted incorrectly.
Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look and work more like every other similar tool out there.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

Re your plan:
  • I'd like to see the bug that I noticed tonight fixed before anything else, more info below (finish current work first)
  • I'd like to see the plotting correct before the zooming out/zooming smoothly mod. (good foundation before building upon it)
  • I'd like to see the colours better before the horizontal scrolling stuff. (scrolling doesn't matter, colours do)
  • Displaying zoom seems good, but not on the right, right (or left, but only one) should be reserved for the colour/label/value displays. There is unlimited space up and down, put it above, in the title bar even, or below, in something.
I've done the following:
  • Added the OLV Line Count field to all logs :-)
  • Completely rewritten the FreeEMS binary parser/decoder
  • Removed hack from LA parser/decoder for line count
I noticed:
  • That if you drag and stop completely, even for ages, then release the mouse, you get some "inertia" :-) As though a var is not being cleared?
  • That if you zoom in fully, you get no inertia, no matter how violent you are with the mouse.
I'll send you a pull request now in case you don't see this before you get started next :-) You can pull from guif's or my repo, both have the same stuff in them.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Good work with adding your parts. I hear you on everything else. I will progress accordingly.

I'm curious about your first bug. After some thought I can see now how that might be happening, but I'm surprised you're running into that.

The inertia when zoomed in used to be extremely aggressive because it didn't "scale" with zooming. To correct that, I've changed inertia to "scale" with zooming. The problem with that is you effectively loose most or all of the inertia as you zoom in depending on how deep you zoom. I can go back to the other method, but until we get the graph to scroll in less than whole data points that's not likely to ever behave as good as we'd like.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

I think the inertia and scrolling need to work on a pixel level, not a data level, if that makes sense, then the scaling is automatic for both. It could be that it's related to the whole data point thing too, but I would expect that if it would take N seconds to move M pixels at fully zoomed out, then if you waited N seconds it would step the M pixels one data point at a time, but that's not what I see. Not sure if that makes sense, or if I'm asking for an impractical level of abstraction or what, but you likely understand.

If you need help pulling in the changes, let me know, they are in both my repo, and gufi's one. I did a few more tweaks tonight for preludelinux too.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Yes things need to work on a pixel level and not a data point level. That's going to be a bitch to do. But it needs to be done.

I'll need help pulling in changes Monday. I saw the other commits you've done. Sounds good.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

Another observation: The inertia stops working if you fly off the right end of the graph, or so it seems.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

And when you load a second log, records from the previous one stay in it. This may have been introduced with Gufi's hard coding and my changes, but I'm not sure. I currently close app and reopen for new logs. Checking over all the state clearing stuff would be worth while when you feel like it :-)

Oh, and NOT clearing the "what is loaded" leaving it 100% intact would be good, but only if the log type matches. Or remove fields no longer available. Or offer to save a profile. Or ask the user if the next log type will be the same and if so force it to be the same, or something.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
Post Reply