📄 mmitimedate.c
字号:
else
{
GetMonthTable(&today, 0, 1, &month_table);
t2=month_table.year-2000;
t2=t2*13+month_table.month;
t2=t2*32+month_table.day;
t2=t2*61+FFS_flashData.opentime[0];
t2=t2*61+FFS_flashData.opentime[1];
// if((t_string<0)||(t_string1==0))
if( (t2<t3)||(t1==t3) )
{
// strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=AUTOPOWER;
}
else if( t2==t3 )
{
FFS_flashData.latest_alarm.alarm_type=AUTOPOWER;
}
}
}
for( i=0;i<SCHEDULE_NUMBER;i++ )
{
if( ScheDetailIndex[i].index )
{
if( ScheDetailIndex[i].ringandt/16 )
{
switch( FFS_ScheData.FfsSche[i%SCHEDULE_NUMBER].ringandf%16 )//schedule need change
{
case ONCE:
t2=ScheDetailIndex[i].date[0]-2000;
t2=t2*13+ScheDetailIndex[i].date[1]/256;
t2=t2*32+ScheDetailIndex[i].date[1]%256;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
//if(t_string>0)
if( t2>t1 )
{
//t_string=strcmp(timedate_string2,timedate_string3);
//t_string1=strcmp(timedate_string1,timedate_string3);
//if((t_string<0)||(t_string1==0))
if( (t2<t3)||(t1==t3) )
{
//strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
}
}
break;
case EVERYDAY:
t2=currdate.year-2000;
t2=t2*13+currdate.month;
t2=t2*32+currdate.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
// if(t_string>0)
if( t2>t1 )
{
//t_string=strcmp(timedate_string2,timedate_string3);
//t_string1=strcmp(timedate_string1,timedate_string3);
//if((t_string<0)||(t_string1==0))
if( (t2<t3)||(t1==t3) )
{
//strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.daily_switch=TRUE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
else
{
GetMonthTable(&today, 0, 1, &month_table);
t2=month_table.year-2000;
t2=t2*13+month_table.month;
t2=t2*32+month_table.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
// if((t_string<0)||(t_string1==0))
if( (t2<t3)||(t1==t3) )
{
//strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.daily_switch=TRUE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
break;
case WEEKLY: // MI18800000270
if( ScheDetailIndex[i].wday != today.week )
{
if( ScheDetailIndex[i].wday < today.week ) // next week
{
GetMonthTable(&today, 0, 7-(today.week-ScheDetailIndex[i].wday), &month_table);
}
else if( ScheDetailIndex[i].wday > today.week )
{
GetMonthTable(&today, 0, ScheDetailIndex[i].wday-today.week, &month_table);
}
t2=month_table.year-2000;
t2=t2*13+month_table.month;
t2=t2*32+month_table.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
FFS_flashData.latest_alarm.weekly_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
}
else
{
t2=currdate.year-2000;
t2=t2*13+currdate.month;
t2=t2*32+currdate.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
FFS_flashData.latest_alarm.weekly_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
else
{
GetNextWeek(&today_date, 1, &next_date);
t2=today_date.year-2000;
t2=t2*13+today_date.month;
t2=t2*32+today_date.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
FFS_flashData.latest_alarm.weekly_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
}
}
break;
case EVERYMONTH: // MI18800000270
t2=currdate.year-2000;
t2=t2*13+currdate.month;
t2=t2*32+ScheDetailIndex[i].date[1]%256;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.month_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
else
{
GetMonthTable(&today, 1, 0, &month_table);
t2=month_table.year-2000;
t2=t2*13+month_table.month;
t2=t2*32+month_table.day;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.month_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.year_switch=FALSE;
}
}
break;
case ANNUALLY:
t2=currdate.year-2000;
t2=t2*13+ScheDetailIndex[i].date[1]/256;
t2=t2*32+ScheDetailIndex[i].date[1]%256;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.year_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
}
}
else
{
t2=currdate.year+1-2000;
t2=t2*13+ScheDetailIndex[i].date[1]/256;
t2=t2*32+ScheDetailIndex[i].date[1]%256;
t2=t2*61+ScheDetailIndex[i].hour;
t2=t2*61+ScheDetailIndex[i].minute;
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
t3=t2;
FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
FFS_flashData.latest_alarm.schedule_position=i;
FFS_flashData.latest_alarm.year_switch=TRUE;
FFS_flashData.latest_alarm.daily_switch=FALSE;
FFS_flashData.latest_alarm.weekly_switch=FALSE;
FFS_flashData.latest_alarm.month_switch=FALSE;
}
}
}
break;
}
}
}
}
//ordinary weekly alarm
if( FFS_flashData.weeklyAlarm_switch&(0x01<<today.week) )
{
t2=currdate.year-2000;
t2=t2*13+currdate.month;
t2=t2*32+currdate.day;
t2=t2*61+FFS_flashData.weeklyAlarm_hour;
t2=t2*61+FFS_flashData.weeklyAlarm_min;
//if(t_string>0)
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
//strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
FFS_flashData.latest_alarm.schedule_position=1;
}
else if( t2==t3 )// if(t_string==0)
{
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
//FFS_flashData.latest_alarm.schedule_position=1;
}
}
else
{
today_date.year=currdate.year;
today_date.month=currdate.month;
today_date.day=currdate.day;
GetNextWeek(&today_date, 1, &next_date);
t2=next_date.year-2000;
t2=t2*13+next_date.month;
t2=t2*32+next_date.day;
t2=t2*61+FFS_flashData.weeklyAlarm_hour;
t2=t2*61+FFS_flashData.weeklyAlarm_min;
// if(t_string>0)
if( t2>t1 )
{
// t_string=strcmp(timedate_string2,timedate_string3);
// t_string1=strcmp(timedate_string1,timedate_string3);
// if((t_string<0)||(t_string1==0))
if( (t2<t3)||(t1==t3) )
{
// strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
FFS_flashData.latest_alarm.schedule_position=1;
}
else if( t3==t2 )//(t_string==0)
{
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
//FFS_flashData.latest_alarm.schedule_position=1;
}
}
}
}
if( FFS_flashData.weeklyAlarm_switch&(0x01<<((today.week+1)%7)) )//add else
{
GetMonthTable(&today, 0, 1, &month_table);
t2=month_table.year-2000;
t2=t2*13+month_table.month;
t2=t2*32+month_table.day;
t2=t2*61+FFS_flashData.weeklyAlarm_hour;
t2=t2*61+FFS_flashData.weeklyAlarm_min;
//if(t_string>0)
if( t2>t1 )
{
if( (t2<t3)||(t1==t3) )
{
//strcpy(timedate_string3,timedate_string2);
t3=t2;
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
FFS_flashData.latest_alarm.schedule_position=1;
}
else if( t2==t3 )//(t_string==0)
{
FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
//FFS_flashData.latest_alarm.schedule_position=1;
}
}
else
{
today_date.year=month_table.year;
today_date.month=month_table.month;
today_date.day=month_table.day;
GetNextWeek(&today_date, 1, &next_date);
t2=next_date.year-2000;
t2=t2*13+next_date.month;
t2=t2*32+next_date.day;
t2=t2*61+FFS_flashData.weeklyAlarm_hour;
t2=t2*61+FFS_flashData.weeklyAlarm_min;
// if(t_string>0)
if( t2>t1 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -