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
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
61
|
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
김태훈
소스 코드 정리
|
62
|
m_arrSensorItems[i] = &(ovs->srvdata->sensor_log.values[m_arrSensorItemIdxs[i]]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
63
64
|
}
reloadUi();
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
65
66
67
|
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()),this,SLOT(oneSecTimerFired()));
timer->start(1000); //1000ms fired
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
68
|
}
|
14a73498f
김태훈
소스 코드 정리
|
69
|
RealtimeSensorWindow::~RealtimeSensorWindow()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
70
|
{
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
71
|
}
|
14a73498f
김태훈
소스 코드 정리
|
72
|
void RealtimeSensorWindow::on_backButton_clicked()
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
73
|
{
|
eea7d3d59
김태훈
Segmentation Faul...
|
74
|
close();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
75
76
77
78
|
}
uint16_t i_temp1,i_temp2;
type_temp temp_temp;
|
14a73498f
김태훈
소스 코드 정리
|
79
|
void RealtimeSensorWindow::reloadUi(void){
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
80
81
82
83
|
char strTime[64];
QString strTemp="";
struct tm *timeptr;
int i = 0;
|
42410a75c
김태훈
오타 수정
|
84
|
OvenStatistics* ovs = OvenStatistics::getInstance();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
85
86
87
88
89
90
91
|
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
고영탁
설정 기능 구현(엔지니어링 모드...
|
92
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);// strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
93
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
94
95
|
strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp);
else strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
96
97
98
99
100
|
m_arrLbState[0][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 )
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
101
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp/10);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
102
|
else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1)
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
103
104
|
strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.utemp);
else strTemp= Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
105
106
107
108
|
m_arrLbState[1][i]->setText(strTemp);
}
for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
109
|
strTemp = Stringer::temperature(m_arrCriticalValue[i]);
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
110
111
112
113
114
115
|
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
고영탁
설정 기능 구현(엔지니어링 모드...
|
116
117
118
119
120
121
|
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차 구현
|
122
123
124
125
126
127
128
129
130
131
132
133
|
}
else{
m_arrLbState[3][i]->setText("-");
}
}
}
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
134
135
136
137
|
void RealtimeSensorWindow::oneSecTimerFired(void){
reloadUi();
}
|
9146b87b4
고영탁
엔코더 작업 진행중
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
void RealtimeSensorWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
case 0x01000030: // Turn left
focusPreviousChild();
break;
case 0x01000031: // Push
break;
case 0x01000032: // Turn right
focusNextChild();
break;
}
}
void RealtimeSensorWindow::keyReleaseEvent(QKeyEvent *event)
{
switch (event->key())
{
case 0x01000030: // Turn left
focusPreviousChild();
break;
case 0x01000031: // Push
{
QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
if(btn != NULL){
btn->click();
}
break;
}
case 0x01000032: // Turn right
focusNextChild();
break;
}
}
|