Skip to content

Commit 584845c

Browse files
author
David Register
committed
Split README
1 parent ef0a637 commit 584845c

File tree

2 files changed

+131
-127
lines changed

2 files changed

+131
-127
lines changed

INSTALL

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
----------------------------------------------------------------------
2+
1. Overview
3+
----------------------------------------------------------------------
4+
5+
----------------------------------------------------------------------
6+
2. Library Notes & Requirements
7+
----------------------------------------------------------------------
8+
9+
a. OpenCPN S57 ENC support works best with access to the OpenGL Utility
10+
library GLU. GLU is used to tesselate large polygon areas into small
11+
triangles for faster display rendering. If you cannot use, or do not have
12+
the OpenGL Utility library, you may choose to build OpenCPN with internal
13+
tesselator support. The internal tesselator is sub-optimal compared to GLU,
14+
but it does work, if somewhat slower. OpenGLU is better.
15+
See the Build Notes section for applicable tesselator configuration options.
16+
17+
18+
b. OpenCPN requires WxWidgets Version 2.8.8 or greater. It has been tested
19+
with the following wxWidgets hosts:
20+
21+
GTK2 (__WXGTK__)
22+
MSWindows (__WXMSW__)
23+
MAC OSx (__WXOSX__)
24+
25+
26+
----------------------------------------------------------------------
27+
3. Platform Specific Build Notes
28+
----------------------------------------------------------------------
29+
30+
31+
32+
33+
------------------------
34+
Build OpenCPN
35+
------------------------
36+
37+
Opencpn uses the cmake system, so...
38+
39+
cd {wherever the opencpn base directory is}
40+
mkdir build
41+
cd build
42+
cmake ../
43+
44+
make
45+
46+
su, <password>
47+
48+
make install
49+
50+
51+
52+
53+
----------------------------------------------------------------------
54+
4. File and Directory Permissions under Linux
55+
----------------------------------------------------------------------
56+
57+
It is sufficient for all other directories in /usr/share/opencpn
58+
to have permissions 0755, i.e. exec/searchable and readable by all.
59+
60+
----------------------------------------------------------------------
61+
5. Support File Locations
62+
----------------------------------------------------------------------
63+
64+
a. Opencpn requires numerous auxiliary data files. These files
65+
are installed by the installer into the following locations by default:
66+
67+
Linux - /usr/local/share/opencpn/
68+
Windows - \Program Files\opencpn\
69+
Mac - /Users/YourUserName/openCPNfiles/
70+
71+
The following directories exist within the above:
72+
.../bitmaps - self evident
73+
.../tcdata - tide and current location data
74+
.../s57data - data files for S57ENC support
75+
.../wvsdata - World Vector Shoreline data
76+
77+
b. Opencpn config files are expected in the following locations:
78+
79+
Linux - ~/.opencpn/opencpn.conf
80+
Windows - \Program Files\opencpn\opencpn.ini
81+
82+
The installer will place nice default files for your use. The first
83+
execution of opencpn will update as needed. If for some reason the
84+
config file is not found, opencpn will offer to create a useable
85+
starting configuration.
86+
87+
88+
----------------------------------------------------------------------
89+
6. Serial Port GPS/AIS Data Input and Autopilot Output
90+
----------------------------------------------------------------------
91+
92+
a. LINUX
93+
Opencpn runs at user privilege. This means that in order to
94+
read GPS input data and/or write autopilot output data, the serial
95+
devices to be used must exhibit read and write permission for the
96+
user in question. For linux, these devices are created at startup.
97+
Typically, the devices as created are owned by root, with additional
98+
specific group (e.g. "uucp") r/w access, i.e. permissions are 0660.
99+
100+
This configuration WILL NOT WORK for OpenCPN unless the user happens
101+
to belong to the group under which the devices were created,
102+
typically "uucp". Not likely...
103+
104+
For the more general case, you must ensure that device permissions
105+
will enable opencpn to read and write serial devices without root
106+
privileges. There are several ways to do this.
107+
108+
On a Linux with udev, check the files in /etc/udev/rules.d to
109+
ensure that /dev/tty* devices are all created with the same group
110+
and with 0666 permissions. More generally, you may need to run mknod
111+
or MAKEDEV as root to create a properly permissioned serial device before
112+
executing opencpn. For example:
113+
114+
linux# mknod -m 666 /dev/ttyS0 c 4 64
115+
116+
If you use USB serial port adapters and your system has the Linux
117+
hotplug facility installed, Todo............
118+
119+
Test your GPS input. At user privilege,
120+
121+
linux$ stty -F /dev/ttyXXX ispeed 4800
122+
linux$ cat </dev/ttyXXX
123+
124+
replace ttyXXX with the filename of the port. This will probably be
125+
either /dev/ttyUSB0 or /dev/ttyS0. When you run this command, you
126+
should see text lines beginning with $ come to stdout (possibly after
127+
a short initial burst of binary garbage). If you don't see this, you
128+
may have OS-level problems with your serial support, but more likely
129+
have the wrong device or permissions. Look again.
130+

README

+1-127
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ a. Opencpn was built with the following objectives in mind.
1212
iii. Those and only those toolbar buttons really needed for
1313
daily operation.
1414
iv. Portability, thus wxWidgets core components. Currently
15-
tested and in production use on W98, XP, OSx, and Linux.
15+
tested and in production use on W98, XP, OS X, and Linux.
1616
v. Conventional ( i.e. popular and modern ) chart format
1717
support. In the real world, this means BSB format raster
1818
charts, and S57ENC format vector charts.
@@ -28,129 +28,3 @@ a. Opencpn was built with the following objectives in mind.
2828
M/V Dyad, a 48 ft trawler yacht cruising from Newfoundland to the
2929
Bahamas yearly.
3030

31-
----------------------------------------------------------------------
32-
2. Library Notes & Requirements
33-
----------------------------------------------------------------------
34-
35-
a. OpenCPN S57 ENC support works best with access to the OpenGL Utility
36-
library GLU. GLU is used to tesselate large polygon areas into small
37-
triangles for faster display rendering. If you cannot use, or do not have
38-
the OpenGL Utility library, you may choose to build OpenCPN with internal
39-
tesselator support. The internal tesselator is sub-optimal compared to GLU,
40-
but it does work, if somewhat slower. OpenGLU is better.
41-
See the Build Notes section for applicable tesselator configuration options.
42-
43-
44-
b. OpenCPN requires WxWidgets Version 2.8.8 or greater. It has been tested
45-
with the following wxWidgets hosts:
46-
47-
GTK2 (__WXGTK__)
48-
MSWindows (__WXMSW__)
49-
MAC OSx (__WXOSX__)
50-
51-
52-
----------------------------------------------------------------------
53-
3. Platform Specific Build Notes
54-
----------------------------------------------------------------------
55-
56-
57-
58-
59-
------------------------
60-
Build OpenCPN
61-
------------------------
62-
63-
Opencpn uses the cmake system, so...
64-
65-
cd {wherever the opencpn base directory is}
66-
mkdir build
67-
cd build
68-
cmake ../
69-
70-
make
71-
72-
su, <password>
73-
74-
make install
75-
76-
77-
78-
79-
----------------------------------------------------------------------
80-
4. File and Directory Permissions under Linux
81-
----------------------------------------------------------------------
82-
83-
It is sufficient for all other directories in /usr/share/opencpn
84-
to have permissions 0755, i.e. exec/searchable and readable by all.
85-
86-
----------------------------------------------------------------------
87-
5. Support File Locations
88-
----------------------------------------------------------------------
89-
90-
a. Opencpn requires numerous auxiliary data files. These files
91-
are installed by the installer into the following locations by default:
92-
93-
Linux - /usr/local/share/opencpn/
94-
Windows - \Program Files\opencpn\
95-
Mac - /Users/YourUserName/openCPNfiles/
96-
97-
The following directories exist within the above:
98-
.../bitmaps - self evident
99-
.../tcdata - tide and current location data
100-
.../s57data - data files for S57ENC support
101-
.../wvsdata - World Vector Shoreline data
102-
103-
b. Opencpn config files are expected in the following locations:
104-
105-
Linux - ~/.opencpn/opencpn.conf
106-
Windows - \Program Files\opencpn\opencpn.ini
107-
108-
The installer will place nice default files for your use. The first
109-
execution of opencpn will update as needed. If for some reason the
110-
config file is not found, opencpn will offer to create a useable
111-
starting configuration.
112-
113-
114-
----------------------------------------------------------------------
115-
6. Serial Port GPS/AIS Data Input and Autopilot Output
116-
----------------------------------------------------------------------
117-
118-
a. LINUX
119-
Opencpn runs at user privilege. This means that in order to
120-
read GPS input data and/or write autopilot output data, the serial
121-
devices to be used must exhibit read and write permission for the
122-
user in question. For linux, these devices are created at startup.
123-
Typically, the devices as created are owned by root, with additional
124-
specific group (e.g. "uucp") r/w access, i.e. permissions are 0660.
125-
126-
This configuration WILL NOT WORK for OpenCPN unless the user happens
127-
to belong to the group under which the devices were created,
128-
typically "uucp". Not likely...
129-
130-
For the more general case, you must ensure that device permissions
131-
will enable opencpn to read and write serial devices without root
132-
privileges. There are several ways to do this.
133-
134-
On a Linux with udev, check the files in /etc/udev/rules.d to
135-
ensure that /dev/tty* devices are all created with the same group
136-
and with 0666 permissions. More generally, you may need to run mknod
137-
or MAKEDEV as root to create a properly permissioned serial device before
138-
executing opencpn. For example:
139-
140-
linux# mknod -m 666 /dev/ttyS0 c 4 64
141-
142-
If you use USB serial port adapters and your system has the Linux
143-
hotplug facility installed, Todo............
144-
145-
Test your GPS input. At user privilege,
146-
147-
linux$ stty -F /dev/ttyXXX ispeed 4800
148-
linux$ cat </dev/ttyXXX
149-
150-
replace ttyXXX with the filename of the port. This will probably be
151-
either /dev/ttyUSB0 or /dev/ttyS0. When you run this command, you
152-
should see text lines beginning with $ come to stdout (possibly after
153-
a short initial burst of binary garbage). If you don't see this, you
154-
may have OS-level problems with your serial support, but more likely
155-
have the wrong device or permissions. Look again.
156-

0 commit comments

Comments
 (0)