##// END OF EJS Templates
plugin updated, TM packet store reworked to store any TM continuously...
plugin updated, TM packet store reworked to store any TM continuously test done in NORMAL mode

File last commit:

r13:482a184909ef default
r13:482a184909ef default
Show More
rmapplugin.h
93 lines | 3.8 KiB | text/x-c | CLexer
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0 /*------------------------------------------------------------------------------
-- This file is a part of the LPPMON Software
-- Copyright (C) 2011, Laboratory of Plasmas Physic - 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@lpp.polytechnique.fr
----------------------------------------------------------------------------*/
#ifndef DRIVER1_H
#define DRIVER1_H
#include <rmappluginui.h>
#include <rmapoperations.h>
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QMainWindow>
#include <QTcpSocket>
#include <QTime>
#include <ccsds.h>
#include <QSemaphore>
#include <lppmonplugin.h>
#define APPENDTOLOG(message) this->UI->appendToLogFile(QTime::currentTime().toString() +":" + QString::number(QTime::currentTime().msec()) + ": " + message)
#define READ_WRITE_MAX_COUNTS 4096 // in words
#define RMAP_MAX_DATA_LENGTH 4*READ_WRITE_MAX_COUNTS // in bytes, shall be lower than the limit size of SPW packet of the GRESB bridge
#define RMAP_READ_REPLY_HEADER_LENGTH 12 // in bytes => ECSS
#define RMAP_READ_COMMAND_HEADER_LENGTH 16 // in bytes => ECSS
#define RMAP_DATA_CRC_LENGTH 1 // in bytes => ECSS
#define CCSDS_MAX_PACKET_LENGTH 4412 // in bytes, specified in the LFR Software Requirements Specification
class rmapplugin : public lppmonplugin
{
Q_OBJECT
public:
explicit rmapplugin(QWidget *parent = 0);
~rmapplugin();
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);
class gresb fully functional, writeSPW function not tested yet
r9 unsigned int WriteSPW(char *Value, unsigned int count, char targetLogicalAddress, char userApplication);
Plugin modified to allow the launch of interactiv tests from the python interpreter...
r11 void setValueTargetAddress(unsigned char newAddress);
void setValueSourceAddress(unsigned char newAddress);
class gresb fully functional, writeSPW function not tested yet
r9 void openBridge();
void closeBridge();
the two bridges, Star Dundee and GRESB are fully functional
r10 void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size);
Plugin modified to allow the launch of interactiv tests from the python interpreter...
r11 void processPacketStore();
plugin updated, TM packet store reworked to store any TM continuously...
r13 void updatePacketStore(selectedBridge bridge);
Last commit before installation on pc-alison
r12 int fetchPacket();
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0 //
void sendCCSDS();
void send_TC_LFR_UPDATE_TIME();
void reset_TC_LFR_UPDATE_TIME();
Minor updates
r3 void displayOnConsole(QString message) {this->UI->console->append(message);}
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0 //
paul@pc-solar1.lab-lpp.local
First version with the Star Dundee bridge operational
r1 void RMAP_write_reply_setText(QString text);
void appendToLog(QString text);
class gresb fully functional, writeSPW function not tested yet
r9 //
void activatePlugin(bool flag) {emit activateSig(flag);}
Minor updates
r3 void bridgeHasChanged(selectedBridge bridge) {currentBridge = bridge;}
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0
signals:
the two bridges, Star Dundee and GRESB are fully functional
r10 void ccsdsPacketIsProcessed();
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0
private:
paul@pc-solar1.lab-lpp.local
First version with the Star Dundee bridge operational
r1 selectedBridge currentBridge;
Initial commit: rmapplugin fully operational with the GRESB Ethernet/SpaceWire bridge.
r0 rmapPluginUI* UI;
QTcpSocket* GRESBStatusQuery_SOCKET;
QTcpSocket* RMAPSend_SOCKET;
QTcpSocket* RMAPReceive_SOCKET;
ccsds* ccsds_command;
unsigned int rmapPacketSize;
unsigned int time_COARSE;
unsigned int time_FINE;
char timeCode;
};
#endif // DRIVER1_H