Cruisers Forum
 


Join CruisersForum Today

Reply
 
Thread Tools Rate Thread Display Modes
Old 23-07-2010, 05:21   #1
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
Plugin: DashBoard

Hi all,

Here's the first version of the DashBoard plugin, made from the demo plugin from Dave.

Display Lat, Lon, COG, SOG from NMEA stream in a wxMiniFrame.
Fonts can be changed by user in global settings.

I created a basic DashboardInstrument class, that'll be expanded to handle:
- analog data display (done)
- compass
- "speedometer" view
- "wind" view
and maybe
- depth
- GPS status
- route overview
- chart overview

For now there's no way to change colors, I choose Blue ; might change. Maybe there'll be a way to manage colors in OpenCPN some day?

I also plan to create an option form to select instruments to display, reorder them, select NMEA fields...
The current right-button menu might change to a top panel button when it's more mature.

I choose to use a wxMiniFrame instead of the wxWindow used by Dave. It might change.

There'll be more patches as I complete any of the features I'm currently working on

More to come ASAP, comments welcome!

PS: I'll post these patches to the tracker soon.
__________________

__________________
SethDart is offline   Reply With Quote
Old 23-07-2010, 06:30   #2
Registered User
 
Netsurfer's Avatar

Join Date: Jan 2010
Location: Cologne, Germany
Boat: Beneteau Oceanis 331
Posts: 557
Hi,

great!
Having these informations displayed other than in the statusbar is one of the most requested features.

Despite of the fact that I personally do not have any programming skills, I wonder if it would be possible to integrate such things by using a wxSplitterWindow?
I guess many user would prefer this kind of integration because it is more like any other application they are familiar with. Maybe an additional icon in the toolbar to switch split screen on/off?

And how would the config options be integrated for modules in general and this one in particular?
I am asking because I am a great fan of giving the user the possibility to choose which options to use and which not.

Even without real testing (just looking at your screenshot) I am quite sure, that this a very useful plugin - no matter how it is realized in the end.

Thanks for all your great work,

Gunther
__________________

__________________
Deutschsprachige Community- und Support-Website unter OpenCPN.de
Netsurfer is offline   Reply With Quote
Old 23-07-2010, 06:50   #3
Registered User

Join Date: Aug 2009
Posts: 183
Hi Sethdart,

Is there a most friendly way to install these patches (and those to come) ?

I try to put them in the opencpn repertory built wilth the script installation of Cagney and then :

Code:
jp@jp-laptop:~/opencpn old$ patch -p0 <0001-Compiler-error.-Change-required-to-include-navutil.h.patch 
patching file b/include/chart1.h
Hunk #1 FAILED at 70.
1 out of 1 hunk FAILED -- saving rejects to file b/include/chart1.h.rej
jp@jp-laptop:~/opencpn old$
What should I do ?

Is it possible to explain, for simple human like me, not of the programmers, how to install these patches ?

Thanks in advance

Jean-Pierre
__________________
jpiebrig is offline   Reply With Quote
Old 23-07-2010, 07:54   #4
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
Quote:
Originally Posted by jpiebrig View Post
Is it possible to explain, for simple human like me, not of the programmers, how to install these patches ?
Well, I'll do my best to explain

First, ensure you're using the latest git version:
Code:
git pull
Then apply my patch:
Code:
git apply {path/to/file.patch}
For example:
Code:
git apply 0001-Compiler-error.-Change-required-to-include-navutil.h.patch
Note: Now that we've switched to git, I produce patches directly with git, These patches include notes and other usefull information for Dave & git processing.

If you've an error again, please provide output error file (.rej)

Thanks
__________________
SethDart is offline   Reply With Quote
Old 23-07-2010, 08:15   #5
cruiser

Join Date: May 2010
Location: SF Bay Area; Former Annapolis and MA Liveaboard.
Boat: Looking and saving for my next...mid-atlantic coast
Posts: 6,197
For consideration, when you get to instruments, don't forget things like rudder angle and autopilot information.

Or have some sort of full customization setup (per widget) so non-programmers can make their own instruments based on NMEA data e.g. similar to the way an excel chart object setup prompts you for info
__________________
SaltyMonkey is offline   Reply With Quote
Old 23-07-2010, 10:40   #6
Registered User

Join Date: Aug 2009
Posts: 183
Hi SethDart,

Thank you for your help, installation seems to be good. But if I get the DashboardWindow, it is emty of data. My GPS is working fine (Network LIBGPS) and I have try with an other one, it is the same.

If it is usefull, I have put the details of installation. Here they are :

patches : jp@jp-laptop:~/GitOpenCPN/open - Patches installation - LXPw0uxm - Pastebin.com
cmake : jp@jp-laptop:~/GitOpenCPN/open - Cmake - LSYPQJNx - Pastebin.com
make : jp@jp-laptop:~/GitOpenCPN/open - Make - phKjnEGW - Pastebin.com
sudo make install : jp@jp-laptop:~/GitOpenCPN/open - Sudo make insatll - azKne4mW - Pastebin.com

Jean-Pierre
Attached Thumbnails
Click image for larger version

Name:	Capture.jpg
Views:	502
Size:	362.6 KB
ID:	17932  
__________________
jpiebrig is offline   Reply With Quote
Old 23-07-2010, 14:57   #7
Registered User

Join Date: Dec 2005
Location: WNA
Boat: Dufour 35
Posts: 3,238
Congratulations SethDart, works fine, if I have a NMEA data stream.
jpiebrig's problem is most likely that gpsd doesn't provide such a stream. I can't get it working either with gpsd, but with a direct connection it works well.
I shut down gpsd and connected to /dev/ttyUSB0. It seems that I have a slight problem with my BU353, that insists on resetting itself to SIRF mode. After changing to NMEA mode, no problems.

Thomas
__________________
cagney is offline   Reply With Quote
Old 23-07-2010, 17:38   #8
Registered User

Join Date: Aug 2009
Posts: 183
Cagney,

You were right, it works well directly on /dev/ttx. Thanks to you and congratulations to SethDart for that pluggin. I am impatient to see the others...

Jean-Pierre
__________________
jpiebrig is offline   Reply With Quote
Old 24-07-2010, 10:48   #9
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
Re: gpsd vs /dev/ttySx

Well I guess it's related to NMEA sentence. Currently, only RMC is handled by DashBoard. One of the future feature will be to accept others sentences for the same instrument maybe automaticaly with priorities or user set.

Stay tuned
__________________
SethDart is offline   Reply With Quote
Old 29-07-2010, 06:47   #10
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
followup

The two patches above are already included in git, thanks Dave!

Here's another one:
--
GPSD input + Multi-NMEA sentence handling, with priorities

Context menu to show/hide instrument (not saved in config ATM)

Position: libGPS/GPSD, GLL, GGA, RMC
COG/SOG: libGPS/GPSD, VTG, RMC
Heading: HDT, HDM, HDG, VHW
(+ Magnetic variation: libGPS/GPSD, HDG, RMC)
Speed through water: VHW
Depth: DBT, DPT

*** For future use ***
UTC DateTime: libGPS/GPSD, ZDA, RMC, GGA, GLL
Aparent wind: MWV, VWR
Water temperature: MTW
--

The next one shall add basic Dial display (Compass + Speedometer)

Wait'n see
__________________
SethDart is offline   Reply With Quote
Old 20-08-2010, 14:01   #11
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
Generic Dial class for displaying instrument data

Hi OpenCPN'ers,

Sorry for being quiet for so long ; I enjoyed a few weeks off, sailing in The Channel Islands. Alderney & Guernesey are such a lovely place!

I took the opportunity to test OpenCPN and enhance the dashboard plugin. Here is the latest patch ready for testing:

FS#63 : Generic Dial class for displaying instrument data

I've included 3 samples graphics for Speedometer, Compass & Wind view. The classes I created can display many more. Now is the time to brainstorm how we can offer that to user. IMHO we should remain as simple as possible. I'm still thinking about the configuration options. Should we offer a list of pre-defined dials? Which ones? I'm thinking of a simple list of instruments/dials users can select & order, no more... Opinions? Remember: KISS

Note: I've no skills in graphics&colors so any suggestions welcome. These are rough example matching my views, they can be enhanced ; anyone?
Attached Thumbnails
Click image for larger version

Name:	DashBoard-2.png
Views:	541
Size:	27.5 KB
ID:	18572  
__________________
SethDart is offline   Reply With Quote
Old 20-08-2010, 14:59   #12
Registered User
 
Viking Sailor's Avatar

Join Date: Nov 2006
Location: San Francisco Bay
Boat: Fantasia 35 - s/v Feeling Good
Posts: 1,062
SethDart,

Very nice, great work, thank you!

Since there is a limited amount of data that can/needs to be displayed it would seem that providing a predefined selection of instruments would be that way to go. Also, I would like to suggest that an alternative numeric display be provided for when a dial is not desired. I agree that a simple list for selecting and ordering the information to be displayed is the way to go.

The info I would like see displayed includes position, course true/magnetic, speed, wind speed true/relative, rudder angle, and depth.

The next question would be where to positions the instruments on the display. I would prefer a two button context menu solution. The first button would step the display position thru the four edges of the display. The second button would hide/show the instruments on the display.

Thanks again,

Paul
__________________
Viking Sailor is offline   Reply With Quote
Old 21-08-2010, 04:17   #13
Registered User
 
Netsurfer's Avatar

Join Date: Jan 2010
Location: Cologne, Germany
Boat: Beneteau Oceanis 331
Posts: 557

Quote:
Originally Posted by SethDart View Post
The classes I created can display many more. Now is the time to brainstorm how we can offer that to user. IMHO we should remain as simple as possible. I'm still thinking about the configuration options. Should we offer a list of pre-defined dials? Which ones? I'm thinking of a simple list of instruments/dials users can select & order, no more... Opinions? Remember: KISS
Quote:
Originally Posted by Viking Sailor View Post
Since there is a limited amount of data that can/needs to be displayed it would seem that providing a predefined selection of instruments would be that way to go.
How do you know this?
As the data needs to be in NMEA 0183 format I would propose to "scan" for available data (that can be displayed). Otherwise you start limiting a user with no need.

Quote:
Also, I would like to suggest that an alternative numeric display be provided for when a dial is not desired.
I agree. A numeric display also needs less space and offers therefor the possibility to display more information. And some users may find its readability better.

Quote:
I agree that a simple list for selecting and ordering the information to be displayed is the way to go.
Beside the question of integration in OCPN the way PolarCom does it isn't that bad in my opinion.

Quote:
The next question would be where to positions the instruments on the display. I would prefer a two button context menu solution. The first button would step the display position thru the four edges of the display. The second button would hide/show the instruments on the display.
Did I get you right that you want the dashboard to be displayed in full size (the complete chart window)?
As I am still a fan of having the chart window a split screen where to dsiplay things like the dashboard permanently beside the chart (when split screen is enabled) the option to make it "full size" might also be a good idea (espacially for users with small screens).

Thanks SethDart for this great work - carry on!

Gunther
__________________
Deutschsprachige Community- und Support-Website unter OpenCPN.de
Netsurfer is offline   Reply With Quote
Old 21-08-2010, 12:43   #14
Registered User
 
Viking Sailor's Avatar

Join Date: Nov 2006
Location: San Francisco Bay
Boat: Fantasia 35 - s/v Feeling Good
Posts: 1,062
Quote:
Originally Posted by Netsurfer View Post
How do you know this?
As the data needs to be in NMEA 0183 format I would propose to "scan" for available data (that can be displayed). Otherwise you start limiting a user with no need.
I agree with your statement. Thus, I think we must simply be having a small "communications" problem here. My point is that the data contained in the NMEA messages is the only data available for display. So, once it is decided what NMEA data is to be displayed and the display format for that data, there will be a fixed set of formatted data that can be displayed. This is why a simple list for selecting and ordering the data to be displayed makes sense.

Quote:
Originally Posted by Netsurfer View Post
Beside the question of integration in OCPN the way PolarCom does it isn't that bad in my opinion.
I tried PolarCom some time ago and wasn't impressed with it. I currently don't have PolarCom loaded and so I am unable to try it at the moment. However, I seem to remember that there wasn't any way to select which instruments you wanted not to display. (Please correct me if I'm wrong on this.)

Quote:
Originally Posted by Netsurfer View Post
Did I get you right that you want the dashboard to be displayed in full size (the complete chart window)?
No. I would like the dashboard display to take up no more the a quarter of the screen.

Quote:
Originally Posted by Netsurfer View Post
As I am still a fan of having the chart window a split screen where to dsiplay things like the dashboard permanently beside the chart (when split screen is enabled) the option to make it "full size" might also be a good idea (espacially for users with small screens).
I am suggesting that a way be provided whereby the navigator can easily position the dashboard at the top, bottom, right, or left edge of the display. This is to allow the dashboard to be moved to the edge of the display that least interferes with navigation. The same rationale applies to the show/hide control.

I think your suggestion of a full size display for smaller screens is excellent.

Paul
__________________
Viking Sailor is offline   Reply With Quote
Old 25-08-2010, 03:48   #15
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
comments welcome

Well, I see the problem behind NMEA sentences & dial vs digital display more important, let me try to explain:

It's right that there's a a limited set of NMEA sentences
... but a single information may come from different sentences that must be interpreted, not something a user can choose.

True heading for example: it may come in a single sentence or you need to compute it with magnetic + variation
When it comes to wind, you can have it from 0-360Deg or 0-180 left/right

There's also the problem with units: some sentences provide both Feet/Meters/Fathoms, some meters only. Same for Knots/Kmh/ms. (In the future we may have something to transform any value to user selected unit to have a uniform unit display)


All that to say I don't think we should let the user go down to NMEA level, we should provide him with valid data usefull for navigation. Let the program alone do the best to compute with the sentences received.


For digital display, it's quite simple: display of the value with it's title & unit (already available for Position, SOG, COG, Heading, STW & Depth). The only question is building a list of values, there are a lot, and Water heading degree true is not something most of us would use ;-)

For dials, there's another problem: You can have two informations in it (at least that's how I made it for now) for example the speedometer display an arrow for SOG plus digits in the middle as well as STW on the bottom-left.
There's a lot of possible combinations for these, some might ask for SOG only, some will prefer Compass with digital SOG in it. I've seen compass display with another arrow for displaying BRG when a route is active.

We must come with a (sort of) limited list of such dials.

Here's a list to begin with:
- Digital data display
* Clock
* Position
* COG
* SOG
* VMG
* HDG
* Depth
* Rudder angle
- Dials
* Speedometer
* Compass
* Apparent wind
* True wind
* ?? Navigation compass (BRG+RNG+?? TTG)
- Others
* GPS status
* Route overview
* Chart overview
* Depth view

PS: I'm also thinking of a compass displayed as a ruler, it'd be smaller to display to fit on small screens
__________________

__________________
SethDart is offline   Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenCPN PlugIn Development bdbcat OpenCPN 78 29-07-2017 02:15



Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -7. The time now is 08:59.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.