MOOS 0.2375
/home/toby/moos-ivp/MOOS-2375-Oct0611/Instruments/Ocean/iActuation/MOOSJRKerrDriver.h
Go to the documentation of this file.
00001 
00002 //
00003 //   MOOS - Mission Oriented Operating Suite
00004 //
00005 //   A suit of Applications and Libraries for Mobile Robotics Research
00006 //   Copyright (C) 2001-2005 Massachusetts Institute of Technology and
00007 //   Oxford University.
00008 //
00009 //   This software was written by Paul Newman and others
00010 //   at MIT 2001-2002 and Oxford University 2003-2005.
00011 //   email: pnewman@robots.ox.ac.uk.
00012 //
00013 //   This file is part of a  MOOS Instrument.
00014 //
00015 //   This program is free software; you can redistribute it and/or
00016 //   modify it under the terms of the GNU General Public License as
00017 //   published by the Free Software Foundation; either version 2 of the
00018 //   License, or (at your option) any later version.
00019 //
00020 //   This program is distributed in the hope that it will be useful,
00021 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
00022 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00023 //   General Public License for more details.
00024 //
00025 //   You should have received a copy of the GNU General Public License
00026 //   along with this program; if not, write to the Free Software
00027 //   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00028 //   02111-1307, USA.
00029 //
00031 // MOOSJRKerrDriver.h: interface for the CMOOSJRKerrDriver class.
00032 //
00034 
00035 #if _MSC_VER > 1000
00036 #pragma once
00037 #endif // _MSC_VER > 1000
00038 
00039 #include <MOOSGenLib/MOOSGenLib.h>
00040 #include "MOOSActuationDriver.h"
00041 
00042 class CMOOSJRKerrDriver : public CMOOSActuationDriver
00043 {
00044 public:
00045     CMOOSJRKerrDriver();
00046     virtual ~CMOOSJRKerrDriver();
00047 
00048 
00049     virtual bool Initialise();
00050     virtual bool SetThrust(double dfPercent);
00051     virtual bool SetRudder(double dfAng);
00052     virtual bool SetElevator(double dfAng);
00053     virtual bool SetZeroRudder();
00054     virtual bool SetZeroElevator();
00055 
00056 
00057 
00058 protected:
00059     bool m_bMoveDone;
00060     string m_sLogFileName;
00061     double m_dfRudder;
00062     double m_dfKerrRudderOffset;
00063     double m_dfElevator;
00064     double m_dfKerrElevatorOffset;
00065 
00066     bool SendCmd(int addr, int cmd, const char *data);
00067     bool DoPositionMove(int position, int velocity, int acceleration, int address);
00068     void TraceKerrMessage(const char * pMsg,int nLen);
00069     bool LogPosition();
00070     bool SyncLog();
00071     double GetRPM();
00072 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines