servicedatas.h 3.13 KB
#ifndef SERVICEDATAS_H
#define SERVICEDATAS_H

#include <stdint.h>
#include <time.h>

#define STRUCT_PACK     __attribute__ ((packed))

#define MAX_ERROR_TYPE_CNT  30

#define MAX_STATICS_CNT            23

typedef struct _error_item{
    uint16_t fired_cnt;
    time_t first_fired;
    time_t last_fried;
}STRUCT_PACK error_item;


typedef union _error_log{
        uint8_t datas[MAX_ERROR_TYPE_CNT*sizeof(error_item)];
        error_item values[MAX_ERROR_TYPE_CNT];
        struct{
            error_item door;
            error_item upper_fire_fail;
            error_item upper_pan_fail;
            error_item lower_fire_fail;
            error_item lower_pan_fail;
            error_item steam_fire_fail;
            error_item steam_pan_fail;
            error_item water_level_sensor_fail;
            error_item water_flow_sensor_fail;
            error_item inner_temp_high_alarm;                   //B1 Sensor
            error_item inner_temp_fail;
            error_item qunching_temp_high_alarm;            //B2 Sensor
            error_item qunching_temp_fail;
            error_item meatprove_temp1_high_alarm;         //B3 Sensor
            error_item meatprove_temp1_fail;
            error_item wall_temp1_high_alarm;                   //B4 Sensor
            error_item wall_temp1_fail;
            error_item steam_gen_temp_high_alram;          //B5 Sensor
            error_item steam_gen_temp_fail;
            error_item meatprove_temp2_fail;
            error_item meatprove_temp3_fail;
            error_item meatprove_temp4_fail;            
            error_item pcb_temp_high_alarm;                         //PCB Temp
            error_item pcb_temp_fail;
            error_item upper_motor_fail;
            error_item lower_motor_fail;
            error_item small_motor_fail;
            error_item midd_motor_fail;
            error_item supply_motor_fail;                               // Steam Generator Tank Supply Pump
            error_item humidity_tamper_fail;
        }items;
}STRUCT_PACK error_log;


typedef union _use_statics_log{
        uint8_t datas[MAX_STATICS_CNT*4];
        uint32_t values[MAX_STATICS_CNT];
        struct{
            uint32_t steam_heat;
            uint32_t dry_heat;
            uint32_t upper_heat;
            uint32_t lower_heat;
            uint32_t cook_dry_mode;
            uint32_t cook_steam_mode;
            uint32_t cook_combi_mode;
            uint32_t wash_mode_nocleanser;
            uint32_t wash_mode_simple;
            uint32_t wash_mode_standard;
            uint32_t wash_mode_strong;
            uint32_t wash_mode_speed;
            uint32_t cooldown_mode;
            uint32_t door_open;
            uint32_t dv_open;
            uint32_t ssv_open;
            uint32_t qnv_open;
            uint32_t ssp_open;
            uint32_t snv_open;
            uint32_t hosereel;
            uint32_t hdm_open;
            uint32_t dp_open;
            uint32_t unp_open;
        }items;
}STRUCT_PACK use_statics_log;

class servicedatas
{
public:
    servicedatas();
    error_log err_log;
    use_statics_log use_log;
    bool saveServiceDatas(void);
    bool loadServiceDatas(void);
};

#endif // SERVICEDATAS_H