##// END OF EJS Templates
changes on the gresb class, object ready for usage in the rmapplugin
changes on the gresb class, object ready for usage in the rmapplugin

File last commit:

r7:7c1589fec151 default
r7:7c1589fec151 default
Show More
gresb.h
99 lines | 3.0 KiB | text/x-c | CLexer
#ifndef GRESB_H
#define GRESB_H
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QSpinBox>
#include <QGridLayout>
#include <QTcpSocket>
#include <QDialog>
#include <QSemaphore>
#include "gresbstatusenquiry.h"
#include "spwpacketreceiver.h"
#include "rmapoperations.h"
#include "qipdialogbox.h"
class gresb : public QWidget
{
Q_OBJECT
public:
explicit gresb(QWidget *parent = 0);
~gresb();
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);
unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
//unsigned int getLinkStatus(unsigned char link);
signals:
void sendMessage(QString message);
void isOpen(bool);
void RMAP_write_reply_setText(QString);
void appendToLog(QString);
void ccsdsPacketAvailable(unsigned char*, unsigned int);
public slots:
void Open();
void Close();
int receiveSPWPacket(unsigned char requestID=0);
void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;}
void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;}
void sourceHasChanged(int target) {rmapSourceLogicalAddress = (unsigned char) target;}
private slots:
int GRESBStatusQuery();
private:
unsigned int WriteBLOCK(char *data,unsigned int nbBytes,unsigned int address=0);
unsigned int ReadBLOCK(unsigned int nbBytes,unsigned int address=0);
void acquireRMAPSemaphore() {rmapPacketSEMAPHORE->acquire();}
void acquireCCSDSSemaphore() {ccsdsPacketSEMAPHORE->acquire();}
int GRESBStatusQueryRequest(GresbStatusQueryOption option, char link);
unsigned char rmapTargetLogicalAddress ;
unsigned char rmapSourceLogicalAddress ;
RMAP_command_codes commandCode;
QPushButton *gresbStatusQueryRetryButton;
QPushButton *gresbStatusQueryAbortButton;
QLabel *gresbBridgeIPLabel;
QLabel *gresbVirtualLinkLabel;
QLabel *spwLinkLabel;
QLabel *rmapSourceLogicalAddressLabel;
QLabel *rmapSendStateLabel;
QLabel *rmapReceiveStateLabel;
QLabel *gresbStatusQueryLabel;
QLabel *gresbStatusQueryDialogLabel;
QDialog *gresbStatusQueryDialog;
QIPDialogBox* gresbBridgeIPDialogBox;
QSpinBox *gresbVirtualLinkSpinBox;
QSpinBox *spwLinkSpinBox;
QSpinBox *rmapSourceLogicalAddressSpinBox;
QGridLayout *connectionLayout;
QGridLayout *gresbStatusQueryDialogLayout;
QTcpSocket *RMAPSend_SOCKET;
QTcpSocket *RMAPReceive_SOCKET;
QTcpSocket *GRESBStatusQuery_SOCKET;
gresbStatusEnquiry* spwLinkStatusEnquiry;
// Packet receiver
QSemaphore *rmapPacketSEMAPHORE;
QSemaphore *ccsdsPacketSEMAPHORE;
char* rmapPacket; // The buffer to receive RMAP READ packets
unsigned char *ccsdsPacket;
char *spwPacket;
unsigned int rmapPacketSize;
unsigned int ccsdsPacketSize;
};
#endif // GRESB_H