valvetestwindow.cpp 2.47 KB
#include "valvetestwindow.h"
#include "ui_valvetestwindow.h"

ValveTestWindow::ValveTestWindow(QWidget *parent, UdpHandler *udp) :
    QMainWindow(parent),
    ui(new Ui::ValveTestWindow), udp(udp)
{
    ui->setupUi(this);
    ui->clockContainer->setParent(ui->upperStack);
    connect(udp, SIGNAL(changed()), this, SLOT(onDataChanged()));

    udp->set(TG_OVEN_MODE, 4);
    udp->turnOn(TG_SYSTEM);
    udp->turnOn(TG_MANUAL_RELAY);

    onDataChanged();
}

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

void ValveTestWindow::onDataChanged()
{
    if (udp->ssv())
        ui->steamValveButton->setText("STOP");
    else
        ui->steamValveButton->setText("START");

    if (udp->dp())
        ui->steamPumpButton->setText("STOP");
    else
        ui->steamPumpButton->setText("START");

    if (udp->qnv())
        ui->quenchingValveButton->setText("STOP");
    else
        ui->quenchingValveButton->setText("START");

    if (udp->snv())
        ui->sideValveButton->setText("STOP");
    else
        ui->sideValveButton->setText("START");

    oven_state_t oven;
    udp->fillData(oven);

    QString buf;
    ui->c2->setText(buf.sprintf("%d℃", oven.sensor2));
}

void ValveTestWindow::on_steamValveButton_clicked()
{
    if (udp->ssv())
        steamValveClose();
    else
        steamValveOpen();
}

void ValveTestWindow::on_steamPumpButton_clicked()
{
    if (udp->dp())
        steamPumpOff();
    else
        steamPumpOn();
}

void ValveTestWindow::on_quenchingValveButton_clicked()
{
    if (udp->qnv())
        quenchingValveClose();
    else
        quenchingValveOpen();
}

void ValveTestWindow::on_sideValveButton_clicked()
{
    if (udp->snv())
        sideValveClose();
    else
        sideValveOpen();
}

void ValveTestWindow::on_backButton_clicked()
{
    steamValveClose();
    steamPumpOff();
    quenchingValveClose();
    sideValveClose();

    udp->turnOff(TG_MANUAL_RELAY);
    udp->turnOff(TG_SYSTEM);

    deleteLater();
}

void ValveTestWindow::steamValveOpen()
{
    udp->turnOn(TG_SSV);
}

void ValveTestWindow::steamValveClose()
{
    udp->turnOff(TG_SSV);
}

void ValveTestWindow::steamPumpOn()
{
    udp->turnOn(TG_DP);
}

void ValveTestWindow::steamPumpOff()
{
    udp->turnOff(TG_DP);
}

void ValveTestWindow::quenchingValveOpen()
{
    udp->turnOn(TG_QNV);
}

void ValveTestWindow::quenchingValveClose()
{
    udp->turnOff(TG_QNV);
}

void ValveTestWindow::sideValveOpen()
{
    udp->turnOn(TG_SNV);
}

void ValveTestWindow::sideValveClose()
{
    udp->turnOff(TG_SNV);
}