File: bsrform.cpp

package info (click to toggle)
qsstv 9.5.8-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,928 kB
  • sloc: cpp: 47,579; makefile: 4
file content (89 lines) | stat: -rw-r--r-- 2,129 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "bsrform.h"
#include "ui_bsrform.h"
#include "drmstatusframe.h"
#include "drm.h"

bsrForm::bsrForm(QWidget *parent) :
  QDialog(parent),
  ui(new Ui::bsrForm)
{
  ui->setupUi(this);
  connect(ui->bsrComboBox,SIGNAL(currentIndexChanged(int)),this, SLOT(slotBSRSelection(int)));
  connect(ui->cancelPushButton,SIGNAL(clicked()),this,SLOT(slotCanceled()));
  connect(ui->easypalPushButton,SIGNAL(clicked()),this,SLOT(slotEasypal()));
  connect(ui->compatiblePushButton,SIGNAL(clicked()),this,SLOT(slotCompatible()));

}

bsrForm::~bsrForm()
{
  delete ui;
}

void bsrForm::init()
{
  int i;
  bsrPtr=srcDecoder->getBSR();
  if(bsrPtr->count()==0)
    {
      ui->infoTextEdit->clear();
      ui->infoTextEdit->appendPlainText("No BSR available");
      return;
    }
  for(i=bsrPtr->count()-1;i>=0;i--) //latest first
    {
      ui->bsrComboBox->addItem(bsrPtr->at(i).tbPtr->fileName);
    }
  slotBSRSelection(0);
}

bool bsrForm::hasBSR()
{
  return (bsrPtr->count()>0);
}

QByteArray *bsrForm::getBA(bool compat)
{
  int i;
  i=bsrPtr->count()-1-ui->bsrComboBox->currentIndex();
  if(srcDecoder->storeBSR(bsrPtr->at(i).tbPtr,compat))
    {
      drmParams.robMode=bsrPtr->at(i).tbPtr->robMode;
      drmParams.interleaver=bsrPtr->at(i).tbPtr->interLeaver;
      drmParams.qam=bsrPtr->at(i).tbPtr->mscMode;
      drmParams.protection=bsrPtr->at(i).tbPtr->mpx;
      drmParams.bandwith=bsrPtr->at(i).tbPtr->spectrum;
      return(&bsrPtr->at(i).tbPtr->baBSR);
    }
  return NULL;
}

 void bsrForm::slotBSRSelection(int idx)
{
  int i;
  transportBlock *tbPtr;
  i=bsrPtr->count()-1-idx;
  ui->infoTextEdit->clear();
  tbPtr=bsrPtr->at(i).tbPtr;
  ui->infoTextEdit->appendPlainText(tbPtr->callsign);
  ui->infoTextEdit->appendPlainText("Segments received: "+QString::number(tbPtr->segmentsReceived));
  ui->infoTextEdit->appendPlainText("Total Segments: "+QString::number(tbPtr->totalSegments));
  ui->infoTextEdit->appendPlainText(modeToString(tbPtr->modeCode));
}

void bsrForm::slotCanceled()
{
  done(CANCEL);
}



void bsrForm::slotEasypal()
{
  done(EASYPAL);
}

void bsrForm::slotCompatible()
{
  done (COMPAT);
}