realtimesensorwindow.cpp 4.52 KB
#include "realtimesensorwindow.h"
#include "ui_realtimesensorwindow.h"
#include "ovenstatics.h"

RealtimeSensorWindow::RealtimeSensorWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::RealtimeSensorWindow)
{
    OvenStatistics* ovs = OvenStatistics::getInstance();
    int i = 0;
    ui->setupUi(this);

    m_arrLbState[0][0] = ui->m_ctrlLbListState_1_1;
    m_arrLbState[0][1] = ui->m_ctrlLbListState_1_2;
    m_arrLbState[0][2] = ui->m_ctrlLbListState_1_3;
    m_arrLbState[0][3] = ui->m_ctrlLbListState_1_4;
    m_arrLbState[0][4] = ui->m_ctrlLbListState_1_5;
    m_arrLbState[0][5] = ui->m_ctrlLbListState_1_6;
    m_arrLbState[0][6] = ui->m_ctrlLbListState_1_7;
    m_arrLbState[0][7] = ui->m_ctrlLbListState_1_8;
    m_arrLbState[0][8] = ui->m_ctrlLbListState_1_9;

    m_arrLbState[1][0] = ui->m_ctrlLbListState_2_1;
    m_arrLbState[1][1] = ui->m_ctrlLbListState_2_2;
    m_arrLbState[1][2] = ui->m_ctrlLbListState_2_3;
    m_arrLbState[1][3] = ui->m_ctrlLbListState_2_4;
    m_arrLbState[1][4] = ui->m_ctrlLbListState_2_5;
    m_arrLbState[1][5] = ui->m_ctrlLbListState_2_6;
    m_arrLbState[1][6] = ui->m_ctrlLbListState_2_7;
    m_arrLbState[1][7] = ui->m_ctrlLbListState_2_8;
    m_arrLbState[1][8] = ui->m_ctrlLbListState_2_9;

    m_arrLbState[2][0] = ui->m_ctrlLbListState_3_1;
    m_arrLbState[2][1] = ui->m_ctrlLbListState_3_2;
    m_arrLbState[2][2] = ui->m_ctrlLbListState_3_3;
    m_arrLbState[2][3] = ui->m_ctrlLbListState_3_4;
    m_arrLbState[2][4] = ui->m_ctrlLbListState_3_5;
    m_arrLbState[2][5] = ui->m_ctrlLbListState_3_6;
    m_arrLbState[2][6] = ui->m_ctrlLbListState_3_7;
    m_arrLbState[2][7] = ui->m_ctrlLbListState_3_8;
    m_arrLbState[2][8] = ui->m_ctrlLbListState_3_9;

    m_arrLbState[3][0] = ui->m_ctrlLbListState_4_1;
    m_arrLbState[3][1] = ui->m_ctrlLbListState_4_2;
    m_arrLbState[3][2] = ui->m_ctrlLbListState_4_3;
    m_arrLbState[3][3] = ui->m_ctrlLbListState_4_4;
    m_arrLbState[3][4] = ui->m_ctrlLbListState_4_5;
    m_arrLbState[3][5] = ui->m_ctrlLbListState_4_6;
    m_arrLbState[3][6] = ui->m_ctrlLbListState_4_7;
    m_arrLbState[3][7] = ui->m_ctrlLbListState_4_8;
    m_arrLbState[3][8] = ui->m_ctrlLbListState_4_9;

    for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
        m_arrSensorItems[i] = &(ovs->srvdata->sensor_log.values[m_arrSensorItemIdxs[i]]);
    }
    reloadUi();
}

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

void RealtimeSensorWindow::on_backButton_clicked()
{
    deleteLater();
}

uint16_t i_temp1,i_temp2;
type_temp temp_temp;

void RealtimeSensorWindow::reloadUi(void){
    char strTime[64];
    QString strTemp="";
    struct tm *timeptr;
    int i = 0;
    OvenStatistics* ovs = OvenStatistics::getInstance();
    if(ovs!= NULL){
        for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
            i_temp1 = i;
            i_temp2 = ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]);
            temp_temp = ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]);

            if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 )
                    strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);
            else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1 )
                    strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp);
            else  strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp);
            m_arrLbState[0][i]->setText(strTemp);
        }

        for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
            if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 )
                    strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.itemp/10);
            else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1)
                    strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.utemp);
            else  strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.itemp);
            m_arrLbState[1][i]->setText(strTemp);
        }

        for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
            strTemp.sprintf("%d℃", m_arrCriticalValue[i]);
            m_arrLbState[2][i]->setText(strTemp);
        }


        for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
            if(m_arrSensorItems[i]->last_high_time !=0){
                timeptr = localtime(&(m_arrSensorItems[i]->last_high_time));
                strftime(strTime,64,"%y-%m-%d\n%H:%M:%S",timeptr);
                m_arrLbState[3][i]->setText(strTime);
            }
            else{
                m_arrLbState[3][i]->setText("-");
            }
        }




    }

}