6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
1
2
3
|
#include "realtimesensorwindow.h"
#include "ui_realtimesensorwindow.h"
#include "ovenstatics.h"
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
4
5
|
#include "stringer.h"
#include "QDateTime"
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
6
|
#include "soundplayer.h"
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
7
|
|
14a73498f
김태훈
소스 코드 정리
|
8
|
RealtimeSensorWindow::RealtimeSensorWindow(QWidget *parent) :
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
9
|
QMainWindow(parent),
|
14a73498f
김태훈
소스 코드 정리
|
10
|
ui(new Ui::RealtimeSensorWindow)
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
11
|
{
|
42410a75c
김태훈
오타 수정
|
12
|
OvenStatistics* ovs = OvenStatistics::getInstance();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
13
|
int i = 0;
|
eea7d3d59
김태훈
Segmentation Faul...
|
14
|
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
15
|
ui->setupUi(this);
|
eea7d3d59
김태훈
Segmentation Faul...
|
16
17
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
18
19
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
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
|
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++){
|
14a73498f
김태훈
소스 코드 정리
|
61
|
m_arrSensorItems[i] = &(ovs->srvdata->sensor_log.values[m_arrSensorItemIdxs[i]]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
62
63
|
}
reloadUi();
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
64
65
66
|
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()),this,SLOT(oneSecTimerFired()));
timer->start(1000); //1000ms fired
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
67
|
}
|
14a73498f
김태훈
소스 코드 정리
|
68
|
RealtimeSensorWindow::~RealtimeSensorWindow()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
69
|
{
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
70
|
}
|
14a73498f
김태훈
소스 코드 정리
|
71
|
void RealtimeSensorWindow::on_backButton_clicked()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
72
|
{
|
eea7d3d59
김태훈
Segmentation Faul...
|
73
|
close();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
74
75
76
77
|
}
uint16_t i_temp1,i_temp2;
type_temp temp_temp;
|
14a73498f
김태훈
소스 코드 정리
|
78
|
void RealtimeSensorWindow::reloadUi(void){
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
79
80
81
82
|
char strTime[64];
QString strTemp="";
struct tm *timeptr;
int i = 0;
|
42410a75c
김태훈
오타 수정
|
83
|
OvenStatistics* ovs = OvenStatistics::getInstance();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
84
85
86
87
88
89
90
|
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 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
91
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);// strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
92
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
93
94
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp);
else strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
95
96
97
98
99
|
m_arrLbState[0][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
100
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
101
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1)
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
102
103
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.utemp);
else strTemp= Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
104
105
106
107
|
m_arrLbState[1][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
108
|
strTemp = Stringer::temperature(m_arrCriticalValue[i]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
109
110
111
112
113
114
|
m_arrLbState[2][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
if(m_arrSensorItems[i]->last_high_time !=0){
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
115
116
117
118
119
120
|
QDateTime dt_tm;
dt_tm.setTime_t(m_arrSensorItems[i]->last_high_time);
//timeptr = localtime(&(m_arrSensorItems[i]->last_high_time));
//strftime(strTime,64,"%y-%m-%d
%H:%M:%S",timeptr);
m_arrLbState[3][i]->setText(Stringer::DateTimeString(dt_tm));
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
121
122
123
124
125
126
127
128
129
130
131
132
|
}
else{
m_arrLbState[3][i]->setText("-");
}
}
}
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
133
134
135
136
|
void RealtimeSensorWindow::oneSecTimerFired(void){
reloadUi();
}
|