Cruisers Forum
 


Reply
  This discussion is proudly sponsored by:
Please support our sponsors and let them know you heard about their products on Cruisers Forums. Advertise Here
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 08-02-2010, 02:18   #451
Registered User

Join Date: Feb 2010
Posts: 619
sinbad7...

Do you have samples of the data feed from various points in the process of transmission / conversion / storage? Does this issue concern only OpenCPN? If so, I would look at it with properly instrumented code, if I can have some data.
PjotrC is offline   Reply With Quote
Old 08-02-2010, 04:00   #452
Registered User
 
sinbad7's Avatar

Join Date: Sep 2003
Location: Ubatuba,SP,Brazil (Ex Norway)
Boat: (Ex) Alu. 60' yacht-"Eight Bells"
Posts: 2,731
Images: 57
Send a message via Skype™ to sinbad7
PjotrC..

Unfortunately I only have one major data feed from the Siitech network so I am unable to produce separate outputs for the ports mentioned earlier. Yes, I have the same problem using other nav progs.

If I use AISHUB data feed,all the ship's data becomes available after a few minutes.
__________________
"And all I ask is a tall ship and a star to steer her by."
sinbad7 is offline   Reply With Quote
Old 10-02-2010, 12:54   #453
Registered User

Join Date: Sep 2009
Location: Angers - France
Boat: Beneteau First 29 Ptizef
Posts: 844
Hi
I've compiled route manager on window vista
But the problem : after opening route manager dialog , there is no route in it and if I click 'import' , and choose a route in the list , the route is imported but the dialog stay empty . May be I've misunderstood something ?
Regards
Jean Pierre
Attached Thumbnails
Click image for larger version

Name:	rmd.jpg
Views:	270
Size:	133.8 KB
ID:	13151  
Ptizef is offline   Reply With Quote
Old 11-02-2010, 02:13   #454
Registered User

Join Date: Sep 2009
Location: Angers - France
Boat: Beneteau First 29 Ptizef
Posts: 844
Furthemore , when routes have been imported or created by the official opencpn version , they are not visible in the patched version , but the contrary is good
Jean Pierre
Ptizef is offline   Reply With Quote
Old 11-02-2010, 03:31   #455
Registered User
 
idpnd's Avatar

Join Date: Sep 2007
Location: Almería, ES
Boat: Chiquita 46 - Libertalia
Posts: 1,558
This might be a windows-related bug with the patch, the routes worked great for me on ubuntu
__________________
sv Libertalia
idpnd is offline   Reply With Quote
Old 11-02-2010, 04:40   #456
Registered User
 
Psyches's Avatar

Join Date: Apr 2008
Location: SF Bay Area
Boat: Tartan 30 - Bluegrass
Posts: 187
Send a message via Yahoo to Psyches Send a message via Skype™ to Psyches
Quote:
Originally Posted by idpnd View Post
This might be a windows-related bug with the patch, the routes worked great for me on ubuntu
Thanks idpnd, that's my cue to take a look. Jean Pierre & all, I see the same problem on win32.

Anders, listctrl is getting an assert during debugging. Here is the stack trace:

Code:
 	ntdll.dll!_DbgBreakPoint@0() 	
>	opencpn.exe!wxTrap()  Line 678	C++
 	opencpn.exe!DoShowAssertDialog(const wxString & msg={...})  Line 753	C++
 	opencpn.exe!wxAppTraitsBase::ShowAssertDialog(const wxString & msgOriginal={...})  Line 557 + 0x9 bytes	C++
 	opencpn.exe!wxGUIAppTraitsBase::ShowAssertDialog(const wxString & msg={...})  Line 635	C++
 	opencpn.exe!ShowAssertDialog(const char * szFile=0x00bf0a00, int nLine=0x0000065d, const char * szFunc=0x077f6ba4, const char * szCond=0x00bf09bc, const char * szMsg=0x00bf0990, wxAppTraits * traits=0x01c5a330)  Line 836 + 0x11 bytes	C++
 	opencpn.exe!wxAppConsole::OnAssertFailure(const char * file=0x00bf0a00, int line=0x0000065d, const char * func=0x077f6ba4, const char * cond=0x00bf09bc, const char * msg=0x00bf0990)  Line 445 + 0x22 bytes	C++
 	opencpn.exe!wxOnAssert(const char * szFile=0x00bf0a00, int nLine=0x0000065d, const char * szFunc=0x00bf09e8, const char * szCond=0x00bf09bc, const char * szMsg=0x00bf0990)  Line 713	C++
 	opencpn.exe!wxListCtrl::InsertItem(const wxListItem & info={...})  Line 1629 + 0x43 bytes	C++
 	opencpn.exe!RouteManagerDialog::UpdateRouteListCtrl()  Line 239	C++
 	opencpn.exe!RouteManagerDialog::RouteManagerDialog(wxWindow * parent=0x027080a8)  Line 202	C++
 	opencpn.exe!ChartCanvas::ShowRouteManager()  Line 1175 + 0xf bytes	C++
 	opencpn.exe!ChartCanvas::PopupMenuHandler(wxCommandEvent & event={...})  Line 4095	C++
 	opencpn.exe!wxAppConsole::HandleEvent(wxEvtHandler * handler=0x027080a8, void (wxEvent &)* func=0x00677fea, wxEvent & event={...})  Line 323	C++
 	opencpn.exe!wxEvtHandler::ProcessEventIfMatches(const wxEventTableEntryBase & entry={...}, wxEvtHandler * handler=0x027080a8, wxEvent & event={...})  Line 1233	C++
 	opencpn.exe!wxEventHashTable::HandleEvent(wxEvent & event={...}, wxEvtHandler * self=0x027080a8)  Line 907 + 0x1c bytes	C++
 	opencpn.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...})  Line 1293 + 0x1c bytes	C++
 	opencpn.exe!wxMenuBase::SendEvent(int id=0x00000008, int checked=0x00000000)  Line 792 + 0x1c bytes	C++
 	opencpn.exe!wxMenu::MSWCommand(unsigned int __formal=0x00000000, unsigned short id=0x0008)  Line 792	C++
 	opencpn.exe!wxWindow::HandleCommand(unsigned short id=0x0008, unsigned short cmd=0x0000, void * control=0x00000000)  Line 4970 + 0x12 bytes	C++
 	opencpn.exe!wxWindow::MSWWindowProc(unsigned int message=0x00000111, unsigned int wParam=0x00000008, long lParam=0x00000000)  Line 2924 + 0x22 bytes	C++
 	opencpn.exe!wxWndProc(HWND__ * hWnd=0x00010a76, unsigned int message=0x00000111, unsigned int wParam=0x00000008, long lParam=0x00000000)  Line 2618 + 0x1c bytes	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x28 bytes	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 bytes	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc bytes	
 	user32.dll!_DispatchMessageA@4()  + 0xf bytes	
 	opencpn.exe!wxYieldForCommandsOnly()  Line 2175	C++
 	opencpn.exe!wxWindow::DoPopupMenu(wxMenu * menu=0x072a1b58, int x=0x00000361, int y=0x000001eb)  Line 2224	C++
 	opencpn.exe!wxWindowBase::PopupMenu(wxMenu * menu=0x072a1b58, int x=0x00000361, int y=0x000001eb)  Line 926 + 0x41 bytes	C++
 	opencpn.exe!ChartCanvas::CanvasPopupMenu(int x=0x00000361, int y=0x000001eb, int seltype=0x00000005)  Line 4003	C++
 	opencpn.exe!ChartCanvas::MouseEvent(wxMouseEvent & event={...})  Line 3812	C++
 	opencpn.exe!wxAppConsole::HandleEvent(wxEvtHandler * handler=0x027080a8, void (wxEvent &)* func=0x0067dc38, wxEvent & event={...})  Line 323	C++
 	opencpn.exe!wxEvtHandler::ProcessEventIfMatches(const wxEventTableEntryBase & entry={...}, wxEvtHandler * handler=0x027080a8, wxEvent & event={...})  Line 1233	C++
 	opencpn.exe!wxEventHashTable::HandleEvent(wxEvent & event={...}, wxEvtHandler * self=0x027080a8)  Line 907 + 0x1c bytes	C++
 	opencpn.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...})  Line 1293 + 0x1c bytes	C++
 	opencpn.exe!wxWindow::HandleMouseEvent(unsigned int msg=0x00000204, int x=0x00000361, int y=0x000001eb, unsigned int flags=0x00000002)  Line 5157 + 0x1c bytes	C++
 	opencpn.exe!wxWindow::MSWWindowProc(unsigned int message=0x00000204, unsigned int wParam=0x00000002, long lParam=0x01eb0361)  Line 2884 + 0x21 bytes	C++
 	opencpn.exe!wxWndProc(HWND__ * hWnd=0x00010a76, unsigned int message=0x00000204, unsigned int wParam=0x00000002, long lParam=0x01eb0361)  Line 2618 + 0x1c bytes	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x28 bytes	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 bytes	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc bytes	
 	user32.dll!_DispatchMessageA@4()  + 0xf bytes	
 	opencpn.exe!wxEventLoop::ProcessMessage(tagMSG * msg=0x0012fc4c)  Line 80	C++
 	opencpn.exe!wxEventLoop::Dispatch()  Line 294	C++
 	opencpn.exe!wxEventLoopManual::Run()  Line 115 + 0xd bytes	C++
 	opencpn.exe!wxAppBase::MainLoop()  Line 312 + 0x15 bytes	C++
 	opencpn.exe!wxAppBase::OnRun()  Line 368	C++
 	opencpn.exe!wxEntryReal(int & argc=0x00000002, char * * argv=0x01c57b18)  Line 460 + 0x1b bytes	C++
 	opencpn.exe!wxEntry(int & argc=0x00000002, char * * argv=0x01c57b18)  Line 209 + 0xd bytes	C++
 	opencpn.exe!wxEntry(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000, int nCmdShow=0x00000001)  Line 386 + 0xd bytes	C++
 	opencpn.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f0d, int nCmdShow=0x00000001)  Line 736 + 0x33 bytes	C++
 	opencpn.exe!__tmainCRTStartup()  Line 578 + 0x35 bytes	C
 	opencpn.exe!WinMainCRTStartup()  Line 403	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23 bytes
I'll need to take a closer look when I get some time, if someone else doesn't first. BTW, when the route manager becomes ready for prime-time, I suggest we co-opt the "create route" toolbar button, and add a "New" button to the route manager, and/or add "Create Route" to the context menu. Interested in opinions.

Mark
Psyches is offline   Reply With Quote
Old 11-02-2010, 04:55   #457
Registered User
 
idpnd's Avatar

Join Date: Sep 2007
Location: Almería, ES
Boat: Chiquita 46 - Libertalia
Posts: 1,558
Quote:
I suggest we co-opt the "create route" toolbar button, and add a "New" button to the route manager,and/or add "Create Route" to the context menu. Interested in opinions.
Clever!
__________________
sv Libertalia
idpnd is offline   Reply With Quote
Old 14-02-2010, 21:20   #458
Registered User
 
Psyches's Avatar

Join Date: Apr 2008
Location: SF Bay Area
Boat: Tartan 30 - Bluegrass
Posts: 187
Send a message via Yahoo to Psyches Send a message via Skype™ to Psyches
RouteManager tweaks for win32

Hi Anders, haven't heard from you in awhile. I finally got a few minutes to look at the route manager, and why it fails on win32. I haven't had time to make everything work, only a few basics. And, I have a few suggestions. A few of the problems I found:

(1) for initial run, the IsVisible should default to true - otherwise initially existing routes don't show, which I think is confusing for folks
(2) image display didn't seem to work for some reason
(3) every item insert into the listctrl fails (the assert I mentioned)
(4) the column sizes aren't right sometimes - e.g. if no column #2 data, the header is messed up
(5) route selection didn't work at all
(6) the dialog sizer combination doesn't properly position the ok button initially - it partially overlays another button
(7) when I got route selection working, the button state update didn't work

My overall suggestion is: you have really good ideas and good implementation, but I suggest you keep things simpler for first iterations, else you may be surprised at how difficult it is to get win32, unix, and mac all working.

(1) Initially it wasn't obvious if something basic was broken - turns out it's just that old routes start out invisible...

(2) you may need to provide two images, one for invisible, the other for visible...dunno for sure yet; that is, having no image for invisible, and an image for visible may be causing a problem?

(3) I'm no ListCtrl expert, but in the past I've found it's pretty finicky on win32. The SetColumn(1) call you made causes all inserts to fail...that was the assert issue. Instead you need to specifically set the name in col 1 as you do the route "description". That also means the SetText call can't be made, else the name shows up in the wrong column. There may be a better way around this - with a bit of experimenting or ListCtrl expert advice.

(4) The win32 column autosize doesn't take header into account, so if there's no data, the header looks strange (there, but zero length). You could either fix this by providing default text or conditionally setting the size to fixed.

(5) the hittest always fails for me in the mouse left down event. It would be much simpler to use the built-in event support for item selected, activated, etc. I was able to add an OnSelected method in a few minutes that worked the first time at calculating the selected item. I'm not sure how long it'd take to debug the mouse click + hittest approach - more time than I have right now.

Also, FWIW, although the special control handling is cool, I tend to dislike "secret key combos", and prefer dedicated buttons to do the work...that way it's obvious to folks w/o doc and a good memory. I think supporting both would be a fine approach, after the basics work.

And also FWIW, while I think your approach using ::Connect has merit, it also has the disadvantage that you have to scour the code to find which events are handled, and where. The advantage of the event table approach is that it's effectively declarative. It's faster for maintenance and code assessment to see what events are handled and where, up front. Plus that's the way the rest of OpenCPN does it...

I've attached code that no longer asserts and properly sees selections, but I still haven't worked through a few of the problems I ran into above.

Mark
Attached Files
File Type: doc routemanager-tweaks.zip.doc (6.9 KB, 73 views)
Psyches is offline   Reply With Quote
Old 15-02-2010, 07:01   #459
Registered User

Join Date: Sep 2009
Location: Angers - France
Boat: Beneteau First 29 Ptizef
Posts: 844
Hi ,Mark
The routemanager-tweak works a little better that the first one :
now , when I import routes , they are visible in the dialog , but all except import function are still inactive (except accidentally sometime ?)
The function visible/invisible works except for the 1st line when all routes are invisible
When activate a route , there is no active wp blinking
The end legs arrows are curious : some are very big , others very small
regards
Jean Pierre
Ptizef is offline   Reply With Quote
Old 16-02-2010, 02:36   #460
Registered User

Join Date: Feb 2010
Posts: 619
Accuracy of measuring small distances

I think Mr. Mercator may have a problem with small values.
The original 1.3.6 too, but it is easier to see here.
Until anchor chain lengths came into the picture it was no issue...

Piotr
Attached Thumbnails
Click image for larger version

Name:	measureEW.jpg
Views:	187
Size:	6.9 KB
ID:	13283   Click image for larger version

Name:	measureWNW.jpg
Views:	177
Size:	6.4 KB
ID:	13284  

Click image for larger version

Name:	measureNS.jpg
Views:	200
Size:	6.7 KB
ID:	13285  
PjotrC is offline   Reply With Quote
Old 16-02-2010, 03:05   #461
Registered User
 
HamishB's Avatar

Join Date: Jan 2010
Location: New Zealand
Posts: 286
Quote:
Originally Posted by PjotrC View Post
I think Mr. Mercator may have a problem with small values.
The original 1.3.6 too, but it is easier to see here.
Until anchor chain lengths came into the picture it was no issue...
could you further describe what we are looking at there and what is wrong? (I don't know the software well)
130m looks shorter in the x than in the y?

what latitude are you at, what's the map scale?
HamishB is offline   Reply With Quote
Old 16-02-2010, 03:48   #462
Registered User

Join Date: Nov 2009
Location: France
Posts: 63
You'll have to go South for better results ...
I don't know if it's interesting to consider only the distance problem.
I think we will have other issues with these projection problems.
Totobeloeil is offline   Reply With Quote
Old 16-02-2010, 04:44   #463
Registered User
 
HamishB's Avatar

Join Date: Jan 2010
Location: New Zealand
Posts: 286
.. parts of georef.c will need to be replaced anyway due to license issues. hmmm... I just noticed that the header lists 3 authors, one of which is gpstrans which I know to be DFSG compliant. So which of those three authors has applied the non-commercial clause, and was that added while the opencpn code was in CVS? (so easily backed out)

What's MacGPS's license?

I'm assuming that the non-commercial part is from Carsten, maybe he could be convinced to relicense as GPL, but really I think the code should be replaced by the gold standard: PROJ.4 and/or libproj. (mainly proj.4 but Gerald's new version of libproj has a geodesic.c for great circle calcs which is the best out there). proj4 has his old geod.c.
PROJ.4
Gerald's libproj library


Hamish
HamishB is offline   Reply With Quote
Old 16-02-2010, 04:53   #464
Registered User

Join Date: Feb 2010
Posts: 619
Mercator

Quote:
Originally Posted by HamishB View Post
could you further describe what we are looking at there and what is wrong? (I don't know the software well)
130m looks shorter in the x than in the y?

what latitude are you at, what's the map scale?
I'm at latitude 54 N. I think that the difference in measurement in exactly 270 bearing differs too much from that of 283. The bearing 001 looks OK. With longer distances, say 5 miles, it is not noticeable, but even before, looking at tracks in close zoom, I had the impression of some unexplained differences between the chart and textual position representation.

Therefore my vague request for similar experience.

True scale is 800, zoom 14x (overzoom), but it is necessary, if anchor watch and tracking should be useful. In this situation, I am almost not interested in the chart, just the behaviour of the boat at anchor.

Piotr
PjotrC is offline   Reply With Quote
Old 16-02-2010, 05:02   #465
Registered User
 
HamishB's Avatar

Join Date: Jan 2010
Location: New Zealand
Posts: 286
hmmm. that non-commercial bit came from gpstrans after all, and gpstrans is based on an old+free version of the (now) commercial MacGPS. source code for old versions of both can be found at
Peter Bennett's GPS and NMEA Site - Garmin Support

grepping in the macgps45.zip source I don't find the word commercial anywhere.

shrug.
replace the whole thing with proj4 & be done with it.


Hamish
(cc source forge report)
HamishB is offline   Reply With Quote
Reply


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
Beta Marine Diesel michaelmrc Engines and Propulsion Systems 48 23-03-2016 13:44
Need some technical advice....antennas. Just a Tinch Marine Electronics 15 01-12-2007 15:57
Blue Sea Systems Technical Brief GordMay Electrical: Batteries, Generators & Solar 0 16-03-2007 04:16
technical difficulties witchcraft The Sailor's Confessional 1 30-05-2005 14:09
Dow Corning Technical Manual GordMay The Library 0 12-04-2005 16:25

Advertise Here


All times are GMT -7. The time now is 02:04.


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

ShowCase vBulletin Plugins by Drive Thru Online, Inc.