Commit a46dd440978a326a6f6630a585cfa9f58998da48
1 parent
eeffffb47f
Exists in
master
and in
2 other branches
오븐 상태 저장 기능 추가
Showing
3 changed files
with
66 additions
and
2 deletions
Show diff stats
app/gui/oven_control/ovenstatics.h
... | ... | @@ -411,6 +411,14 @@ private: |
411 | 411 | void processStateError(uint16_t errflat, time_t ltime); |
412 | 412 | void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime); |
413 | 413 | |
414 | + bool loadWashState(void){return srvdata->loadWashState();}; | |
415 | + bool setWashState(bool bval,bool save=true){return srvdata->setWashState(bval,save);}; | |
416 | + uint32_t loadTotalCookingTime(void){return srvdata->loadTotalCookingTime();}; | |
417 | + bool setTotalCookingTime(uint32_t val, bool save=true){return srvdata->setTotalCookingTime(val,save);}; | |
418 | + bool addTotalCookingTime(uint32_t val, bool save=true){return srvdata->addTotalCookingTime(val,save);}; | |
419 | + uint32_t loadTotalCookingCount(void){return srvdata->loadTotalCookingCount();}; | |
420 | + bool setTotalCookingCount(uint32_t val,bool save = true){return srvdata->setTotalCookingCount(val,save);}; | |
421 | + bool addTotalCookingCount(uint32_t val, bool save = true){return srvdata->addTotalCookingCount(val,save);}; | |
414 | 422 | |
415 | 423 | public slots: |
416 | 424 | void onDataChanged(); | ... | ... |
app/gui/oven_control/servicedata.cpp
... | ... | @@ -89,7 +89,7 @@ bool ServiceData::loadServiceData(void){ |
89 | 89 | return saveServiceData(); |
90 | 90 | } |
91 | 91 | |
92 | - qDebug() << "FRAM Read, Write Size is " << sizeof(error_log)+sizeof(use_statics_log); | |
92 | + qDebug() << "FRAM Read, Write Size is " << sizeof(error_log)+sizeof(use_statics_log) + sizeof(sensor_log); | |
93 | 93 | memcpy((void*)err_log.data,pBuff,sizeof(error_log)); pBuff += sizeof(error_log); |
94 | 94 | memcpy((void*)use_log.data, pBuff,sizeof(use_statics_log));pBuff += sizeof(use_statics_log); |
95 | 95 | memcpy((void*)sensor_log.data,pBuff,sizeof(sensor_statics_log)); pBuff+= sizeof(sensor_statics_log); |
... | ... | @@ -111,6 +111,41 @@ bool ServiceData::resetSensorlogData() |
111 | 111 | return saveServiceData(); |
112 | 112 | } |
113 | 113 | |
114 | +bool ServiceData::setWashState(bool bval, bool save) | |
115 | +{ | |
116 | + use_log.items.b_oven_state.b.wash_state = bval; | |
117 | + if(save) return saveServiceData(); | |
118 | + else return true; | |
119 | +} | |
120 | + | |
121 | +bool ServiceData::setTotalCookingTime(uint32_t val, bool save) | |
122 | +{ | |
123 | + use_log.items.total_cook_time = val; | |
124 | + if(save) return saveServiceData(); | |
125 | + else return true; | |
126 | +} | |
127 | + | |
128 | +bool ServiceData::setTotalCookingCount(uint32_t val, bool save) | |
129 | +{ | |
130 | + use_log.items.total_cook_count = val; | |
131 | + if(save) return saveServiceData(); | |
132 | + else return true; | |
133 | +} | |
134 | + | |
135 | +bool ServiceData::addTotalCookingCount(uint32_t val, bool save) | |
136 | +{ | |
137 | + use_log.items.total_cook_count +=val; | |
138 | + if(save) return saveServiceData(); | |
139 | + else return true; | |
140 | +} | |
141 | + | |
142 | +bool ServiceData::addTotalCookingTime(uint32_t val, bool save) | |
143 | +{ | |
144 | + use_log.items.total_cook_time += val; | |
145 | + if(save) return saveServiceData(); | |
146 | + else return true; | |
147 | +} | |
148 | + | |
114 | 149 | bool ServiceData::saveServiceData(void){ |
115 | 150 | uint8_t buffs[FRAM_SIZE]; |
116 | 151 | uint8_t* pBuff; | ... | ... |
app/gui/oven_control/servicedata.h
... | ... | @@ -8,10 +8,12 @@ |
8 | 8 | |
9 | 9 | #define MAX_ERROR_TYPE_CNT 31 |
10 | 10 | |
11 | -#define MAX_STATICS_CNT 23 | |
11 | +#define MAX_STATICS_CNT 26 | |
12 | 12 | |
13 | 13 | #define MAX_LOG_SENSOR 16 |
14 | 14 | |
15 | +#define MAX_OVEN_STATE_ | |
16 | + | |
15 | 17 | typedef struct _error_item{ |
16 | 18 | uint16_t fired_cnt; |
17 | 19 | time_t first_fired; |
... | ... | @@ -152,6 +154,14 @@ enum USE_ITEMS_IDX{ |
152 | 154 | }; |
153 | 155 | |
154 | 156 | |
157 | +typedef union _bool_oven_state{ | |
158 | + uint32_t dVal; | |
159 | + struct{ | |
160 | + uint32_t wash_state:1; | |
161 | + uint32_t reserved:31; | |
162 | + }b; | |
163 | +}bool_oven_state; | |
164 | + | |
155 | 165 | |
156 | 166 | |
157 | 167 | typedef union _use_statics_log{ |
... | ... | @@ -181,6 +191,9 @@ typedef union _use_statics_log{ |
181 | 191 | uint32_t hdm_open; |
182 | 192 | uint32_t dp_open; |
183 | 193 | uint32_t unp_open; |
194 | + uint32_t total_cook_time; | |
195 | + uint32_t total_cook_count; | |
196 | + bool_oven_state b_oven_state; | |
184 | 197 | }items; |
185 | 198 | }STRUCT_PACK use_statics_log; |
186 | 199 | |
... | ... | @@ -197,6 +210,14 @@ public: |
197 | 210 | bool saveServiceData(void); |
198 | 211 | bool loadServiceData(void); |
199 | 212 | bool resetSensorlogData(void); |
213 | + bool loadWashState(void){return (bool)use_log.items.b_oven_state.b.wash_state;}; | |
214 | + bool setWashState(bool bval,bool save=true); | |
215 | + uint32_t loadTotalCookingTime(void){return use_log.items.total_cook_time;}; | |
216 | + bool setTotalCookingTime(uint32_t val, bool save=true); | |
217 | + bool addTotalCookingTime(uint32_t val, bool save=true); | |
218 | + uint32_t loadTotalCookingCount(void){return use_log.items.total_cook_count;}; | |
219 | + bool setTotalCookingCount(uint32_t val,bool save = true); | |
220 | + bool addTotalCookingCount(uint32_t val, bool save = true); | |
200 | 221 | }; |
201 | 222 | |
202 | 223 | #endif // SERVICEDATA_H | ... | ... |