| | |
| | | #include "eeprom.h" |
| | | #include "system_eep_mem_manage.h" |
| | | #include "rs485_data_analysis_pro.h" |
| | | #include "pulse_and_alarm_line.h" |
| | | #include "system_flash_mem_manage.h" |
| | | #include "sizhu_history_record.h" |
| | | #include "sizhu_alarm_record.h" |
| | | #include "sizhu_event_record.h" |
| | | #include "sizhu_para_modify_record.h" |
| | | |
| | | SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g = { \ |
| | | .eep_para_init_config_id = EEP_PARA_INIT_ID, \ |
| | |
| | | EQUIPMENT_BASIC_INF_T equipment_basic_inf_g={ |
| | | .product_type= DM_SCM_SZV103, \ |
| | | .caliber_type = DN50_TYPE, \ |
| | | .serial_number = {0x07,0x10,0x50,0x82,0x40,0x69,0x00,0x01,0xff,0xff}, \ |
| | | .valve_type = VM_HADE, \ |
| | | .equipment_type = EM_SIFRCT,}; |
| | | |
| | |
| | | |
| | | |
| | | FLOW_METER_PARA_T flow_meter_para_g ={ \ |
| | | .flow_meter_conn_type = FLOW_METER_CONN_RS485, \ |
| | | .flow_meter_conn_type = FLOW_METER_CONN_RS485_AND_PULSE, \ |
| | | .flow_meter_code = SIZHUMODBUSV2_0, \ |
| | | .pulse_coe = 1.0, \ |
| | | .pulse_width = 50, \ |
| | | .baudrate_code = BAUDRATE_9600, \ |
| | | .parity_bit = PARITY_NONE, \ |
| | | .output_voltage_code = RS485_V1_5V, \ |
| | | .slave_address = 1, }; |
| | | .slave_address = 1, \ |
| | | .broken_line_multiplex = BROKEN_LINE_MUTIPLEX_NONE, \ |
| | | }; |
| | | |
| | | TEM_PRE_PARA_T tem_pre_para_g = { \ |
| | | .tem_up_limit = 70, \ |
| | |
| | | }; |
| | | |
| | | WRC_PARA_SIZHU_T wrc_para_sizhu_g = { \ |
| | | .ip1 = {120,77,85,236}, \ |
| | | .ip1 = {39,108,81,105}, \ |
| | | .ip_port1 = 9692, \ |
| | | .ip1_connect_type = LINK_TCP, \ |
| | | .ip2 = {120,77,85,236}, \ |
| | | .ip_port2 = 9692, \ |
| | | .ip2_connect_type = LINK_TCP, \ |
| | | .bat_power_data_interval = 60, \ |
| | | .ext_power_data_interval = 60, \ |
| | | .ext_power_data_interval = 5, \ |
| | | .time_start_type = WRC_TIME_START_INTERVAL, \ |
| | | .bat_power_send_interval = 1440, \ |
| | | .ext_power_send_interval = 60, \ |
| | |
| | | }; |
| | | |
| | | |
| | | LOG_SIZHU_HISTORY_CTRL_T log_sizhu_history_ctrl_g = { \ |
| | | .per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR, \ |
| | | .per_day_log.log_addr_save = HISTORY_DAY_START_ADDR, \ |
| | | .per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR, \ |
| | | .per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR, \ |
| | | }; |
| | | LOG_ALARM_CTRL_T log_alarm_ctrl_g ={ \ |
| | | .system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR, \ |
| | | }; |
| | | LOG_EVENT_CTRL_T log_event_ctrl_g ={ \ |
| | | .valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR, \ |
| | | .factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR, \ |
| | | .set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR, \ |
| | | }; |
| | | LOG_PARA_MODIFY_CTRL_T log_para_modify_ctrl_g = { \ |
| | | .basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR, \ |
| | | .cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR, \ |
| | | .balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR, \ |
| | | .flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR, \ |
| | | .conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR, \ |
| | | .fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR, \ |
| | | .alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR, \ |
| | | .close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR, \ |
| | | }; |
| | | |
| | | //EEPROM²ÎÊýдÈëºÍ¶ÁÈ¡¼ì²é,Ö»Ö§³Ö1024¸ö×Ö½ÚµÄдÈëÓë¶ÁÈ¡¼ì²é |
| | | ErrorStatus eepWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length) |
| | | { |
| | |
| | | if(length >1024) |
| | | return FAIL; |
| | | |
| | | EEPROM_CTRL_ENABLE; |
| | | EEPROM_MultipleWrite(write_data,addr,length); |
| | | |
| | | EEPROM_MultipleRead(buf_l,addr,length); |
| | | EEPROM_CTRL_DISABLE; |
| | | |
| | | return ucharcmp(write_data,buf_l,length); |
| | | } |
| | |
| | | ErrorStatus eepABWriteAndReadCheck(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | | |
| | | |
| | | if(eepWriteAndReadCheck(write_data,addrA,length)==FAIL) |
| | | { |
| | | if(eepWriteAndReadCheck(write_data,addrA,length)==FAIL) |
| | |
| | | if(length >1024) |
| | | return FAIL; |
| | | |
| | | EEPROM_CTRL_ENABLE; |
| | | for(count_i=0;count_i< read_times;count_i++) |
| | | { |
| | | memset (buf_l,0,sizeof (buf_l)); |
| | |
| | | break; |
| | | } |
| | | } |
| | | EEPROM_CTRL_DISABLE; |
| | | |
| | | if(read_flag == PASS) |
| | | { |
| | |
| | | return PASS; |
| | | }else |
| | | { |
| | | EEPROM_CTRL_ENABLE; |
| | | for(count_i=0;count_i< read_times;count_i++) |
| | | { |
| | | memset (buf_l,0,sizeof (buf_l)); |
| | |
| | | { |
| | | arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ; |
| | | EEPROM_MultipleWrite(buf_l,addrA,length);//AÇøÐ£Ñé´íÎó£¬BÇøÕýÈ·£¬Ôò½«BÇøÊý¾ÝдÈëAÇø |
| | | EEPROM_CTRL_DISABLE; |
| | | return PASS; |
| | | }else |
| | | { |
| | | EEPROM_CTRL_DISABLE; |
| | | return FAIL; |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //¼¸¸ö¿ØÖÆ×Ö³õʼ»¯Ð´Èë |
| | | ErrorStatus CtrlWordParaDefaultInit(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | | SAVE_FUN_CTRL_WORD_T save_fun_ctrl_word_l; |
| | | SAVE_ALARM_CTRL_WORD_T save_alarm_ctrl_word_l; |
| | | SAVE_VALVE_CTRL_WORD_T save_valve_ctrl_word_l; |
| | | |
| | | // SYSTEM_FUNCTION_CTRL_WORD_T system_function_ctrl_word_l = { \ |
| | | // .fun_ctrl_word.billing_type = 0x02, \ |
| | | // }; |
| | | // SYSTEM_ALARM_CTRL_WORD_T system_alarm_ctrl_word_l= {.alarm_ctl_word={ |
| | | // .system_start = 1, |
| | | // .power_state = 1, |
| | | // .valve_error = 1, |
| | | // .valve_state_change = 1, |
| | | // .set_cumulate_up_to = 1, |
| | | // .no_use_gas_date_up_to = 1, |
| | | // .no_gprs_date_up_to = 1, |
| | | // .balance_small_3 = 1, |
| | | // .lith_low = 1, |
| | | // .lith_down = 1, |
| | | // .lith_remove = 1, |
| | | // .alka_low = 1, |
| | | // .alka_down = 1, |
| | | // .alka_remove = 1, |
| | | // .gprs_status = 1, //Ô¶´«Ê§°ÜÖ»±¨¾¯£¬²»Éϱ¨ |
| | | // .RS485_err = 1, |
| | | // .RS485_lessen = 1, |
| | | // .broken_line = 1, |
| | | // .temp_err = 1, |
| | | // .cpu_temp_up = 1, |
| | | // .cpu_temp_down = 1, |
| | | // .press_err = 1, |
| | | // .lcd_up = 1, |
| | | // .cl_have_flow = 1, |
| | | // } |
| | | // }; |
| | | // |
| | | // SYSTEM_ALARM_CTRL_WORD_T system_alarm_report_ctrl_word_l= {.alarm_ctl_word={ |
| | | // .system_start = 1, |
| | | // .power_state = 1, |
| | | // .valve_error = 1, |
| | | // .valve_state_change = 1, |
| | | // .set_cumulate_up_to = 1, |
| | | // .no_use_gas_date_up_to = 1, |
| | | // .no_gprs_date_up_to = 1, |
| | | // .balance_small_3 = 1, |
| | | // .lith_low = 1, |
| | | // .lith_down = 1, |
| | | // .lith_remove = 1, |
| | | // .alka_low = 1, |
| | | // .alka_down = 1, |
| | | // .alka_remove = 1, |
| | | // //.gprs_status = 1, //Ô¶´«Ê§°ÜÖ»±¨¾¯£¬²»Éϱ¨ |
| | | // .RS485_err = 1, |
| | | // .RS485_lessen = 1, |
| | | // .broken_line = 1, |
| | | // .temp_err = 1, |
| | | // .cpu_temp_up = 1, |
| | | // .cpu_temp_down = 1, |
| | | // .press_err = 1, |
| | | // .lcd_up = 1, |
| | | // .cl_have_flow = 1, |
| | | // } |
| | | // }; |
| | | // |
| | | // VALVE_CTL_BYTES_UNION_T valve_ctl_bytes_l = {.valve_ctrl_bytes = { |
| | | // {0}, |
| | | // {0}, |
| | | // {0}, |
| | | // {.lith_down_need_close_valve_flag =1,.lith_down_close_valve_type = 1,.lith_remove_need_close_valve_flag =1,.lith_remove_close_valve_type =1, |
| | | // //.alka_down_need_close_valve_flag= 1,.alka_down_close_valve_type = 1,.alka_remove_need_close_valve_flag =1,.alka_remove_close_valve_type =1, |
| | | // }, |
| | | // {0}, |
| | | // {0}, |
| | | // {0}, |
| | | // {0}, |
| | | // {0}, |
| | | // {0}, |
| | | // {0},} |
| | | // }; |
| | | |
| | | arrayA_2_arrayB((uint8_t*)&system_function_ctrl_word_g,(uint8_t*)&save_fun_ctrl_word_l.fun_ctrl_word,sizeof(system_function_ctrl_word_g),LITTLE_ENDIAN); |
| | | arrayA_2_arrayB((uint8_t*)&system_alarm_ctrl_word_g,(uint8_t*)&save_alarm_ctrl_word_l.alarm_ctrl_word,sizeof(system_alarm_ctrl_word_g),LITTLE_ENDIAN); |
| | | arrayA_2_arrayB((uint8_t*)&system_alarm_report_ctrl_word_g,(uint8_t*)&save_alarm_ctrl_word_l.alarm_report_ctrl_word,sizeof(system_alarm_report_ctrl_word_g),LITTLE_ENDIAN); |
| | | arrayA_2_arrayB((uint8_t*)&valve_ctl_bytes_g,(uint8_t*)&save_valve_ctrl_word_l.valve_ctrl_word,sizeof(valve_ctl_bytes_g),LITTLE_ENDIAN); |
| | | |
| | | |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_fun_ctrl_word_l,SYSTEM_FUNCTION_CTRL_WORD_ADDR,SYSTEM_FUNCTION_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_fun_ctrl_word_l))==FAIL) |
| | | return_flag = FAIL; |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_alarm_ctrl_word_l,SYSTEM_ALARM_CTRL_WORD_ADDR,SYSTEM_ALARM_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_alarm_ctrl_word_l))==FAIL) |
| | | return_flag = FAIL; |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_valve_ctrl_word_l,VALVE_CTL_BYTES_ADDR,VALVE_CTL_BYTES_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_valve_ctrl_word_l))==FAIL) |
| | | return_flag = FAIL; |
| | | |
| | | return return_flag; |
| | | } |
| | | |
| | | //¼¸¸ö¿ØÖÆ×Ö¶ÁÈ¡ |
| | | ErrorStatus CtrlWordParaReadFromEep(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | | SAVE_FUN_CTRL_WORD_T save_fun_ctrl_word_l; |
| | | SAVE_ALARM_CTRL_WORD_T save_alarm_ctrl_word_l; |
| | | SAVE_VALVE_CTRL_WORD_T save_valve_ctrl_word_l; |
| | | if( eepABReadCheck((uint8_t * )&save_fun_ctrl_word_l,SYSTEM_FUNCTION_CTRL_WORD_ADDR,SYSTEM_FUNCTION_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_fun_ctrl_word_l)) == FAIL) |
| | | { |
| | | return_flag = FAIL; |
| | | }else |
| | | { |
| | | arrayA_2_arrayB((uint8_t*)&save_fun_ctrl_word_l.fun_ctrl_word,(uint8_t*)&system_function_ctrl_word_g,sizeof(system_function_ctrl_word_g),LITTLE_ENDIAN); |
| | | } |
| | | |
| | | if( eepABReadCheck((uint8_t * )&save_alarm_ctrl_word_l,SYSTEM_ALARM_CTRL_WORD_ADDR,SYSTEM_ALARM_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_alarm_ctrl_word_l)) == FAIL) |
| | | { |
| | | return_flag = FAIL; |
| | | }else |
| | | { |
| | | arrayA_2_arrayB((uint8_t*)&save_alarm_ctrl_word_l.alarm_ctrl_word,(uint8_t*)&system_alarm_ctrl_word_g,sizeof(system_alarm_ctrl_word_g),LITTLE_ENDIAN); |
| | | arrayA_2_arrayB((uint8_t*)&save_alarm_ctrl_word_l.alarm_report_ctrl_word,(uint8_t*)&system_alarm_report_ctrl_word_g,sizeof(system_alarm_report_ctrl_word_g),LITTLE_ENDIAN); |
| | | } |
| | | |
| | | if( eepABReadCheck((uint8_t * )&save_valve_ctrl_word_l,VALVE_CTL_BYTES_ADDR,VALVE_CTL_BYTES_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_valve_ctrl_word_l)) == FAIL) |
| | | { |
| | | return_flag = FAIL; |
| | | }else |
| | | { |
| | | arrayA_2_arrayB((uint8_t*)&save_valve_ctrl_word_l.valve_ctrl_word,(uint8_t*)&valve_ctl_bytes_g,sizeof(valve_ctl_bytes_g),LITTLE_ENDIAN); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //ÈÕÖ¾¿ØÖƲÎÊý³õʼ»¯Ð´Èë |
| | | ErrorStatus LogCtrlParaDefaultInit(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | | log_sizhu_history_ctrl_g.per_month_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_day_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_day_log.log_addr_save = HISTORY_DAY_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_hour_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_interval_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR; |
| | | |
| | | log_alarm_ctrl_g.system_alarm_log.log_count = 0; |
| | | log_alarm_ctrl_g.system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR; |
| | | |
| | | log_event_ctrl_g.valve_operation_log.log_count = 0; |
| | | log_event_ctrl_g.valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR; |
| | | log_event_ctrl_g.factory_reset_log.log_count = 0; |
| | | log_event_ctrl_g.factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR; |
| | | log_event_ctrl_g.set_time_log.log_count = 0; |
| | | log_event_ctrl_g.set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR; |
| | | |
| | | log_para_modify_ctrl_g.basic_info_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.cumulate_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.balance_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.flow_meter_para_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR; |
| | | |
| | | |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g))==FAIL) |
| | | return_flag = FAIL; |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g))==FAIL) |
| | | return_flag = FAIL; |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g))==FAIL) |
| | | return_flag = FAIL; |
| | | if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g))==FAIL) |
| | | return_flag = FAIL; |
| | | |
| | | return return_flag; |
| | | } |
| | | //ÈÕÖ¾¿ØÖƲÎÊý³õʼ»¯¶ÁÈ¡ |
| | | ErrorStatus LogCtrlParaReadFromEep(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | | |
| | | if( eepABReadCheck((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g)) == FAIL) |
| | | { |
| | | log_sizhu_history_ctrl_g.per_month_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_day_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_day_log.log_addr_save = HISTORY_DAY_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_hour_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR; |
| | | log_sizhu_history_ctrl_g.per_interval_log.log_count = 0; |
| | | log_sizhu_history_ctrl_g.per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR; |
| | | paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g)); |
| | | return_flag = FAIL; |
| | | } |
| | | if( eepABReadCheck((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g)) == FAIL) |
| | | { |
| | | log_alarm_ctrl_g.system_alarm_log.log_count = 0; |
| | | log_alarm_ctrl_g.system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR; |
| | | paraCalcCrcAndWriteEepAB((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g)); |
| | | return_flag = FAIL; |
| | | } |
| | | if( eepABReadCheck((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g)) == FAIL) |
| | | { |
| | | log_event_ctrl_g.valve_operation_log.log_count = 0; |
| | | log_event_ctrl_g.valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR; |
| | | log_event_ctrl_g.factory_reset_log.log_count = 0; |
| | | log_event_ctrl_g.factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR; |
| | | log_event_ctrl_g.set_time_log.log_count = 0; |
| | | log_event_ctrl_g.set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR; |
| | | paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g)); |
| | | return_flag = FAIL; |
| | | } |
| | | if( eepABReadCheck((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g)) == FAIL) |
| | | { |
| | | log_para_modify_ctrl_g.basic_info_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.cumulate_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.balance_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.flow_meter_para_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR; |
| | | log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_count = 0; |
| | | log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR; |
| | | paraCalcCrcAndWriteEepAB((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g)); |
| | | return_flag = FAIL; |
| | | } |
| | | |
| | | |
| | | return return_flag; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //?ËùÓвÎÊý³õʼ»¯ÎªÄ¬ÈÏÖµ²¢Ð´ÈëEEPROM |
| | | void allParaDefaultInit(void) |
| | | { |
| | |
| | | //É豸»ù´¡ÐÅÏ¢³õʼ»¯Ð´Èë |
| | | if(EquipmentBasicInfoDefaultInit()==FAIL) return_flag = FAIL; |
| | | |
| | | //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý |
| | | |
| | | //?¼ÌÐø²¹³ä |
| | | |
| | | //ʵʱÊý¾Ý³õʼ»¯Ð´Èë |
| | | |
| | | //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»° |
| | | //¼¸¸ö¿ØÖÆ×Ö³õʼ»¯Ð´Èë |
| | | if(CtrlWordParaDefaultInit()==FAIL) return_flag = FAIL; |
| | | |
| | | //ÈÕÖ¾¿ØÖƲÎÊý |
| | | if(LogCtrlParaDefaultInit()==FAIL) return_flag = FAIL; |
| | | |
| | | |
| | | //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»° |
| | | if(return_flag==FAIL){ |
| | | ; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | //É豸»ù´¡ÐÅÏ¢¶ÁÈ¡ |
| | | if(EquipmentBasicInfoReadFromEep()==FAIL) return_flag = FAIL; |
| | | |
| | | |
| | | //?¼ÌÐø²¹³ä |
| | | //¼¸¸ö¿ØÖÆ×Ö¶ÁÈ¡ |
| | | if(CtrlWordParaReadFromEep()==FAIL) return_flag = FAIL; |
| | | |
| | | //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý |
| | | //ÈÕÖ¾¿ØÖÆÐÅÏ¢¶ÁÈ¡ |
| | | if(LogCtrlParaReadFromEep()==FAIL) return_flag = FAIL; |
| | | |
| | | //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»° |
| | | |
| | | if(return_flag==FAIL){ |
| | | ; |
| | | } |
| | | } |
| | | |
| | | |