gresb.h
115 lines
| 3.7 KiB
| text/x-c
|
CLexer
r69 | #ifndef GRESB_H | |||
#define GRESB_H | ||||
#include <QWidget> | ||||
#include <QLabel> | ||||
#include <QPushButton> | ||||
#include <QSpinBox> | ||||
#include <QGridLayout> | ||||
#include <QTcpSocket> | ||||
#include <QDialog> | ||||
#include <QSemaphore> | ||||
#include <QSettings> | ||||
#include "gresbstatusenquiry.h" | ||||
#include "rmapoperations.h" | ||||
#include "qipdialogbox.h" | ||||
#include "ccsds.h" | ||||
#include "tmpackettoread.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); | ||||
void readSettings(); | ||||
void writeSettings(); | ||||
unsigned int storeCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size); | ||||
gresbStatusEnquiry* spwLinkStatusEnquiry; | ||||
signals: | ||||
void sendMessage(QString message); | ||||
void sendPacket(TMPacketToRead*); | ||||
void isOpen(bool); | ||||
void RMAP_write_reply_setText(QString); | ||||
void appendToLog(QString); | ||||
public slots: | ||||
bool Open(); | ||||
void Close(); | ||||
int receiveSPWPacketLoop(unsigned char requestID=0); | ||||
int receiveSPWPacket(unsigned char requestID=0); | ||||
void commandCodeHasChanged(RMAP_command_codes code) {this->commandCode = code;} | ||||
void targetHasChanged(int target) {rmapTargetLogicalAddress = (unsigned char) target;} | ||||
void sourceHasChanged(int source) {rmapSourceLogicalAddress = (unsigned char) source;} | ||||
void ccsdsPacketIsProcessed() {ccsdsPacketSEMAPHORE->tryAcquire();} | ||||
void reTestSPWLink(); | ||||
// | ||||
void RMAPSendConnectionState(QAbstractSocket::SocketState socketState); | ||||
void RMAPReceiveConnectionState(QAbstractSocket::SocketState socketState); | ||||
void GRESBConnectionState(QAbstractSocket::SocketState socketState); | ||||
// | ||||
void setIP(unsigned char address1, unsigned char address2, unsigned char address3, unsigned char address4) | ||||
{this->gresbBridgeIPDialogBox->setIP(address1, address2, address3, address4);} | ||||
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->tryAcquire();} | ||||
void acquireCCSDSSemaphore() {ccsdsPacketSEMAPHORE->tryAcquire();} | ||||
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 *rmapSendStateLabel; | ||||
QLabel *rmapReceiveStateLabel; | ||||
QLabel *gresbStatusQueryLabel; | ||||
QLabel *gresbStatusQueryDialogLabel; | ||||
QDialog *gresbStatusQueryDialog; | ||||
QIPDialogBox* gresbBridgeIPDialogBox; | ||||
unsigned char gresbBridgeIP0; | ||||
unsigned char gresbBridgeIP1; | ||||
unsigned char gresbBridgeIP2; | ||||
unsigned char gresbBridgeIP3; | ||||
QSpinBox *gresbVirtualLinkSpinBox; | ||||
QSpinBox *spwLinkSpinBox; | ||||
QGridLayout *connectionLayout; | ||||
QGridLayout *gresbStatusQueryDialogLayout; | ||||
QTcpSocket *RMAPSend_SOCKET; | ||||
QTcpSocket *RMAPReceive_SOCKET; | ||||
QTcpSocket *GRESBStatusQuery_SOCKET; | ||||
// 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 | ||||