#if 1 //语音播报格式 当前时间九点三十四分当前步数零
//'T' 十
//'H' 点
//'M' 分
PUBLIC void zwx_common_get_hm_str(uint8 * timestr)
{
SCI_TIME_T time = {0};
if (PNULL == timestr)
{
MMI_ASSERT_WARNING("PNULL != timestr");/*assert verified*/
return;
}
TM_GetSysTime(&time);
if(time.hour>=20)
{
// if(time.min == 0)
// { //20:00
// sprintf((char*)timestr,"%d%c%c%d%c",
// (time.hour/10)%10, //取10位上的数
// 'T',
// 'H',
// time.min,
// 'M'
// );
// }
if(time.hour>20)
{
if(time.min%10 == 0) // 21:20
{
if(time.min == 0) //21:00
{
sprintf((char*)timestr,"%d%c%d%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
time.min,
'M'
);
}
else if(time.min>=20) //21:20
{
sprintf((char*)timestr,"%d%c%d%c%d%c%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //21:10
{
sprintf((char*)timestr,"%d%c%d%c%c%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //21:21
{
sprintf((char*)timestr,"%d%c%d%c%d%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //21:11
sprintf((char*)timestr,"%d%c%d%c%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
'T',
time.min%10,
'M'
);
}
else //21:09
{
sprintf((char*)timestr,"%d%c%d%c%02d%c",
(time.hour/10)%10, //取10位上的数
'T',
time.hour%10,
'H',
time.min,
'M'
);
}
}
}
else{ //hour ==20
if(time.min%10 == 0)
{
if(time.min == 0) //20:00
{
sprintf((char*)timestr,"%d%c%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
time.min,
'M'
);
}
else if(time.min>=20) //20:20
{
sprintf((char*)timestr,"%d%c%c%d%c%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //20:10
{
sprintf((char*)timestr,"%d%c%c%c%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //20:21
{
sprintf((char*)timestr,"%d%c%c%d%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //20:11
sprintf((char*)timestr,"%d%c%c%c%d%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
'T',
time.min%10,
'M'
);
}
else //20:09
{
sprintf((char*)timestr,"%d%c%c%02d%c",
(time.hour/10)%10, //取10位上的数
'T',
'H',
time.min,
'M'
);
}
}
} //
}
else if(time.hour>=10)// hour<20
{
if(time.hour>10)
{
if(time.min%10 == 0)
{
if(time.min == 0) //11:00
{
sprintf((char*)timestr,"%c%d%c%d%c",
'T', //取10位上的数
time.hour%10,
'H',
time.min,
'M'
);
}
else if(time.min>=20) //11:20
{
sprintf((char*)timestr,"%c%d%c%d%c%c",
'T', //取10位上的数
time.hour%10,
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //11:10
{
sprintf((char*)timestr,"%c%d%c%c%c",
'T', //取10位上的数
time.hour%10,
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //11:21
{
sprintf((char*)timestr,"%c%d%c%d%c%d%c",
'T',
time.hour%10,
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //11:11
sprintf((char*)timestr,"%c%d%c%c%d%c",
'T',
time.hour%10,
'H',
'T',
time.min%10,
'M'
);
}
else //11:09
{
sprintf((char*)timestr,"%c%d%c%02d%c",
'T',
time.hour%10,
'H',
time.min,
'M'
);
}
} // h>10
} //
else //h=10
{
if(time.min%10 == 0)
{
if(time.min == 0) //10:00
{
sprintf((char*)timestr,"%c%c%d%c",
'T',
'H',
time.min,
'M'
);
}
else if(time.min>=20) //10:20
{
sprintf((char*)timestr,"%c%c%d%c%c",
'T',
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //10:10
{
sprintf((char*)timestr,"%c%c%c%c",
'T',
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //10:21
{
sprintf((char*)timestr,"%c%c%d%c%d%c",
'T',
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //10:11
sprintf((char*)timestr,"%c%c%c%d%c",
'T',
'H',
'T',
time.min%10,
'M'
);
}
else //10:09
{
sprintf((char*)timestr,"%c%c%02d%c",
'T',
'H',
time.min,
'M'
);
}
}
} // -- h = 10
}else if(time.hour>0)//h<10
{
if(time.min%10 == 0)
{
if(time.min == 0) //9:00
{
sprintf((char*)timestr,"%d%c%d%c",
time.hour,
'H',
time.min,
'M'
);
}
else if(time.min>=20) //9:20
{
sprintf((char*)timestr,"%d%c%d%c%c",
time.hour,
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //9:10
{
sprintf((char*)timestr,"%d%c%c%c",
time.hour,
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //9:21
{
sprintf((char*)timestr,"%d%c%d%c%d%c",
time.hour,
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //9:11
sprintf((char*)timestr,"%d%c%c%d%c",
time.hour,
'H',
'T',
time.min%10,
'M'
);
}
else //9:09
{
sprintf((char*)timestr,"%d%c%02d%c",
time.hour,
'H',
time.min,
'M'
);
}
} // h>10
}else//h=0
{
if(time.min%10 == 0)
{
if(time.min == 0) //0:0
{
sprintf((char*)timestr,"%d%c%d%c",
time.hour,
'H',
time.min,
'M'
);
}
else if(time.min>=20) //0:20
{
sprintf((char*)timestr,"%d%c%d%c%c",
time.hour,
'H',
(time.min/10)%10,
'T',
'M'
);
}
else //9:10
{
sprintf((char*)timestr,"%d%c%c%c",
time.hour,
'H',
'T',
'M'
);
}
}
else //min%10!=0;
{
if(time.min>20) //0:21
{
sprintf((char*)timestr,"%d%c%d%c%d%c",
time.hour,
'H',
(time.min/10)%10,
'T',
time.min%10,
'M'
);
}
else if(time.min>10){ //0:11
sprintf((char*)timestr,"%d%c%c%d%c",
time.hour,
'H',
'T',
time.min%10,
'M'
);
}
else //9:09
{
sprintf((char*)timestr,"%d%c%02d%c",
time.hour,
'H',
time.min,
'M'
);
}
} //
}
}
#endif
别的函数调用
zwx_common_update_day_step();
step = zwx_common_get_current_day_step();
zwx_common_get_hm_str(sys_time_str);
sprintf(playinfo,"%s%s%s%d","F",sys_time_str,"S",step);
len = strlen(playinfo);
mmi_key_down_to_paly_yellow_info();
PUBLIC void mmi_key_down_to_paly_yellow_info()
{
mmi_start_play_yellow_key_info();
}
LOCAL void mmi_start_play_yellow_key_info()
{
if(index<len)
{
mmi_play_ring_id_callback(zwx_get_sys_volume(),charToId(playinfo[index]),mmi_play_yellow_key_info_callback);
SCI_TRACE_LOW("xwd play yellow key info:%c\n",playinfo[index]);
}
}
LOCAL void mmi_play_yellow_key_info_callback(uint32 result, DPARAM param)
{
uint8 id=0;
if(result==MMISRVAUD_REPORT_RESULT_SUCESS)
{
//id=sim_num[current_num]-48;
SCI_TRACE_LOW("xwd play yellow key index:%d\n",index);
index++;
if(index<len)
{
MMIAPISET_StopAppRing();
// SCI_SLEEP(100);
yellow_play_timer = MMK_CreateTimerCallback(100, mmi_play_timeout, PNULL, FALSE);
}
else
{
index = 0;
len = 0;
yellow_play_start_flag = 0;
MMIAPISET_StopAppRing();
}
}
}
LOCAL void mmi_play_timeout(void)
{
mmi_play_ring_id_callback(zwx_get_sys_volume(),charToId(),mmi_play_yellow_key_info_callback);
SCI_TRACE_LOW("xwd play yellow key info timeout:%c\n",playinfo[index]);
}
LOCAL uint16 charToId()
{
char info = playinfo[index];
SCI_TRACE_LOW("xwd info:%c\n",info);
if(info =='F')
{
SCI_TRACE_LOW("xwd current time");
return R_CURRENT_TIME;
}
else if(info =='S')
{
SCI_TRACE_LOW("xwd return current step");
return R_CURRENT_STEPS;
}
else if(info =='1')
{
return R_NUM_1;
}
else if(info =='2')
{
return R_NUM_2;
}
else if(info =='3')
{
return R_NUM_3;
}
else if(info =='4')
{
return R_NUM_4;
}
else if(info =='5')
{
return R_NUM_5;
}
else if(info =='6')
{
return R_NUM_6;
}
else if(info =='7')
{
return R_NUM_7;
}
else if(info =='8')
{
return R_NUM_8;
}
else if(info =='9')
{
return R_NUM_9;
}
else if(info =='0')
{
return R_NUM_0;
}
else if(info =='H')
{
return R_HOUR;
}
else if(info =='M')
{
return R_MINUTES;
}
else if(info == 'T')
{
return R_NUM_10;
}
return -1;
}