OpenCores
URL https://opencores.org/ocsvn/modular_oscilloscope/modular_oscilloscope/trunk

Subversion Repositories modular_oscilloscope

[/] [modular_oscilloscope/] [trunk/] [sw/] [src/] [widgetboardtools.cpp] - Blame information for rev 60

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 60 budinero
#include "widgetboardtools.h"
2
#include "ui_widgetboardtools.h"
3
 
4
WidgetBoardTools::WidgetBoardTools(QWidget *parent)
5
    : QWidget(parent), ui(new Ui::WidgetBoardTools)
6
{
7
    maxBufferSize = 1000;
8
    minBufferSize = 20;
9
    scaleBits = 5;
10
    sampleRate = 20e6;
11
    timeDivitions = 10;
12
    hSamplesNumber = 200;
13
 
14
    ui->setupUi(this);
15
    fillTriggerCombo();
16
    fillTriggerSlope();
17
    on_bufferSlider_valueChanged(1000);
18
    setUpMaxValues();
19
 
20
 
21
 
22
 
23
}
24
 
25
WidgetBoardTools::~WidgetBoardTools()
26
{
27
    delete ui;
28
}
29
 
30
 
31
 
32
void WidgetBoardTools::fillTriggerCombo()
33
{
34
    ui->trigSouceCombo->clear();
35
    if (ui->channelABox->isChecked() == true)
36
    {
37
        ui->trigSouceCombo->addItem("A");
38
    }
39
    if (ui->channelBBox->isChecked() == true)
40
    {
41
        ui->trigSouceCombo->addItem("B");
42
    }
43
}
44
 
45
void WidgetBoardTools::fillTriggerSlope()
46
{
47
    ui->trigSlopeCombo->addItem(QIcon(":/images/rising.png"),"Rising");
48
    ui->trigSlopeCombo->addItem(QIcon(":/images/falling.png"),"Falling");
49
}
50
 
51
 
52
void WidgetBoardTools::setUpMaxValues()
53
{
54
 
55
    ui->bufferSpinBox->setMaximum(maxBufferSize);
56
//    ui->bufferSlider->setMaximum(maxBufferSize);
57
    ui->bufferSpinBox->setMinimum(minBufferSize);
58
//    ui->bufferSlider->setMinimum(minBufferSize);
59
 
60
    float timePositions = 2^scaleBits;
61
    float period = 1/sampleRate;
62
    float positionValue;
63
    float maxPositionValue;
64
    int samplesPerDiv = hSamplesNumber/timeDivitions;
65
    positionValue = period*samplesPerDiv;
66
    maxPositionValue = period*samplesPerDiv*timePositions;
67
    ui->timeScaleSpinBox->setDecimals(9);
68
    ui->timeScaleSpinBox->setMaximum(timeDivitions*positionValue*timePositions);
69
    ui->timeScaleSpinBox->setMinimum(0);
70
    ui->timeScaleSpinBox->setSingleStep(positionValue);
71
 
72
//    ui->timeScaleKnob->Qwt
73
//
74
//  TickType {
75
//   NoTick = -1,
76
//   MinorTick,
77
//   MediumTick,
78
//   MajorTick,
79
//   NTickTypes
80
// }
81
 
82
}
83
 
84
void WidgetBoardTools::on_bufferSlider_valueChanged(int value)
85
{
86
    ui->trigOffsetSlider->setMaximum(value - 1);
87
    ui->triggerOffsetSpinBox->setMaximum(value - 1);
88
    ui->trigOffsetSlider->setMinimum(-value);
89
    ui->triggerOffsetSpinBox->setMinimum(-value);
90
    ui->triggerOffsetSpinBox->setValue(0);
91
}
92
 
93
 
94
 
95
void WidgetBoardTools::on_runButton_clicked(bool checked)
96
{
97
    if (checked == true)
98
        ui->runButton->setText(tr("Stop"));
99
    else
100
        ui->runButton->setText(tr("Start"));
101
 
102
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.