##// END OF EJS Templates
Last comit before installation on pc-coillot
Last comit before installation on pc-coillot

File last commit:

r50:47b677d190ee default
r50:47b677d190ee default
Show More
parameterdump.cpp
471 lines | 19.2 KiB | text/x-c | CppLexer
#include "parameterdump.h"
ParameterDump::ParameterDump(QWidget *parent) :
QWidget(parent)
{
this->buildTabParameterDump();
packetToSend = new TCPacketToSend();
this->setLayout(layout_parameterDump);
}
void ParameterDump::buildTabParameterDump()
{
buildCOMM();
buildNORM();
buildBURST();
buildSBM1();
buildSBM2();
buildActions();
layout_parameterDump = new QGridLayout();
layout_parameterDump->addWidget(groupbox_COMM, 0, 0, 1, 1);
layout_parameterDump->addWidget(groupbox_NORM, 0, 1, 1, 1);
layout_parameterDump->addWidget(groupbox_BURST, 1, 0, 1, 1);
layout_parameterDump->addWidget(groupbox_ACTIONS, 1, 1, 1, 1);
layout_parameterDump->addWidget(groupbox_SBM1,2 , 0, 1, 1);
layout_parameterDump->addWidget(groupbox_SBM2, 2, 1, 1, 1);
layout_parameterDump->setRowStretch(3, 1);
layout_parameterDump->setColumnStretch(2, 1);
layout_parameterDump->setRowStretch(3, 1);
layout_parameterDump->setColumnStretch(2, 1);
}
void ParameterDump::buildCOMM()
{
groupbox_COMM = new QGroupBox(tr("COMMON_PAR"));
layout_COMM = new QGridLayout();
sy_lfr_bw = new QLabel("sy_lfr_bw ");
sy_lfr_sp0 = new QLabel("sy_lfr_sp0 ");
sy_lfr_sp1 = new QLabel("sy_lfr_sp1 ");
sy_lfr_r0 = new QLabel("sy_lfr_r0 ");
sy_lfr_r1 = new QLabel("sy_lfr_r1 ");
spinbox_sy_lfr_bw = new QSpinBox();
spinbox_sy_lfr_sp0 = new QSpinBox();
spinbox_sy_lfr_sp1 = new QSpinBox();
spinbox_sy_lfr_r0 = new QSpinBox();
spinbox_sy_lfr_r1 = new QSpinBox();
spinbox_sy_lfr_bw->setRange(0, 1);
spinbox_sy_lfr_sp0->setRange(0, 1);
spinbox_sy_lfr_sp1->setRange(0, 1);
spinbox_sy_lfr_r0->setRange(0, 1);
spinbox_sy_lfr_r1->setRange(0, 1);
spinbox_sy_lfr_bw->setValue(1);
spinbox_sy_lfr_sp0->setValue(0);
spinbox_sy_lfr_sp1->setValue(0);
spinbox_sy_lfr_r0->setValue(0);
spinbox_sy_lfr_r1->setValue(0);
layout_COMM->addWidget(sy_lfr_bw, 0, 0, 1, 1);
layout_COMM->addWidget(sy_lfr_sp0, 1, 0, 1, 1);
layout_COMM->addWidget(sy_lfr_sp1, 2, 0, 1, 1);
layout_COMM->addWidget(sy_lfr_r0, 3, 0, 1, 1);
layout_COMM->addWidget(sy_lfr_r1, 4, 0, 1, 1);
layout_COMM->addWidget(spinbox_sy_lfr_bw, 0, 1, 1, 1);
layout_COMM->addWidget(spinbox_sy_lfr_sp0, 1, 1, 1, 1);
layout_COMM->addWidget(spinbox_sy_lfr_sp1, 2, 1, 1, 1);
layout_COMM->addWidget(spinbox_sy_lfr_r0, 3, 1, 1, 1);
layout_COMM->addWidget(spinbox_sy_lfr_r1, 4, 1, 1, 1);
layout_COMM->setColumnStretch(2, 1);
layout_COMM->setRowStretch(5, 1);
groupbox_COMM->setLayout(layout_COMM);
}
void ParameterDump::buildNORM()
{
groupbox_NORM = new QGroupBox(tr("NORMAL_PAR"));
layout_NORM = new QGridLayout();
sy_lfr_n_swf_l = new QLabel("sy_lfr_n_swf_l ");
sy_lfr_n_swf_p = new QLabel("sy_lfr_n_swf_p ");
sy_lfr_n_asm_p = new QLabel("sy_lfr_n_asm_p ");
sy_lfr_n_bp_p0 = new QLabel("sy_lfr_n_bp_p0 ");
sy_lfr_n_bp_p1 = new QLabel("sy_lfr_n_bp_p1 ");
spinbox_sy_lfr_n_swf_l = new QSpinBox();
spinbox_sy_lfr_n_swf_p = new QSpinBox();
spinbox_sy_lfr_n_asm_p = new QSpinBox();
spinbox_sy_lfr_n_bp_p0 = new QSpinBox();
spinbox_sy_lfr_n_bp_p1 = new QSpinBox();
spinbox_sy_lfr_n_swf_l->setRange(256, 65535);
spinbox_sy_lfr_n_swf_p->setRange(16, 65535);
spinbox_sy_lfr_n_asm_p->setRange(2, 65535);
spinbox_sy_lfr_n_bp_p0->setRange(4, 255);
spinbox_sy_lfr_n_bp_p1->setRange(20, 255);
spinbox_sy_lfr_n_swf_l->setValue(2048);
spinbox_sy_lfr_n_swf_p->setValue(300);
spinbox_sy_lfr_n_asm_p->setValue(3600);
spinbox_sy_lfr_n_bp_p0->setValue(4);
spinbox_sy_lfr_n_bp_p1->setValue(20);
layout_NORM->addWidget(sy_lfr_n_swf_l, 0, 0, 1, 1);
layout_NORM->addWidget(sy_lfr_n_swf_p, 1, 0, 1, 1);
layout_NORM->addWidget(sy_lfr_n_asm_p, 2, 0, 1, 1);
layout_NORM->addWidget(sy_lfr_n_bp_p0, 3, 0, 1, 1);
layout_NORM->addWidget(sy_lfr_n_bp_p1, 4, 0, 1, 1);
layout_NORM->addWidget(spinbox_sy_lfr_n_swf_l, 0, 1, 1, 1);
layout_NORM->addWidget(spinbox_sy_lfr_n_swf_p, 1, 1, 1, 1);
layout_NORM->addWidget(spinbox_sy_lfr_n_asm_p, 2, 1, 1, 1);
layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p0, 3, 1, 1, 1);
layout_NORM->addWidget(spinbox_sy_lfr_n_bp_p1, 4, 1, 1, 1);
layout_NORM->setColumnStretch(2, 1);
layout_NORM->setRowStretch(5, 1);
groupbox_NORM->setLayout(layout_NORM);
}
void ParameterDump::buildBURST()
{
groupbox_BURST = new QGroupBox(tr("BURST_PAR"));
layout_BURST = new QGridLayout();
sy_lfr_b_bp_p0 = new QLabel("sy_lfr_b_bp_p0 ");
sy_lfr_b_bp_p1 = new QLabel("sy_lfr_b_bp_p1 ");
spinbox_sy_lfr_b_bp_p0 = new QSpinBox();
spinbox_sy_lfr_b_bp_p1 = new QSpinBox();
spinbox_sy_lfr_b_bp_p0->setRange(1, 255);
spinbox_sy_lfr_b_bp_p1->setRange(5, 255);
layout_BURST->addWidget(sy_lfr_b_bp_p0, 0, 0, 1, 1);
layout_BURST->addWidget(sy_lfr_b_bp_p1, 1, 0, 1, 1);
layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p0, 0, 1, 1, 1);
layout_BURST->addWidget(spinbox_sy_lfr_b_bp_p1, 1, 1, 1, 1);
layout_BURST->setColumnStretch(2, 1);
layout_BURST->setRowStretch(3, 1);
groupbox_BURST->setLayout(layout_BURST);
}
void ParameterDump::buildSBM1()
{
groupbox_SBM1 = new QGroupBox(tr("SBM1_PAR"));
layout_SBM1 = new QGridLayout();
sy_lfr_s1_bp_p0 = new QLabel("sy_lfr_s1_bp_p0 ");
sy_lfr_s1_bp_p1 = new QLabel("sy_lfr_s1_bp_p1 ");
spinbox_sy_lfr_s1_bp_p0 = new QDoubleSpinBox();
spinbox_sy_lfr_s1_bp_p1 = new QSpinBox();
spinbox_sy_lfr_s1_bp_p0->setRange(0.25, 0.25*256);
spinbox_sy_lfr_b_bp_p0->setValue(0.25);
spinbox_sy_lfr_s1_bp_p1->setRange(1, 255);
spinbox_sy_lfr_b_bp_p1->setValue(1);
layout_SBM1->addWidget(sy_lfr_s1_bp_p0, 0, 0, 1, 1);
layout_SBM1->addWidget(sy_lfr_s1_bp_p1, 1, 0, 1, 1);
layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p0, 0, 1, 1, 1);
layout_SBM1->addWidget(spinbox_sy_lfr_s1_bp_p1, 1, 1, 1, 1);
layout_SBM1->setColumnStretch(2, 1);
layout_SBM1->setRowStretch(3, 1);
groupbox_SBM1->setLayout(layout_SBM1);
}
void ParameterDump::buildSBM2()
{
groupbox_SBM2 = new QGroupBox(tr("SBM2_PAR"));
layout_SBM2 = new QGridLayout();
sy_lfr_s2_bp_p0 = new QLabel("sy_lfr_s2_bp_p0 ");
sy_lfr_s2_bp_p1 = new QLabel("sy_lfr_s2_bp_p1 ");
spinbox_sy_lfr_s2_bp_p0 = new QSpinBox();
spinbox_sy_lfr_s2_bp_p1 = new QSpinBox();
spinbox_sy_lfr_s2_bp_p0->setRange(1, 255);
spinbox_sy_lfr_s2_bp_p1->setRange(5, 255);
layout_SBM2->addWidget(sy_lfr_s2_bp_p0, 0, 0, 1, 1);
layout_SBM2->addWidget(sy_lfr_s2_bp_p1, 1, 0, 1, 1);
layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p0, 0, 1, 1, 1);
layout_SBM2->addWidget(spinbox_sy_lfr_s2_bp_p1, 1, 1, 1, 1);
layout_SBM2->setColumnStretch(2, 1);
layout_SBM2->setRowStretch(3, 1);
groupbox_SBM2->setLayout(layout_SBM2);
}
void ParameterDump::buildActions()
{
groupbox_ACTIONS = new QGroupBox(tr("LOAD / DUMP"));
layout_ACTIONS = new QGridLayout;
button_loadCommon = new QPushButton(tr("LOAD_COMM"));
button_loadNormal = new QPushButton(tr("LOAD_NORM"));
button_loadBurst = new QPushButton(tr("LOAD_BURST"));
button_loadSBM1 = new QPushButton(tr("LOAD_SBM1"));
button_loadSBM2 = new QPushButton(tr("LOAD_SBM2"));
button_parameterDump = new QPushButton(tr("DUMP_PAR"));
button_loadCommon->setEnabled(false);
button_loadNormal->setEnabled(false);
button_loadBurst->setEnabled(false);
button_loadSBM1->setEnabled(false);
button_loadSBM2->setEnabled(false);
button_parameterDump->setEnabled(false);
layout_ACTIONS->addWidget(button_loadCommon, 0, 0, 1, 1);
layout_ACTIONS->addWidget(button_loadNormal, 0, 1, 1, 1);
layout_ACTIONS->addWidget(button_loadBurst, 1, 0, 1, 1);
layout_ACTIONS->addWidget(button_parameterDump, 1, 1, 1, 1);
layout_ACTIONS->addWidget(button_loadSBM1, 2, 0, 1, 1);
layout_ACTIONS->addWidget(button_loadSBM2, 2, 1, 1, 1);
groupbox_ACTIONS->setLayout(layout_ACTIONS);
connect(this->button_parameterDump, SIGNAL(clicked()), this, SLOT(sendParameterDump()));
connect(this->button_loadCommon, SIGNAL(clicked()), this, SLOT(sendLoadCommon()));
connect(this->button_loadNormal, SIGNAL(clicked()), this, SLOT(sendLoadNormal()));
connect(this->button_loadBurst, SIGNAL(clicked()), this, SLOT(sendLoadBurst()));
connect(this->button_loadSBM1, SIGNAL(clicked()), this, SLOT(sendLoadSBM1()));
connect(this->button_loadSBM2, SIGNAL(clicked()), this, SLOT(sendLoadSBM2()));
}
void ParameterDump::updateParameterDump(TMPacketToRead *tmPacketToRead)
{
Packet_TM_LFR_PARAMETER_DUMP_t *parameterPacket;
parameterPacket = (Packet_TM_LFR_PARAMETER_DUMP_t *) tmPacketToRead->Value;
// COMMON
spinbox_sy_lfr_bw->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x10 ) >> 4 );
spinbox_sy_lfr_sp0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x08 ) >> 3 );
spinbox_sy_lfr_sp1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x04 ) >> 2 );
spinbox_sy_lfr_r0->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x02 ) >> 1 );
spinbox_sy_lfr_r1->setValue( (parameterPacket->bw_sp0_sp1_r0_r1 & 0x01 ) );
// NORMAL
spinbox_sy_lfr_n_swf_l->setValue(parameterPacket->sy_lfr_n_swf_l[0] * 256
+ parameterPacket->sy_lfr_n_swf_l[1]);
spinbox_sy_lfr_n_swf_p->setValue(parameterPacket->sy_lfr_n_swf_p[0] * 256
+ parameterPacket->sy_lfr_n_swf_p[1]);
spinbox_sy_lfr_n_asm_p->setValue(parameterPacket->sy_lfr_n_asm_p[0] * 256
+ parameterPacket->sy_lfr_n_asm_p[1]);
spinbox_sy_lfr_n_bp_p0->setValue(parameterPacket->sy_lfr_n_bp_p0);
spinbox_sy_lfr_n_bp_p1->setValue(parameterPacket->sy_lfr_n_bp_p1);
// BURST
spinbox_sy_lfr_b_bp_p0->setValue(parameterPacket->sy_lfr_b_bp_p0);
spinbox_sy_lfr_b_bp_p1->setValue(parameterPacket->sy_lfr_b_bp_p1);
// SBM1
spinbox_sy_lfr_s1_bp_p0->setValue(parameterPacket->sy_lfr_s1_bp_p0);
spinbox_sy_lfr_s1_bp_p1->setValue(parameterPacket->sy_lfr_s1_bp_p1);
// SBM2
spinbox_sy_lfr_s2_bp_p0->setValue(parameterPacket->sy_lfr_s2_bp_p0);
spinbox_sy_lfr_s2_bp_p1->setValue(parameterPacket->sy_lfr_s2_bp_p1);
}
void ParameterDump::sendParameterDump()
{
Packet_TC_LFR_DUMP_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_DUMP_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = 0x19;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_DUMP;
packet.sourceID = SID_DEFAULT;
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_DUMP_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::sendLoadCommon()
{
Packet_TC_LFR_LOAD_COMMON_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_LOAD_COMMON_PAR;
packet.sourceID = SID_DEFAULT;
packet.spare = TC_LFR_LOAD_COMMON_PAR_SPARE;
packet.bw_sp0_sp1_r0_r1 = (spinbox_sy_lfr_bw->value() << 4)
+ (spinbox_sy_lfr_sp0->value() << 3)
+ (spinbox_sy_lfr_sp1->value() << 2)
+ (spinbox_sy_lfr_r0->value() << 1)
+ (spinbox_sy_lfr_r1->value() );
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_COMMON_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::sendLoadNormal()
{
Packet_TC_LFR_LOAD_NORMAL_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_LOAD_NORMAL_PAR;
packet.sourceID = SID_DEFAULT;
packet.sy_lfr_n_swf_l[0] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() >> 8);
packet.sy_lfr_n_swf_l[1] = (unsigned char) (spinbox_sy_lfr_n_swf_l->value() );
packet.sy_lfr_n_swf_p[0] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() >> 8);
packet.sy_lfr_n_swf_p[1] = (unsigned char) (spinbox_sy_lfr_n_swf_p->value() );
packet.sy_lfr_n_asm_p[0] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() >> 8);
packet.sy_lfr_n_asm_p[1] = (unsigned char) (spinbox_sy_lfr_n_asm_p->value() );
packet.sy_lfr_n_bp_p0 = (unsigned char) (spinbox_sy_lfr_n_bp_p0->value() );
packet.sy_lfr_n_bp_p1 = (unsigned char) (spinbox_sy_lfr_n_bp_p1->value() );
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_NORMAL_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::sendLoadBurst()
{
Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_LOAD_BURST_PAR;
packet.sourceID = SID_DEFAULT;
packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_b_bp_p0->value() );
packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_b_bp_p1->value() );
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_BURST_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::sendLoadSBM1()
{
Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_LOAD_SBM1_PAR;
packet.sourceID = SID_DEFAULT;
packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s1_bp_p0->value() );
packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s1_bp_p1->value() );
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM1_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::sendLoadSBM2()
{
Packet_TC_LFR_LOAD_BURST_SBM1_SBM2_PAR_t packet;
unsigned char crcAsTwoBytes[2];
packet.packetID[0] = (unsigned char) (TC_LFR_PACKET_ID >> 8);
packet.packetID[1] = (unsigned char) (TC_LFR_PACKET_ID );
packet.packetSequenceControl[0] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL >> 8);
packet.packetSequenceControl[1] = (unsigned char) (TC_LFR_PACKET_SEQUENCE_CONTROL );
packet.packetLength[0] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR >> 8);
packet.packetLength[1] = (unsigned char) (PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR );
packet.ccsdsSecHeaderFlag_pusVersion_ack = TC_LFR_DATA_FIELD_HEADER0;
packet.serviceType = TC_TYPE_DEFAULT;
packet.serviceSubType = TC_SUBTYPE_LOAD_SBM2_PAR;
packet.sourceID = SID_DEFAULT;
packet.sy_lfr_bp_p0 = (unsigned char) (spinbox_sy_lfr_s2_bp_p0->value() );
packet.sy_lfr_bp_p1 = (unsigned char) (spinbox_sy_lfr_s2_bp_p1->value() );
packetToSend->GetCRCAsTwoBytes((unsigned char*) &packet, crcAsTwoBytes,
PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET - 2);
packet.crc[0] = crcAsTwoBytes[0];
packet.crc[1] = crcAsTwoBytes[1];
emit WriteSPWSig((char*) &packet, PACKET_LENGTH_TC_LFR_LOAD_SBM2_PAR + CCSDS_TC_TM_PACKET_OFFSET,
CCSDS_NODE_ADDRESS, CCSDS_USER_APP);
}
void ParameterDump::actionsSetEnabled(bool state)
{
button_parameterDump->setEnabled(state);
button_loadCommon->setEnabled(state);
button_loadNormal->setEnabled(state);
button_loadBurst->setEnabled(state);
button_loadSBM1->setEnabled(state);
button_loadSBM2->setEnabled(state);
}
void ParameterDump::GetCRCAsTwoBytes(unsigned char* data, unsigned char* crcAsTwoBytes, unsigned int sizeOfData)
{
packetToSend->GetCRCAsTwoBytes( data, crcAsTwoBytes, sizeOfData );
}