9146b87b4
고영탁
엔코더 작업 진행중
|
1
|
#include <QKeyEvent>
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
2
3
4
|
#include "realtimesensorwindow.h"
#include "ui_realtimesensorwindow.h"
#include "ovenstatics.h"
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
5
6
|
#include "stringer.h"
#include "QDateTime"
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
7
|
#include "soundplayer.h"
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
8
|
|
14a73498f
김태훈
소스 코드 정리
|
9
|
RealtimeSensorWindow::RealtimeSensorWindow(QWidget *parent) :
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
10
|
QMainWindow(parent),
|
14a73498f
김태훈
소스 코드 정리
|
11
|
ui(new Ui::RealtimeSensorWindow)
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
12
|
{
|
42410a75c
김태훈
오타 수정
|
13
|
OvenStatistics* ovs = OvenStatistics::getInstance();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
14
|
int i = 0;
|
eea7d3d59
김태훈
Segmentation Faul...
|
15
|
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
16
|
ui->setupUi(this);
|
eea7d3d59
김태훈
Segmentation Faul...
|
17
18
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
19
20
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
21
22
23
24
25
26
27
28
29
|
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;
|
eb617c902
고영탁
고객사 수정 요청
|
30
|
m_arrLbState[0][9] = ui->m_ctrlLbListState_1_10;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
31
32
33
34
35
36
37
38
39
40
|
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;
|
eb617c902
고영탁
고객사 수정 요청
|
41
|
m_arrLbState[1][9] = ui->m_ctrlLbListState_2_10;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
42
43
44
45
46
47
48
49
50
51
|
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;
|
eb617c902
고영탁
고객사 수정 요청
|
52
|
m_arrLbState[2][9] = ui->m_ctrlLbListState_3_10;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
53
54
55
56
57
58
59
60
61
62
|
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;
|
eb617c902
고영탁
고객사 수정 요청
|
63
|
m_arrLbState[3][9] = ui->m_ctrlLbListState_4_10;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
64
65
|
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
|
14a73498f
김태훈
소스 코드 정리
|
66
|
m_arrSensorItems[i] = &(ovs->srvdata->sensor_log.values[m_arrSensorItemIdxs[i]]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
67
68
|
}
reloadUi();
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
69
70
71
|
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()),this,SLOT(oneSecTimerFired()));
timer->start(1000); //1000ms fired
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
72
|
}
|
14a73498f
김태훈
소스 코드 정리
|
73
|
RealtimeSensorWindow::~RealtimeSensorWindow()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
74
|
{
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
75
|
}
|
14a73498f
김태훈
소스 코드 정리
|
76
|
void RealtimeSensorWindow::on_backButton_clicked()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
77
|
{
|
eea7d3d59
김태훈
Segmentation Faul...
|
78
|
close();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
79
80
81
82
|
}
uint16_t i_temp1,i_temp2;
type_temp temp_temp;
|
14a73498f
김태훈
소스 코드 정리
|
83
|
void RealtimeSensorWindow::reloadUi(void){
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
84
|
QString strTemp="";
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
85
|
int i = 0;
|
42410a75c
김태훈
오타 수정
|
86
|
OvenStatistics* ovs = OvenStatistics::getInstance();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
87
88
89
90
91
92
93
|
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
고영탁
설정 기능 구현(엔지니어링 모드...
|
94
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);// strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
95
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
96
97
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp);
else strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
98
99
100
101
102
|
m_arrLbState[0][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
103
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
104
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1)
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
105
106
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.utemp);
else strTemp= Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
107
108
109
110
|
m_arrLbState[1][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
111
|
strTemp = Stringer::temperature(m_arrCriticalValue[i]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
112
113
114
115
116
117
|
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
고영탁
설정 기능 구현(엔지니어링 모드...
|
118
119
120
121
122
|
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);
|
0faa32511
김태훈
컴파일 경고 제거 및 리팩토링
|
123
|
m_arrLbState[3][i]->setText(Stringer::dateTime(dt_tm));
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
124
125
126
127
128
129
130
131
132
133
134
135
|
}
else{
m_arrLbState[3][i]->setText("-");
}
}
}
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
136
137
138
139
|
void RealtimeSensorWindow::oneSecTimerFired(void){
reloadUi();
}
|
9146b87b4
고영탁
엔코더 작업 진행중
|
140
141
142
143
144
|
void RealtimeSensorWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
145
|
case 0x01000032: // Turn left
|
9146b87b4
고영탁
엔코더 작업 진행중
|
146
147
148
149
|
focusPreviousChild();
break;
case 0x01000031: // Push
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
150
|
case 0x01000030: // Turn right
|
9146b87b4
고영탁
엔코더 작업 진행중
|
151
152
153
154
155
156
157
158
159
|
focusNextChild();
break;
}
}
void RealtimeSensorWindow::keyReleaseEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
160
|
case 0x01000032: // Turn left
|
9146b87b4
고영탁
엔코더 작업 진행중
|
161
162
163
164
165
166
167
168
169
170
|
focusPreviousChild();
break;
case 0x01000031: // Push
{
QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
if(btn != NULL){
btn->click();
}
break;
}
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
171
|
case 0x01000030: // Turn right
|
9146b87b4
고영탁
엔코더 작업 진행중
|
172
173
174
175
|
focusNextChild();
break;
}
}
|
91480de3c
고영탁
센서 실시간 데이터 리셋 기능 추가
|
176
177
178
179
180
181
182
|
void RealtimeSensorWindow::on_resetButton_clicked()
{
OvenStatistics* ovs = OvenStatistics::getInstance();
ovs->resetSensorHistory();
reloadUi();
}
|