示例#1
0
void LightScheduler_WakeUp(void)
{
    int i;
    Time time;

    TimeService_GetTime(&time);
    Day today = time.dayOfWeek;
    int minuteOfDay = time.minuteOfDay;

    for (i = 0; i < MAX_EVENTS; i++)
    {
        ScheduledLightEvent * event = &eventList[i];
        /* if (eventIsReadyToExecute(&time, event)) */
        /*     operateLight(event); */
        /*     resetRandomize(event); */
        if (event->id == UNUSED)
            continue;
        if (!matchesDay(&time, event))
            continue;
        if (minuteOfDay == event->minuteOfDay + event->randomMinutes)
        {
            operateLight(event);
            resetRandomize(event);
        }
    }
}
示例#2
0
void processEventsDueNow(Time * time, ScheduledLightEvent * event)
{
    if (eventIsReadyToExecute(time, event))
    {
        operateLight(event);
        resetRandomize(event);
    }
}
示例#3
0
static void processEventDueNow(Time * time, ScheduledLightEvent * lightEvent)
{
    if (lightEvent->id == UNUSED)
        return;

    if (lightEvent->minuteOfDay != time->minuteOfDay)
        return;

    operateLight(lightEvent);
}
示例#4
0
static void processEventDueNow(Time * time, ScheduledLightEvent * lightEvent)
{
    int reactionDay = lightEvent->day;
    if (lightEvent->id == UNUSED)
        return;
    if (reactionDay != EVERYDAY && reactionDay != today)
        return;
    if (lightEvent->minuteOfDay != time->minuteOfDay)
        return;

    operateLight(lightEvent);
}
示例#5
0
void LightScheduler_WakeUp(void)
{
    int i;
    Time time;

    TimeService_GetTime(&time);

    for (i = 0; i < MAX_EVENTS; i++)
    {
        ScheduledLightEvent * event = &eventList[i];
        if (eventIsReadyToExecute(&time, event))
        {
            operateLight(event);
            resetRandomize(event);
        }
    }
}
示例#6
0
static void proccessEventDueNow(Time *time, ScheduledLightEvent *lightEvent)
{
	int reactionDay = lightEvent->day;
	int today = time->dayOfWeek;

	if (lightEvent->id == UNUSED) {
		return;
	}

	if (reactionDay == WEEKEND && (today != SATURDAY && today != SUNDAY)) {
		return;
	}

	if (reactionDay != WEEKEND && reactionDay != EVERYDAY && reactionDay != today) {
		return;
	}

	if (time->minuteOfDay != lightEvent->minuteOfDay) {
		return;
	}

	operateLight(lightEvent);
}