##// END OF EJS Templates
Removed APBUartPlugin bug (when switching between debug and non debug link)....
Removed APBUartPlugin bug (when switching between debug and non debug link). Added APBUart Python wrapper.

File last commit:

r25:8fdbbdd7a3a4 default
r34:ccd56e93ef09 default
Show More
spwplugin.cpp
166 lines | 6.5 KiB | text/x-c | CppLexer
First init /!\ outdated spwplugin!
r0 /*------------------------------------------------------------------------------
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 -- This file is a part of the SocExplorer Software
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 -- Copyright (C) 2014, Plasma Physics Laboratory - CNRS
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 --
-- 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
First init /!\ outdated spwplugin!
r0 -------------------------------------------------------------------------------*/
/*-- Author : Alexis Jeandet
-- Mail : alexis.jeandet@member.fsf.org
----------------------------------------------------------------------------*/
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8
First init /!\ outdated spwplugin!
r0 #include "spwplugin.h"
#include "stardundeespw_usb.h"
Jeandet Alexis
Started GR-ESB driver.
r22 #include "gr_esb_bridge.h"
Jeandet Alexis
Sync
r7 #include <socexplorerproxy.h>
Added stop function to dsu3plugin...
r14 #include "spwpywrapper.h"
Jeandet Alexis
Sync
r18
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25
Added stop function to dsu3plugin...
r14 spwplugin::spwplugin(QWidget *parent):socexplorerplugin(parent,false)
First init /!\ outdated spwplugin!
r0 {
Q_UNUSED(parent)
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 this->bridge = NULL;
Jeandet Alexis
Sync
r7 this->scanDone = false;
Added stop function to dsu3plugin...
r14 this->pyObject = new spwPyWrapper(this);
Jeandet Alexis
Sync
r18 this->tcpServer = new SpwTcpPacketServer(this);
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 this->mainGroupBox = new QGroupBox("SpaceWire Plugin Configuration",this);
this->bridgeSelector = new QComboBox(this);
Jeandet Alexis
Sync
r18 this->mainTabWidgt = new QTabWidget(this);
Sync
r19 this->mainTabWidgt->addTab(this->mainGroupBox,"Bridge Configuration");
this->mainTabWidgt->addTab(this->tcpServer,"TCP Server");
Jeandet Alexis
Now RMAP write uses Transaction ID and waits for ack.
r16 this->mainLayout = new QGridLayout(this->mainGroupBox);
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 this->mainLayout->addWidget(new QLabel("Select SpaceWire bridge",this),0,0,1,1,Qt::AlignCenter);
this->mainLayout->addWidget(this->bridgeSelector,0,1,1,1);
Sync
r19 this->setWidget(this->mainTabWidgt);
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 this->bridgeSelector->addItem("none");
this->bridgeSelector->addItem("STAR-Dundee Spw USB Brick");
Jeandet Alexis
Started GR-ESB driver.
r22 this->bridgeSelector->addItem("GR-ESB");
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 connect(this->bridgeSelector,SIGNAL(currentIndexChanged(QString)),this,SLOT(bridgeSelectionChanged(QString)));
Jeandet Alexis
Sync
r15 connect(((spwPyWrapper*)this->pyObject),SIGNAL(selectBridge(QString)),this,SLOT(selectBridge(QString)));
Jeandet Alexis
Sync
r20 connect(((spwPyWrapper*)this->pyObject),SIGNAL(TCPServerConnect()),this->tcpServer,SLOT(connectServer()));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(TCPServerDisconnect()),this->tcpServer,SLOT(disconnectServer()));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(TCPServerSetPort(qint32)),this->tcpServer,SLOT(setServerPort(qint32)));
Sync
r21 connect(((spwPyWrapper*)this->pyObject),SIGNAL(TCPServerSetIP(QString)),this->tcpServer,SLOT(setServerSetIP(QString)));
First init /!\ outdated spwplugin!
r0 }
spwplugin::~spwplugin()
{
}
unsigned int spwplugin::Read(unsigned int *Value,unsigned int count,unsigned int address)
{
if(Connected)
{
return bridge->Read(Value,count,address);
}
return 0;
}
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 void spwplugin::bridgeSelectionChanged(const QString &text)
{
printf("test");
if(text=="none")
{
if(this->bridge!=NULL)
{
this->mainLayout->removeWidget(this->bridge->getGUI());
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 this->disconnect(this,SLOT(setConnected(bool)));
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 delete this->bridge;
this->bridge= NULL;
}
}
if(text=="STAR-Dundee Spw USB Brick")
{
if(this->bridge!=NULL)
{
this->mainLayout->removeWidget(this->bridge->getGUI());
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 this->disconnect(this,SLOT(setConnected(bool)));
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 delete this->bridge;
}
this->bridge = new stardundeeSPW_USB(this);
this->mainLayout->addWidget(this->bridge->getGUI(),1,0,1,2);
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 connect(this->bridge,SIGNAL(setConnected(bool)),this,SLOT(setConnected(bool)));
Added stop function to dsu3plugin...
r14 connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSelectBrick(int)),((stardundeeSPW_USB*)bridge),SIGNAL(SelectBrick(int)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSelectLinkNumber(int)),((stardundeeSPW_USB*)bridge),SIGNAL(SelectLinkNumber(int)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSelectLinkSpeed(int)),((stardundeeSPW_USB*)bridge),SIGNAL(SelectLinkSpeed(int)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSetDestinationKey(QString)),((stardundeeSPW_USB*)bridge),SIGNAL(SetDestinationKey(QString)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSetRmapAddress(QString)),((stardundeeSPW_USB*)bridge),SIGNAL(SetRmapAddress(QString)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSetRmapKey(QString)),((stardundeeSPW_USB*)bridge),SIGNAL(SetRmapKey(QString)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(StarDundeeSetRmapTimeout(QString)),((stardundeeSPW_USB*)bridge),SIGNAL(SetRmapTimeout(QString)));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(connectBridge()),((stardundeeSPW_USB*)bridge),SLOT(connectBridge()));
connect(((spwPyWrapper*)this->pyObject),SIGNAL(disconnectBridge()),((stardundeeSPW_USB*)bridge),SLOT(disconnectBridge()));
Jeandet Alexis
Started GR-ESB driver.
r22 connect(this->bridge,SIGNAL(pushPacketOverTCP(char*,int)),this->tcpServer,SLOT(pushPacket(char*,int)));
}
if(text=="GR-ESB")
{
if(this->bridge!=NULL)
{
this->mainLayout->removeWidget(this->bridge->getGUI());
this->disconnect(this,SLOT(setConnected(bool)));
delete this->bridge;
}
this->bridge = new GR_ESB_bridge(this);
this->mainLayout->addWidget(this->bridge->getGUI(),1,0,1,2);
connect(this->bridge,SIGNAL(setConnected(bool)),this,SLOT(setConnected(bool)));
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8 }
Jeandet Alexis
Sync
r20 }
Jeandet Alexis
Space wire plugin GUI Work In Progress.
r8
Jeandet Alexis
Sync
r15 void spwplugin::selectBridge(const QString &text)
{
if(text=="none")
{
this->bridgeSelector->setCurrentIndex(0);
}
if(text=="STAR-Dundee Spw USB Brick")
{
this->bridgeSelector->setCurrentIndex(1);
}
}
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 void spwplugin::setConnected(bool connected)
{
Jeandet Alexis
STAR-Dundee USB Brick driver ready for testing.
r12 this->bridgeSelector->setDisabled(connected);
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 this->Connected = connected;
emit activateSig(connected);
Added stop function to dsu3plugin...
r14 if(!this->scanDone)
{
socexplorerproxy::loadChildSysDriver(this,"AMBA_PLUGIN");
this->scanDone=true;
}
Jeandet Alexis
Added disconnection auto-detection to the spacewire plugin.
r11 }
Jeandet Alexis
Sync
r7
First init /!\ outdated spwplugin!
r0 unsigned int spwplugin::Write(unsigned int *Value,unsigned int count, unsigned int address)
{
if(Connected)
{
return bridge->Write(Value,count,address);
}
return 0;
}