652e9cd54
고영탁
Merge
|
1
2
3
4
5
|
#ifndef OVENSTATICS_H
#define OVENSTATICS_H
#include <QObject>
#include <time.h>
|
cefd483e4
고영탁
에러 수정
|
6
|
#include <qmap.h>
|
cf0ca80f6
김태훈
app_oven_control를...
|
7
|
#include "../../app-prime-modbus/include/all_share.h"
|
652e9cd54
고영탁
Merge
|
8
9
|
#include "udphandler.h"
#include "oven.h"
|
14a73498f
김태훈
소스 코드 정리
|
10
|
#include "servicedata.h"
|
20fcaaf68
고영탁
에러 마스크 별도 적용
|
11
|
#include "config.h"
|
652e9cd54
고영탁
Merge
|
12
|
|
20fcaaf68
고영탁
에러 마스크 별도 적용
|
13
14
|
#define MAX_MODEL_COUNT 12
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
15
|
#define SYS_STATE_MAX 4
|
652e9cd54
고영탁
Merge
|
16
|
|
652e9cd54
고영탁
Merge
|
17
|
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
18
|
#define SYS_ERR_MAX 10
|
652e9cd54
고영탁
Merge
|
19
|
|
29a9d2966
고영탁
에러 전체 활성화
|
20
21
|
#define SYS_ERROR_MASK 0x03ff
#define COMM_ERROR_MASK 0x001f
|
81c6fca05
고영탁
고객사 요청 에러 예외 사항 추가
|
22
|
#define SENSOR_ERROR_MASK 0x0213
|
65aaca7a6
고영탁
GUI V0.3.2
|
23
|
#define STATE_ERROR_MASK 0x0018
|
9e48a5d01
고영탁
에러 체크 해제
|
24
|
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
25
26
27
28
29
30
31
|
#define SYS_ERR_MASK_ERR_CLEAR_COOKING 0x00ff
#define SYS_ERR_MASK_ERR_CLEAR_NONCOOKING 0x00ff
#define SYS_ERR_MASK_COOKING 0x00ff
#define SYS_ERR_MASK_NONCOOKING (SYS_ERR_OVNE_TEMP_ALARM)
#define COMM_ERR_MAX 5
|
7ae804762
고영탁
에러 상황 추가
|
32
|
#define STATE_ERR_MAX 5
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
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
|
#define COMM_ERR_MASK_ERR_CLEAR_COOKING 0x0000
#define COMM_ERR_MASK_ERR_CLEAR_NONCOOKING 0x0000
#define COMM_ERR_MASK_COOKING 0x0000
#define COMM_ERR_MASK_NONCOOKING 0x0000
#define SENSOR_ERR_MAX 10
#define SENSOR_ERR_MASK_ERR_CLEAR 0x0000
#define SENSOR_ERR_MASK_COOKING 0x0000
#define SENSOR_ERR_MASK_NONCOOKING 0x0000
#define MAKE_MASK(MASK) (1<<MASK)
#define LOAD_STATE1_UPPER_BUNNER 0x0001
#define LOAD_STATE1_LOWER_BUNNER 0x0002
#define LOAD_STATE1_STEAM_BUNNER 0x0004
#define LOAD_STATE1_UPPER_FAN 0x0008
#define LOAD_STATE1_LOWER_FAN 0x0010
#define LOAD_STATE1_STEAM_FAN 0x0020
#define LOAD_STATE1_CONVEC_FAN1 0x0040
#define LOAD_STATE1_CONVEC_FAN2 0x0080
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
59
|
/*#define LOAD_STATE2_DV 0x0001
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#define LOAD_STATE2_CFAN 0x0002
#define LOAD_STATE2_WSV 0x0004
#define LOAD_STATE2_QNV 0x0008
#define LOAD_STATE2_SSV 0x0010
#define LOAD_STATE2_SNV 0x0020
#define LOAD_STATE2_ERRLED 0x0040
#define LOAD_STATE2_ATVLED 0x0080
#define LOAD_STATE2_HL 0x0100
#define LOAD_STATE2_DP 0x0200
#define LOAD_STATE2_SSP 0x0400
#define LOAD_STATE2_UNP 0x0800
#define LOAD_STATE2_HT1 0x1000
#define LOAD_STATE2_HT2 0x2000
#define LOAD_STATE2_HDM 0x4000
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#define LOAD_STATE2_ST1 0x8000*/
#define LOAD_STATE2_DV 0x0001
#define LOAD_STATE2_CFAN 0x0002
#define LOAD_STATE2_WSV 0x0004
#define LOAD_STATE2_QNV 0x0008
#define LOAD_STATE2_SSV 0x0010
#define LOAD_STATE2_SNV 0x0020
#define LOAD_STATE2_HL 0x0040
#define LOAD_STATE2_DP 0x0080
#define LOAD_STATE2_SSP 0x0100
#define LOAD_STATE2_UNP 0x0200
#define LOAD_STATE2_HDM 0x0400
#define LOAD_STATE2_SGNV 0x0800
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
enum sys_state_type{
SYS_OFF_COOK_OFF=0,
SYS_ON_COOK_OFF=1,
SYS_ON_COOK_ON=2,
SYS_OFF_COOK_ON=3 //unnormal state
};
enum sys_error_id{
SYS_ERR_FIRE_TRIGGER1 =0,
SYS_ERR_FIRE_TRIGGER2 ,
SYS_ERR_FIRE_TRIGGER3 ,
SYS_ERR_OVNE_TEMP_ALARM ,
SYS_ERR_QUN_TEMP_ALARM ,
SYS_ERR_CENTER_TEMP_ALARM ,
SYS_ERR_WALL_TEMP_ALARM ,
SYS_ERR_STAM_TEMP_ALARM ,
SYS_ERR_WATER_LEVEL_FAIL ,
SYS_ERR_WATER_SPLY_FAIL
};
enum comm_err_id{
COMM_ERR_BUNNER1 =0,
COMM_ERR_BUNNER2 ,
COMM_ERR_BUNNER3 ,
COMM_ERR_UPPERFAN ,
|
f8661a150
고영탁
엔지니어 모드 디버깅
|
116
|
COMM_ERR_LOWERFAN
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
117
|
};
|
7ae804762
고영탁
에러 상황 추가
|
118
119
120
121
122
123
124
|
enum state_err_id{
STATE_ERR_BUNNER1 =0,
STATE_ERR_BUNNER2 ,
STATE_ERR_BUNNER3 ,
STATE_ERR_UPPERFAN ,
STATE_ERR_LOWERFAN
};
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
enum sensor_err_id{
SENSOR_ERR_SENSOR_1 =0,
SENSOR_ERR_SENSOR_2 ,
SENSOR_ERR_SENSOR_3 ,
SENSOR_ERR_SENSOR_4 ,
SENSOR_ERR_SENSOR_5 ,
SENSOR_ERR_SENSOR_6 ,
SENSOR_ERR_SENSOR_7 ,
SENSOR_ERR_SENSOR_8 ,
SENSOR_ERR_SENSOR_9 ,
SENSOR_ERR_SENSOR_10
};
enum error_exe_type{
error_type_allnone=0,
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
140
|
error_type_olnystopcmd,
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
141
142
143
144
145
146
147
148
149
|
error_type_onlypop,
error_type_onlyeng,
error_type_onlychk,
error_type_popnonclr,
error_type_engnonclr,
error_type_clrsplit,
error_type_chkclr,
error_type_popclr,
error_type_engclr,
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
150
151
152
|
error_type_chkclrstopcmd,
error_type_popclrstopcmd,
error_type_engclrstopcmd,
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
153
154
155
156
157
158
159
160
161
162
|
};
enum wash_mode_type{
wash_mode_nocleanser=1,
wash_mode_simple,
wash_mode_standard,
wash_mode_strong,
wash_mode_highspeed
};
|
652e9cd54
고영탁
Merge
|
163
|
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
164
165
166
167
168
|
enum water_level_state{
water_level_normal = 0,
water_level_low,
water_level_high
};
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
169
170
171
172
173
174
175
176
|
typedef union
{
uint32_t d32;
struct
{
uint32_t reserved : 9;
uint32_t door_open : 1;
|
f8661a150
고영탁
엔지니어 모드 디버깅
|
177
|
uint32_t wsv_open : 1;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
178
179
180
181
182
183
184
185
|
uint32_t dv_open : 1;
uint32_t sgnv_open : 1;
uint32_t water_level : 16;
uint32_t snv_open : 1;
uint32_t qnv_open : 1;
uint32_t ssv_open : 1;
}b;
}realtime_data;
|
cefd483e4
고영탁
에러 수정
|
186
187
188
189
190
|
typedef struct _popup_list_item{
QString strTitle;
QString strDesc;
bool bNeedClear;
}popup_list_item;
|
42410a75c
김태훈
오타 수정
|
191
|
class OvenStatistics : public QObject
|
652e9cd54
고영탁
Merge
|
192
193
194
|
{
Q_OBJECT
public:
|
14a73498f
김태훈
소스 코드 정리
|
195
|
ServiceData* srvdata;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
196
|
|
538041ab9
김태훈
소스 코드 구조 개선
|
197
|
static OvenStatistics* getInstance(QObject* parent = 0);
|
652e9cd54
고영탁
Merge
|
198
|
static void destroy();
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
199
200
|
bool getNeedErrorClear();
void clearNeedErrorClear();
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
201
202
203
|
realtime_data getPartsRealtimeData(void);
uint8_t getSensorTypeByIdx(uint16_t idx);
type_temp getCurSensorValueByIdx(uint16_t idx);
|
91480de3c
고영탁
센서 실시간 데이터 리셋 기능 추가
|
204
|
void resetSensorHistory(void);
|
652e9cd54
고영탁
Merge
|
205
206
|
private:
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
207
|
|
b915c1b54
고영탁
팝업 처리 수정
|
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
const uint32_t sys_err_mask[2][MAX_MODEL_COUNT] = {
{0x00f8, //ele_10
0x00f8, //ele_20
0x00f8, //ele_24
0x00f8, //ele_40
0x00f8, //lpg_10
0x00f8, //lpg_20
0x00f8, //lpg_24
0x00f8, //lpg_40
0x00f8, //lng_10
0x00f8, //lng_20
0x00f8, //lng_24
0x00f8 //lng_40
},// end of noncooking state
{0x03fd, //ele_10
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
223
|
0x03ff, //ele_20
|
b915c1b54
고영탁
팝업 처리 수정
|
224
|
0x03fd, //ele_24
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
225
226
227
228
229
230
231
232
233
|
0x03ff, //ele_40
0x03fd, //lpg_10
0x03ff, //lpg_20
0x03fd, //lpg_24
0x03ff, //lpg_40
0x03fd, //lng_10
0x03ff, //lng_20
0x03fd, //lng_24
0x03ff //lng_40
|
b915c1b54
고영탁
팝업 처리 수정
|
234
235
236
237
|
},
};
const uint32_t comm_err_mask[2][MAX_MODEL_COUNT] = {
{0x000d, //ele_10
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
238
|
0x001f, //ele_20
|
b915c1b54
고영탁
팝업 처리 수정
|
239
|
0x000d, //ele_24
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
240
|
0x001f, //ele_40
|
b915c1b54
고영탁
팝업 처리 수정
|
241
|
0x000d, //lpg_10
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
242
|
0x001f, //lpg_20
|
b915c1b54
고영탁
팝업 처리 수정
|
243
|
0x000d, //lpg_24
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
244
|
0x001f, //lpg_40
|
b915c1b54
고영탁
팝업 처리 수정
|
245
|
0x000d, //lng_10
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
246
|
0x001f, //lng_20
|
b915c1b54
고영탁
팝업 처리 수정
|
247
|
0x000d, //lng_24
|
b69abdac2
고영탁
모델 별 하부 에러 마스크 적용
|
248
|
0x001f //lng_40
|
b915c1b54
고영탁
팝업 처리 수정
|
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
}, // end of noncooking state
{0x000d, //ele_10
0x001f, //ele_20
0x000d, //ele_24
0x001f, //ele_40
0x000d, //lpg_10
0x001f, //lpg_20
0x000d, //lpg_24
0x001f, //lpg_40
0x000d, //lng_10
0x001f, //lng_20
0x000d, //lng_24
0x001f //lng_40
}};
// const uint32_t sensor_err_mask[MAX_MODEL_COUNT] = {0x0213, //ele10
// 0x0213, //ele 20
// 0x0213, //ele 24
// 0x0213, //ele 40
// 0x0213, //lpg 10
// 0x0213, //lpg 20
// 0x0213, //lpg 24
// 0x0213, //lpg 40
// 0x0213, //lng 10
// 0x0213, //lng 20
// 0x0213, //lng 24
// 0x0213 //lng40
// };
const uint32_t sensor_err_mask[2][MAX_MODEL_COUNT] = {
|
75c9f0d63
고영탁
V0.3.6
|
278
279
280
281
282
283
284
285
286
287
288
289
|
{0x0213, //ele10
0x0213, //ele 20
0x0213, //ele 24
0x0213, //ele 40
0x0213, //lpg 10
0x0213, //lpg 20
0x0213, //lpg 24
0x0213, //lpg 40
0x0213, //lng 10
0x0213, //lng 20
0x0213, //lng 24
0x0213 //lng40
|
b915c1b54
고영탁
팝업 처리 수정
|
290
|
}, // end of noncooking state
|
75c9f0d63
고영탁
V0.3.6
|
291
292
293
294
295
296
297
298
299
300
301
302
|
{0x0213, //ele10
0x0213, //ele 20
0x0213, //ele 24
0x0213, //ele 40
0x0213, //lpg 10
0x0213, //lpg 20
0x0213, //lpg 24
0x0213, //lpg 40
0x0213, //lng 10
0x0213, //lng 20
0x0213, //lng 24
0x0213 //lng40
|
b915c1b54
고영탁
팝업 처리 수정
|
303
304
|
}};
const uint32_t state_err_mask[2][MAX_MODEL_COUNT] = {
|
75c9f0d63
고영탁
V0.3.6
|
305
306
307
308
309
310
311
312
313
314
315
316
|
{0x0008, //ele 10
0x0018, //ele 20
0x0008, //ele 24
0x0018, //ele 40
0x0008, //lpg 10
0x0018, //lpg 20
0x0008, //lpg 24
0x0018, //lpg 40
0x0008, //lng 10
0x0018, //lng 20
0x0008, //lng 24
0x0018 //lng 40
|
b915c1b54
고영탁
팝업 처리 수정
|
317
|
}, //end of noncooking state
|
75c9f0d63
고영탁
V0.3.6
|
318
319
320
321
322
323
324
325
326
327
328
329
|
{0x0008, //ele 10
0x0018, //ele 20
0x0008, //ele 24
0x0018, //ele 40
0x0008, //lpg 10
0x0018, //lpg 20
0x0008, //lpg 24
0x0018, //lpg 40
0x0008, //lng 10
0x0018, //lng 20
0x0008, //lng 24
0x0018 //lng 40
|
b915c1b54
고영탁
팝업 처리 수정
|
330
|
}};
|
20fcaaf68
고영탁
에러 마스크 별도 적용
|
331
|
|
3fd8255a1
고영탁
팝업 관련 동작 정의 수정
|
332
|
const error_exe_type sys_err_type_def[SYS_STATE_MAX][SYS_ERR_MAX]={ //30047
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
333
334
|
{error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,
error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_OFF state
|
b915c1b54
고영탁
팝업 처리 수정
|
335
336
|
{error_type_onlychk,error_type_onlychk,error_type_onlychk,error_type_engclrstopcmd,error_type_engclrstopcmd,
error_type_engclrstopcmd,error_type_engclrstopcmd,error_type_engclrstopcmd,error_type_onlychk,error_type_onlychk}, // SYS_ON_COOK_OFF state
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
337
338
|
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,
error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
339
340
341
|
{error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,
error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_ON state
};
|
3fd8255a1
고영탁
팝업 관련 동작 정의 수정
|
342
|
const error_exe_type comm_err_type_def[SYS_STATE_MAX][COMM_ERR_MAX] ={ //30048
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
343
|
{error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_OFF
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
344
345
|
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
346
347
|
{error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_ON
};
|
3fd8255a1
고영탁
팝업 관련 동작 정의 수정
|
348
349
|
const error_exe_type state_err_type_def[SYS_STATE_MAX][STATE_ERR_MAX] ={ //30057
{error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_OFF
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
350
351
|
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON
|
3fd8255a1
고영탁
팝업 관련 동작 정의 수정
|
352
|
{error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_ON
|
7ae804762
고영탁
에러 상황 추가
|
353
|
};
|
3fd8255a1
고영탁
팝업 관련 동작 정의 수정
|
354
|
const error_exe_type sensor_err_type_def[SYS_STATE_MAX][SENSOR_ERR_MAX]={ //30049
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
355
356
|
{error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk,
error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_OFF state
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
357
|
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd,
|
b915c1b54
고영탁
팝업 처리 수정
|
358
359
360
|
error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_OFF state
{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd,
error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
361
362
363
|
{error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk,
error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_ON state same with SYS_OFF_COOK_OFF
};
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
364
365
366
367
|
const uint8_t sensorTypeInfo[MAX_LOG_SENSOR] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 2, 0, 1, 1
}; //Type 2 is /10 value;
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
368
|
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
369
|
type_temp curSensorValue[MAX_LOG_SENSOR];
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
370
|
|
42410a75c
김태훈
오타 수정
|
371
|
static OvenStatistics* p_singletonInstance;
|
652e9cd54
고영탁
Merge
|
372
373
|
UdpHandler *udp;
Oven* oven;
|
20fcaaf68
고영탁
에러 마스크 별도 적용
|
374
|
Config* cfg;
|
652e9cd54
고영탁
Merge
|
375
376
|
oven_control_t control;
oven_state_t state;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
377
|
error_item* m_pLastErrItem;
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
378
|
QMap<uint32_t, QWidget *> m_mapPopupList;
|
cefd483e4
고영탁
에러 수정
|
379
380
|
uint32_t m_nLastPopupidx;
bool m_bPopupShow;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
381
|
|
652e9cd54
고영탁
Merge
|
382
383
384
385
|
bool curdoorstate;
uint16_t curSysErrorState;
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
386
387
|
uint16_t curCommErrorState;
uint16_t curSensorErrorState;
|
d66410abd
고영탁
에러 팝업 형태 변경
|
388
|
uint16_t curControlErrorState;
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
389
390
|
bool bNeedErrorClear;
bool bDataRefreshed;
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
391
|
realtime_data realdata;
|
cefd483e4
고영탁
에러 수정
|
392
|
|
42410a75c
김태훈
오타 수정
|
393
394
|
explicit OvenStatistics(QObject* parent);
~OvenStatistics();
|
652e9cd54
고영탁
Merge
|
395
|
void processSystemError(uint16_t errflag,time_t ltime);
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
396
397
|
void processCommError(uint16_t errflag,time_t ltime);
void processSensorError(uint16_t errflag, time_t ltime);
|
7ae804762
고영탁
에러 상황 추가
|
398
|
void processStateError(uint16_t errflat, time_t ltime);
|
f8661a150
고영탁
엔지니어 모드 디버깅
|
399
|
void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime);
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
400
|
|
f345e373f
김태훈
클래스 정의 수정
|
401
402
403
404
405
406
407
408
409
|
public:
bool loadWashState(void){return srvdata->loadWashState();}
bool setWashState(bool bval,bool save=true){return srvdata->setWashState(bval,save);}
uint32_t loadTotalCookingTime(void){return srvdata->loadTotalCookingTime();}
bool setTotalCookingTime(uint32_t val, bool save=true){return srvdata->setTotalCookingTime(val,save);}
bool addTotalCookingTime(uint32_t val, bool save=true){return srvdata->addTotalCookingTime(val,save);}
uint32_t loadTotalCookingCount(void){return srvdata->loadTotalCookingCount();}
bool setTotalCookingCount(uint32_t val,bool save = true){return srvdata->setTotalCookingCount(val,save);}
bool addTotalCookingCount(uint32_t val, bool save = true){return srvdata->addTotalCookingCount(val,save);}
|
6a965b9f1
고영탁
엔지니어 모드 2차 구현
|
410
|
|
652e9cd54
고영탁
Merge
|
411
412
|
public slots:
void onDataChanged();
|
c50beef02
고영탁
에러 처리 루틴 및 에러 처리 ...
|
413
|
void oneSecTimerFired(void);
|
a7e8cc0aa
고영탁
버그 및 동작 개선
|
414
|
void onErrorPopupClosed(int erridx);
|
d1d566994
고영탁
에러 발생 시그널 추가
|
415
416
417
|
signals:
void onErrorFired(int erridx);
|
652e9cd54
고영탁
Merge
|
418
419
420
|
};
#endif // OVENSTATICS_H
|