Skip to content
Snippets Groups Projects
SerialLinkInterface.h 2.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • pixhawk's avatar
    pixhawk committed
    /*=====================================================================
    
    pixhawk's avatar
    pixhawk committed
    
    QGroundControl Open Source Ground Control Station
    
    (c) 2009 - 2011 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
    
    This file is part of the QGROUNDCONTROL project
    
        QGROUNDCONTROL is free software: you can redistribute it and/or modify
    
    pixhawk's avatar
    pixhawk committed
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
    
    pixhawk's avatar
    pixhawk committed
    
        QGROUNDCONTROL is distributed in the hope that it will be useful,
    
    pixhawk's avatar
    pixhawk committed
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
    
    pixhawk's avatar
    pixhawk committed
    
    
    pixhawk's avatar
    pixhawk committed
        You should have received a copy of the GNU General Public License
    
    pixhawk's avatar
    pixhawk committed
        along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
    
    
    pixhawk's avatar
    pixhawk committed
    ======================================================================*/
     
    /**
     * @file
     *   @brief Brief Description
     *
     *   @author Lorenz Meier <mavteam@student.ethz.ch>
     *
     */
    
    #ifndef SERIALLINKINTERFACE_H_
    #define SERIALLINKINTERFACE_H_
    
    #include <QObject>
    #include <QString>
    #include <qextserialport.h>
    #include <LinkInterface.h>
    
    class SerialLinkInterface : public LinkInterface {
    	Q_OBJECT
    
    public:
    	virtual QString getPortName() = 0;
    	virtual int getBaudRate() = 0;
    	virtual int getBaudRateType() = 0;
    	virtual int getFlowType() = 0;
    	virtual int getParityType() = 0;
    	virtual int getDataBitsType() = 0;
    	virtual int getStopBitsType() = 0;
    
    public slots:
    	virtual bool setPortName(QString portName) = 0;
    	virtual bool setBaudRate(int rate) = 0;
    	virtual bool setBaudRateType(int rateIndex) = 0;
    	virtual bool setFlowType(int flow) = 0;
    	virtual bool setParityType(int parity) = 0;
    	virtual bool setDataBitsType(int dataBits) = 0;
    	virtual bool setStopBitsType(int stopBits) = 0;
    
            virtual void loadSettings() = 0;
            virtual void writeSettings() = 0;
    
    pixhawk's avatar
    pixhawk committed
    
    };
    
    
    /* Declare C++ interface as Qt interface */
    //Q_DECLARE_INTERFACE(SerialLinkInterface, "org.openground.comm.links.SerialLinkInterface/1.0")
    
    #endif // SERIALLINKINTERFACE_H_