1) Install dependency packages assuming ubuntu derivative.
sudo apt-get update sudo apt-get install build-essential freeglut3-dev libboost-all-dev xterm libtiff4-dev libpng12-dev libgsl0-dev subversion bzr cmake-curses-gui libxft-dev libxinerama-dev fluid default-jre libblas-dev gpsd
2) Downloads:
cd ~/svn co https://mv-ezproxy-com.ezproxyberklee.flo.org/svn/moos-ivp-aro/releases/moos-ivp-13.2 moos-ivp cd ~/ bzr co lp:goby cd goby sudo ./DEPENDENCIES debian cd ~/ svn checkout https://hovergroup.googlecode.com/svn/trunk/third-party third-party svn checkout https://hovergroup.googlecode.com/svn/trunk/ivp-extend hovergroup-extend
3) Build:
export CXX='/usr/local/lib/distcc/arm-linux-gnueabi-g++-4.4' export CC='/usr/local/lib/distcc/arm-linux-gnueabi-gcc-4.4' export DISTCC_HOSTS=192.168.1.4 export DISTCC_POTENTIAL_HOSTS=192.168.1.4 cd ~/moos-ivp/MOOS/MOOSCore cmake -D DISABLE_NAMES_LOOKUP=ON -D USE_ASYNC_COMMS=ON . make -j2 cd ../MOOSEssentials cmake . make -j2 cd ../MOOSGeodesy cmake . make -j2 cd ../MOOSToolsUI cmake -D BUILD_GRAPHICAL_TOOLS=OFF . pump make -j2 cd ~/moos-ivp/ivp/src cmake -D IVP_BUILD_GUI_CODE=OFF . pump make -j2 cd ~/goby cmake -D build_apps=OFF . make -j2 cd ~/hovergroup-extend/trunk cmake . make -j2 cd ~/hovergroup-extend/josh cmake . make -j2
4) Remove hotplug scripts for gpsd and configure for autostart
sudo update-rc.d gpsd remove more stuff here.
5) Configure by editing the /etc/ntp.conf configuration file with the following lines: (this information should also be avilable on the gpsd man page)
server 127.127.28.0 minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.420 refid GPS server 127.127.28.1 minpoll 4 maxpoll 4 prefer fudge 127.127.28.1 refid GPS1
The first line just uses serial data from the gps while the second adds information from the pps line. The "0.420" is an offset to try to correct for delays in the serial comms. Restart the ntp service and verify functionality.
/etc/init.d/ntp restart ntpq -p
asdflj
Testing gpsd:
For debugging purposes gpsd can be run in the foreground with:
gpsd -nN -D9 /dev/ttyUSB0
The -n flag is needed to provide ntpd with updates even when a client isn't connected. Drop the -N flag to start in the background.