##// 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
gr_esb_bridge.h
88 lines | 2.0 KiB | text/x-c | CLexer
Jeandet Alexis
Started GR-ESB driver.
r22 #ifndef GR_ESB_BRIDGE_H
#define GR_ESB_BRIDGE_H
#include "abstractspwbridge.h"
Jeandet Alexis
Sync
r23 #include <QTcpSocket>
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25 #include <QThread>
#include <QMutex>
#include <QSemaphore>
Jeandet Alexis
Started GR-ESB driver.
r22
Jeandet Alexis
Sync
r24 struct gresb_Conf_str
{
qint32 Read_port;
qint32 Write_port;
};
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25
Jeandet Alexis
Sync
r24 const struct gresb_Conf_str gresb_Conf[]=
{
{3000,3001}, //Virtual link 0
{3002,3003}, //Virtual link 1
{3004,3005}, //Virtual link 2
{3006,3007}, //Virtual link 3
{3008,3009}, //Virtual link 4
{3010,3011} //Virtual link 5
};
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25
class GR_ESB_Manager: public QThread
{
Q_OBJECT
public:
explicit GR_ESB_Manager(socexplorerplugin *plugin = 0,QObject* parent=0);
~GR_ESB_Manager();
void run();
bool connectBridge();
bool disconnectBridge();
int getRMAPtransactionID();
int getRMAPanswer(int transactionID,char** buffer);
bool sendPacket(char* packet,int size);
signals:
void emitPacket(char* packet,int size);
private:
QMutex* handleMutex,*RMAP_AnswersMtx,*RMAP_pending_transaction_IDsMtx;
QSemaphore* RMAP_AnswersSem;
void pushRmapPacket(char* packet,int len);
socexplorerplugin* plugin;
bool connected;
char* SPWPacketBuff;
QList<RMAP_Answer*> RMAP_Answers;
QList<int> RMAP_pending_transaction_IDs;
public:
QTcpSocket* Read_soc;
QTcpSocket* Write_soc;
QString IP;
int virtualLinkIndex;
int RMAPtimeout;
};
Jeandet Alexis
Started GR-ESB driver.
r22 class GR_ESB_bridge : public abstractSpwBridge
{
Q_OBJECT
public:
explicit GR_ESB_bridge(socexplorerplugin *parent = 0);
Jeandet Alexis
Sync
r23 ~GR_ESB_bridge();
Jeandet Alexis
Started GR-ESB driver.
r22 signals:
public slots:
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25 void toggleBridgeConnection();
Jeandet Alexis
Started GR-ESB driver.
r22 bool connectBridge();
bool disconnectBridge();
Jeandet Alexis
Sync
r24 void setIP(QString ip);
void setVirtualLink(QString vlink);
void setVirtualLink(qint32 vlink);
Jeandet Alexis
Started GR-ESB driver.
r22 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);
int pushRMAPPacket(char* packet,int size);
Jeandet Alexis
Sync
r23 void packetReceived();
Jeandet Alexis
Started GR-ESB driver.
r22
Jeandet Alexis
Sync
r24 private:
Jeandet Alexis
Some work on GRESB driver for spwplugin.
r25
GR_ESB_Manager* manager;
Jeandet Alexis
Started GR-ESB driver.
r22
};
#endif // GR_ESB_BRIDGE_H