void Flash_Read_Code(void) { U8_T i; U16_T loop; U16_T temp = 0; U32_T base_addr = 0; Code_total_length = 0; Test[29]++; for(i = 0;i < MAX_PRGS;i++) { IntFlashReadInt(BASE_CODE_INDEX + i * 2, &temp); if(temp > CODE_ELEMENT) temp = 0; programs[i].bytes = mGetPointWord2(temp); Code_total_length += mGetPointWord2(programs[i].bytes); if(mGetPointWord2(programs[i].bytes) > 0 && mGetPointWord2(programs[i].bytes) < CODE_ELEMENT) { for(loop = 0;loop < mGetPointWord2(programs[i].bytes) + USER_DATA_HEADER_LEN;loop++) { IntFlashReadByte(BASE_CODE + base_addr + loop,&prg_code[i][loop]); } base_addr += (mGetPointWord2(programs[i].bytes) + USER_DATA_HEADER_LEN); //return; } else memcpy(&prg_code[i] ,0, CODE_ELEMENT); } //IntFlashReadInt(BASE_CODE_LEN, &Code_total_length); //if(Code_total_length == 0xffff) Code_total_length = 0; }
void Flash_Read_Mass(void) { STR_flag_flash ptr_flash; U16_T base_addr; U8_T loop; U16_T loop2,loop1; // U8_T far tempbuf[500]; ptr_flash.index = 0; for(loop = 0;loop < T_END;loop++) { ptr_flash.table = loop; ptr_flash.len = Flash_Position[loop].len; base_addr = Flash_Position[loop].addr; switch(loop) { case T_WEEK_DES: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_WR1;loop1++) { memcpy(WR_Roution[loop1].UN.all,&tempbuf[WR_DESCRIPTION_SIZE * loop1],WR_DESCRIPTION_SIZE); } break; case T_WEEK_ONTIME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_WR1;loop1++) { memcpy(&WR_Roution[loop1].OnTime,&tempbuf[WR_TIME_SIZE * loop1],WR_TIME_SIZE); } break; case T_WEEK_OFFTIME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_WR1;loop1++) { memcpy(WR_Roution[loop1].OffTime,&tempbuf[WR_TIME_SIZE * loop1],WR_TIME_SIZE); } break; case T_ANNUAL_DES: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_AR1;loop1++) { memcpy(AR_Roution[loop1].UN.all,&tempbuf[AR_DESCRIPTION_SIZE * loop1],AR_DESCRIPTION_SIZE); } break; case T_ANNUAL_TIME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_AR1;loop1++) { memcpy(AR_Roution[loop1].Time,&tempbuf[AR_TIME_SIZE * loop1],AR_TIME_SIZE); } break; case T_ID: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_ID;loop1++) { memcpy(ID_Config[loop1].all,&tempbuf[ID_SIZE * loop1],ID_SIZE); } break; case T_NAME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); for(loop1 = 0;loop1 < MAX_NAME;loop1++) { memcpy(menu_name[loop1],&tempbuf[NAME_SIZE * loop1],NAME_SIZE); } break; default: break; } } }
void Flash_Read_Mass(void) { STR_flag_flash ptr_flash; U16_T base_addr; U8_T loop; U16_T loop2,loop1; U8_T T_END = 0; ptr_flash.index = 0; for(loop = 0;loop < MAX_POINT_TYPE;loop++) { ptr_flash.table = loop; ptr_flash.len = Flash_Position[loop].len; base_addr = Flash_Position[loop].addr; switch(loop) { case OUT: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(outputs , tempbuf, ptr_flash.len); break; case IN: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(inputs ,tempbuf, ptr_flash.len); break; case VAR: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(vars ,tempbuf, ptr_flash.len); break; /* case CON: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(controllers ,tempbuf, ptr_flash.len); break;*/ case WRT: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(weekly_routines ,tempbuf, ptr_flash.len); break; case AR: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(annual_routines ,tempbuf, ptr_flash.len); break; case PRG: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(programs ,tempbuf, ptr_flash.len); break; /* case TBL: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(custom_tab ,tempbuf, ptr_flash.len); break; case TZ: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(totalizers ,tempbuf, ptr_flash.len); break; case AMON: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(monitors ,tempbuf, ptr_flash.len); break; case GRP: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(control_groups ,tempbuf, ptr_flash.len); break; case ARRAY: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(arrays ,tempbuf, ptr_flash.len); break; */ // case ALARMM: // for(loop2 = 0;loop2 < ptr_flash.len;loop2++) // IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); // memcpy(alarms ,tempbuf, ptr_flash.len); // break; case ALARM_SET: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(alarms_set ,tempbuf, ptr_flash.len); break; /* case UNIT: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(units ,tempbuf, ptr_flash.len); break; case USER_NAME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); memcpy(passwords ,tempbuf, ptr_flash.len); break; */ case WR_TIME: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) { IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); } memcpy(wr_times ,tempbuf, ptr_flash.len); break; case AR_DATA: for(loop2 = 0;loop2 < ptr_flash.len;loop2++) { IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); } memcpy(ar_dates ,tempbuf, ptr_flash.len); break; // case TSTAT: // for(loop2 = 0;loop2 < ptr_flash.len;loop2++) // { // IntFlashReadByte(0x70000 + base_addr + loop2,&tempbuf[loop2]); // } // memcpy(tst_info ,tempbuf, ptr_flash.len); break; break; default: break; } } Flash_Read_Code(); }
void Flash_Read_Schedule(void) { STR_flag_flash ptr_flash; U16_T base_addr; U8_T loop; U16_T loop2, loop1; ptr_flash.index = 0; for(loop = 0; loop < T_TOTAL; loop++) { ptr_flash.table = loop; ptr_flash.len = Flash_Position[loop].len; base_addr = Flash_Position[loop].addr; switch(loop) { case T_WEEK_DES: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_WR; loop1++) { memcpy(WR_Roution[loop1].UN.all, &tempbuf[WR_DESCRIPTION_SIZE * loop1], WR_DESCRIPTION_SIZE); } break; case T_WEEK_ONTIME: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_WR; loop1++) { memcpy(&WR_Roution[loop1].OnTime, &tempbuf[WR_TIME_SIZE * loop1], WR_TIME_SIZE); } break; case T_WEEK_OFFTIME: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_WR; loop1++) { memcpy(WR_Roution[loop1].OffTime, &tempbuf[WR_TIME_SIZE * loop1], WR_TIME_SIZE); } break; case T_ANNUAL_DES: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_AR; loop1++) { memcpy(AR_Roution[loop1].UN.all, &tempbuf[AR_DESCRIPTION_SIZE * loop1], AR_DESCRIPTION_SIZE); } break; case T_ANNUAL_TIME: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_AR; loop1++) { memcpy(AR_Roution[loop1].Time, &tempbuf[AR_TIME_SIZE * loop1], AR_TIME_SIZE); } break; case T_ID: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_ID; loop1++) { memcpy(ID_Config[loop1].all, &tempbuf[ID_SIZE * loop1], ID_SIZE); } break; case T_SCAN: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < MAX_ID; loop1++) { memcpy((U8_T *)&scan_db[loop1], &tempbuf[SCAN_DB_SIZE * loop1], SCAN_DB_SIZE); } break; case T_GSM: for(loop2 = 0; loop2 < ptr_flash.len; loop2++) IntFlashReadByte(0x70000 + base_addr + loop2, &tempbuf[loop2]); for(loop1 = 0; loop1 < PHONE_NUM_SIZE; loop1++) { memcpy(&phoneNumber[loop1], &tempbuf[ loop1], 1); } break; default: break; } } }