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 | ... | ... |