📄 mfw_ffs.c
字号:
{
ConfigFLASHSMSReset(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(str,&FFS_SMSData,sizeof(FFS_SMSData));
}
}
#if 0
void FlashSmsInitialise(void)
{
FFS_SMSData = ALDefaultFlashSMS;
}
effs_t flash_Smswrite()
{ //write_flag = DATA;
//return ffs_fwrite("/mmi/FlashSmsData", &FFS_SMSData, sizeof(FFS_SMSData));
ffsfileCmd.ffsfile[SmsFileIdx].pdir=FFSFILE_SMS_PATH;
ffsfileCmd.ffsfile[SmsFileIdx].pdata=&FFS_SMSData;
ffsfileCmd.ffsfile[SmsFileIdx].size=sizeof(FFS_SMSData);
ffsfileCmd.ffsfile[SmsFileIdx].writeStatus=1;
return 0;
}
effs_t flash_Smsread()
{
FlashSmsInitialise(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(FFSFILE_SMS_PATH, &FFS_SMSData, sizeof(FFS_SMSData));
}
#endif
/*---------------------end windy added for flash sms-----------------------------*/
/*------------------------------phonebook default data struct and function------------------*/
static const FlashPBotherdata ALDefaultOtherConfigPhbk=
{
{{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""}},
{{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}}
};
static const FlashPBdata ALDefaultConfigPhbk=
{
{{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//05
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//10
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//15
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//20
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//25
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//30
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//35
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//40
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//45
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//50
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//55
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//60
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//65
{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},{"","","","","",0x0F},//70
{"","","","","",0x0F},{"","","","","",0x0F},//72
}
};
/* glowing: add the record time from 20 seconds to 30 seconds, cut down
VM_file from 10 to 6 */
/*
static const FlashVMdata ALDefaultConfigVM=
{
{{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},//05
{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0}}//10
};
char vm_name[VM_file][5]={"vm01","vm02","vm03","vm04","vm05",
"vm06","vm07","vm08","vm09","vm10"};
*/
static const FlashVMdata ALDefaultConfigVM=
{
{{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},{"",0,0,0,0,0,0},//05
{"",0,0,0,0,0,0}}//6
};
char vm_name[VM_file][5]={"vm01","vm02","vm03","vm04","vm05",
"vm06"};
/* 2004/04/22 sunsj modify */
char PBTable[PHB_PBTable][15]={"PhoneRecord1","PhoneRecord2","PhoneRecord3"};
FlashVMdata FFS_VMData;
FlashPBdata FFS_PBData;
FlashPBotherdata FFS_PBOtherData;
T_MFW_PHB_INDEX l_phb_index[ALL_NUMBER_LIST];
UINT8 SimNumber[ALL_SIM_LIST][PHB_number_len/2+1];
int NVMTotal,SIMTotal,PHBKTotal;
U8 SIMLoadingPhbk;
U8 NVMLoadingPhbk=TRUE;//hxl add for update nvm list data 2002-10-21
T_MFW_PHB_SORT_INDEX l_phb_sort_index[ALL_NUMBER_LIST];
T_MFW_PHB_TABLE CurrentTable;
T_EntryEvent phonebookstatus;
int Copyidx;
static MfwHnd ffscheck=0; //Bob added 02/17
int ffs_status=0; //Bob added 02/17
void FfsCheckEvent();
void ConfigVMReset(void)
{
FFS_VMData=ALDefaultConfigVM;
}
int flash_VMwrite(const char *filename)
{
char str[20]="/voicememory/";
strcat(str,filename);
MmiTrace("flash_VMwrite");
//return ffs_fwrite(str,&FFS_VMData,sizeof(FFS_VMData));
ffsfileCmd.ffsfile[VMFileIdx].pdir=FFSFILE_VM_PATH;
ffsfileCmd.ffsfile[VMFileIdx].pdata=&FFS_VMData;
ffsfileCmd.ffsfile[VMFileIdx].size=sizeof(FFS_VMData);
ffsfileCmd.ffsfile[VMFileIdx].writeStatus=1;
//if time is stop
return 0;
}
int flash_VMread(const char *filename)
{
char str[20]="/voicememory/";
strcat(str,filename);
if( flash_CheckStat(str)<0 ) return 0;
else
{
ConfigVMReset(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(str,&FFS_VMData,sizeof(FFS_VMData));
}
}
static const ffsgamedata defaulffs_gamedata=
{
/*
{20000, 20000, 20000, 15000},
{
{IconDifficult, 0 },
{IconAudio , 40 },
{IconLeft , KCD_MNULEFT },
{IconRight , KCD_MNURIGHT },
{IconDown , KCD_MNUDOWN },
{IconUp , KCD_MNUUP },
{IconFire , KCD_OK },
{IconExit , KCD_HUP },
{IconDefault , 0xff },
},
*/
#if 0
{
{IconAudio , 40},
{IconLeft , KCD_MNULEFT},
{IconRight , KCD_MNURIGHT},
{IconDown , KCD_MNUDOWN},
{IconChange, KCD_OK},
{IconPause, KCD_CALL},
{IconExit , KCD_HUP},
{IconDefault , 0xff},
},
{
{IconAudio , 40},
{IconLeft , KCD_MNULEFT},
{IconRight , KCD_MNURIGHT},
{IconDown , KCD_MNUDOWN},
{IconUp , KCD_MNUUP},
{IconRestart , KCD_CALL},
{IconRegret , KCD_RIGHT},
{IconExit , KCD_HUP},
{IconDefault , 0xff},
},
#endif
//{1880,1000,1000,100,0,},
{500,400,300,0,0,},//russia score
{//bocmap save
{1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,4,1,1,1,1,1,1,
1,1,1,1,1,2,1,1,1,1,1,1,
1,1,1,1,1,3,2,3,4,1,1,1,
1,1,1,4,2,3,5,1,1,1,1,1,
1,1,1,1,1,1,3,1,1,1,1,1,
1,1,1,1,1,1,4,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1},
2,
0
},
/*2004/0515,talcon modify*/
{0,0,0,0,0,},//snake score
};
ffsgamedata ffs_gamedata;
void ConfigGameInit(void)
{
memcpy(&ffs_gamedata,&defaulffs_gamedata,sizeof(ffsgamedata));
}
int flash_Gamewrite(void)
{
MmiTrace("flash_Gamewrite");
ffsfileCmd.ffsfile[GameFileIdx].pdir=FFSFILE_GAME_PATH;
ffsfileCmd.ffsfile[GameFileIdx].pdata=&ffs_gamedata;
ffsfileCmd.ffsfile[GameFileIdx].size=sizeof(ffsgamedata);
ffsfileCmd.ffsfile[GameFileIdx].writeStatus=1;
return 0;
}
int flash_Gameread(void)
{
if(ffsfileCmd.ffsfile[GameFileIdx].writeStatus==1)
return 0;
ConfigGameInit(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(FFSFILE_GAME_PATH,&ffs_gamedata,sizeof(ffsgamedata));
}
void ConfigPhbkReset(void)
{
FFS_PBData=ALDefaultConfigPhbk;
}
void ConfigPhbkOtherReset(void)
{
FFS_PBOtherData=ALDefaultOtherConfigPhbk;
}
effs_t flash_PBwrite(const char *filename)
{
char str[20]="/bmi/"; /* 2004/04/22 sunsj modify */
int idx=0;
char *path=0;
strcat(str,filename);
MmiTrace("flash_PBwrite");
return ffs_fwrite(str,&FFS_PBData,sizeof(FFS_PBData));
#if 0
switch( filename[9] ) //"PhoneBook7"
{
case 0x31:
idx=PHB1FileIdx;
path=FFSFILE_PHB1_PATH;
break;
case 0x32:
idx=PHB2FileIdx;
path=FFSFILE_PHB2_PATH;
break;
case 0x33:
idx=PHB3FileIdx;
path=FFSFILE_PHB3_PATH;
break;
case 0x34:
idx=PHB4FileIdx;
path=FFSFILE_PHB4_PATH;
break;
case 0x35:
idx=PHB5FileIdx;
path=FFSFILE_PHB5_PATH;
break;
case 0x36:
idx=PHB6FileIdx;
path=FFSFILE_PHB6_PATH;
break;
case 0x37:
idx=PHB7FileIdx;
path=FFSFILE_PHB7_PATH;
break;
default:
break;
}
ffsfileCmd.ffsfile[idx].pdir=path;
ffsfileCmd.ffsfile[idx].pdata=&FFS_PBData;
ffsfileCmd.ffsfile[idx].size=sizeof(FFS_PBData);
ffsfileCmd.ffsfile[idx].writeStatus=1;
//if time is stop
return 0;
#endif
}
int flash_PBread(const char *filename)
{
char str[20]="/bmi/"; /* 2004/04/22 sunsj modify */
strcat(str,filename);
if( flash_CheckStat(str)<0 )
return 0;
else
{
ConfigPhbkReset(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(str,&FFS_PBData,sizeof(FFS_PBData));
}
}
effs_t flash_PBOtherWrite(const char *filename)
{
char str[20]="/bmi/"; /* 2004/04/22 sunsj modify */
strcat(str,filename);
MmiTrace("flash_PBOtherWrite");
//return ffs_fwrite(str,&FFS_PBOtherData,sizeof(FFS_PBOtherData));
ffsfileCmd.ffsfile[PBOFileIdx].pdir=FFSFILE_PBO_PATH;
ffsfileCmd.ffsfile[PBOFileIdx].pdata=&FFS_PBOtherData;
ffsfileCmd.ffsfile[PBOFileIdx].size=sizeof(FFS_PBOtherData);
ffsfileCmd.ffsfile[PBOFileIdx].writeStatus=1;
//if time is stop
return 0;
}
effs_t flash_PBOtherRead(const char *filename)
{
char str[20]="/bmi/"; /* 2004/04/22 sunsj modify */
strcat(str,filename);
if( flash_CheckStat(str)<0 )
return 0;
else
{
ConfigPhbkOtherReset(); //hxl add for avoid fread fail error 2002-11-25
return ffs_fread(str,&FFS_PBOtherData,sizeof(FFS_PBOtherData));
}
}
#if 0
effs_t flash_PBupdate(const char *filename)
{
char str[20]="/bmi/"; /* 2004/04/22 sunsj modify */
strcat(str,filename);
if( write_flag==DATA )
{
write_flag=NO_DATA;
return ffs_fwrite(str,&FFS_PBData,sizeof(FFS_PBData));
}
else return EFFS_OK;
}
#endif
effs_t flash_PBmkdir(const char *pathname)
{
return ffs_mkdir(pathname);
}
effs_t flash_Opendir(const char *pathname)
{
struct dir_s dir;
return ffs_opendir(pathname,&dir);
}
effs_t flash_CheckStat(const char *name)
{
struct stat_s stat;
return ffs_stat(name,&stat);
}
USHORT GetShortNumber(const char * numstr)
{
USHORT ShortNum;
char Result[22]; /* 2003/12/22 sunsj modify */
int i,len;
char tempstr[22]=""; /* 2003/12/22 sunsj modify */
ShortNum=0x0000;
/* 2003/12/22 sunsj initialize temp buffer */
memset(tempstr, 0x00, sizeof(char)*22);
if( numstr[0]=='+' )
memcpy(tempstr,&numstr[3],18);
else if( numstr[0]=='0'&&numstr[1]=='0' )
memcpy(tempstr,&numstr[4],17);
else memcpy(tempstr,numstr,21);
len=strlen(tempstr)-1;
for( i=len;i>=0;i-- )
Result[len-i]=tempstr[i];
Result[len-i]='\0';
for( i=0;i<7;i=i+2 )
{
switch( i )
{
case 0: if( strlen(Result)-1>=i ) ShortNum=ShortNum+(Result[i]-48);
else ShortNum=ShortNum+0x0F;
break;
case 2: if( strlen(Result)-1>=i ) ShortNum=(ShortNum<<4)+(Result[i]-48);
else ShortNum=(ShortNum<<4)+0x0F;
break;
case 4: if( strlen(Result)-1>=i ) ShortNum=(ShortNum<<4)+(Result[i]-48);
else ShortNum=(ShortNum<<4)+0x0F;
break;
case 6: if( strlen(Result)-1>=i ) ShortNum=(ShortNum<<4)+(Result[i]-48);
else ShortNum=(ShortNum<<4)+0x0F;
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -