|
|
/*------------------------------------------------------------------------------
|
|
|
-- This file is a part of the SocExplorer Software
|
|
|
-- Copyright (C) 2014, Plasma Physics Laboratory - CNRS
|
|
|
--
|
|
|
-- This program is free software; you can redistribute it and/or modify
|
|
|
-- 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.
|
|
|
--
|
|
|
-- This program is distributed in the hope that it will be useful,
|
|
|
-- 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.
|
|
|
--
|
|
|
-- You should have received a copy of the GNU General Public License
|
|
|
-- along with this program; if not, write to the Free Software
|
|
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
-------------------------------------------------------------------------------*/
|
|
|
/*-- Author : Alexis Jeandet
|
|
|
-- Mail : alexis.jeandet@member.fsf.org
|
|
|
----------------------------------------------------------------------------*/
|
|
|
#ifndef spwplugin_H
|
|
|
#define spwplugin_H
|
|
|
#include <QMenuBar>
|
|
|
#include <QMenu>
|
|
|
#include <QAction>
|
|
|
#include <QLayout>
|
|
|
#include <QGroupBox>
|
|
|
#include <QComboBox>
|
|
|
#include <QLabel>
|
|
|
#include <QTabWidget>
|
|
|
|
|
|
#include <abstractspwbridge.h>
|
|
|
#include <socexplorerplugin.h>
|
|
|
|
|
|
#include "SpwTcpPacketServer/spwtcppacketserver.h"
|
|
|
|
|
|
// TODO switch to a class factory approach with self registration
|
|
|
|
|
|
class spwplugin : public socexplorerplugin
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
public:
|
|
|
explicit spwplugin(QWidget *parent = 0);
|
|
|
~spwplugin();
|
|
|
/* You can implement the folowing function if you want to overwrite
|
|
|
* their default behavior
|
|
|
*/
|
|
|
/*
|
|
|
int registermenu(QMainWindow *menuHolder);
|
|
|
int isConnected();
|
|
|
int connect();
|
|
|
int VID(){return driver_VID;}
|
|
|
int PID(){return driver_PID;}
|
|
|
*/
|
|
|
|
|
|
public slots:
|
|
|
unsigned int Write(unsigned int *Value,unsigned int count, unsigned int address=0);
|
|
|
unsigned int Read(unsigned int *Value,unsigned int count, unsigned int address=0);
|
|
|
|
|
|
void bridgeSelectionChanged( const QString & text );
|
|
|
void selectBridge( const QString & text );
|
|
|
void setConnected(bool connected);
|
|
|
|
|
|
signals:
|
|
|
// void selectBridge(const QString &bridgeName);
|
|
|
bool connectBridge();
|
|
|
bool disconnectBridge();
|
|
|
void StarDundeeSelectBrick(int brickIndex);
|
|
|
void StarDundeeSelectLinkNumber(int linkIndex);
|
|
|
void StarDundeeSelectLinkSpeed(int linkSpeed);
|
|
|
void StarDundeeSetSourceAddress(const QString & destKey);
|
|
|
void StarDundeeSetDestinationAddress(const QString & address);
|
|
|
void StarDundeeSetDestinationKey(const QString & key);
|
|
|
void StarDundeeSetRmapTimeout(const QString & timeout);
|
|
|
int StarDundeeGetAvailableBrickCount();
|
|
|
unsigned int StarDundeeGetNbPacketsTransmittedToSpw( void );
|
|
|
unsigned int StarDundeeGetNbCCSDSPacketsTransmittedToSpw( void );
|
|
|
int StarDundeeGetLinkNumber();
|
|
|
void StarDundeeSetBrickAsAninterface( bool );
|
|
|
void StarDundeeSetBrickAsARouter( bool );
|
|
|
void StarDundeeSetTimecodeFrequency( double );
|
|
|
void StarDundeeStartTimecodes( bool );
|
|
|
void StarDundeeSendOneTimecode( unsigned char timecode );
|
|
|
|
|
|
void TCPServerConnect();
|
|
|
void TCPServerDisconnect();
|
|
|
void TCPServerSetPort(qint32 port);
|
|
|
void TCPServerSetIP(QString ip);
|
|
|
|
|
|
private:
|
|
|
SpwTcpPacketServer* tcpServer;
|
|
|
abstractSpwBridge* bridge;
|
|
|
bool scanDone;
|
|
|
QTabWidget* mainTabWidgt;
|
|
|
QGroupBox* mainGroupBox;
|
|
|
QComboBox* bridgeSelector;
|
|
|
QGridLayout* mainLayout;
|
|
|
|
|
|
};
|
|
|
|
|
|
#endif // spwplugin_H
|
|
|
|
|
|
|