delayedCallR — отложенный вызов функции каждые указанное количество секунд.

Описание:

void delayedCallR(void *func, u16 time[,u32 data]);

Отложенный вызов функции func каждые time секунд. В версиях прошивки модулей и сервера после 05.07.2016 поддержано передача параметра data.

Список параметров:

func

Указатель на функцию.

time

Время в секундах. Максимальное количество секунд которое можно указать 0хFFFF.

Пример:

<item id="524" LAMP="524:19" name="Тест для функции delayedCallR" type="script">

void onOffLamp() 
{
	setStatus(LAMP, ![LAMP]);
}

V-ID/V-ADDR 
{
	if(opt0())
	{
		delayedCallR(onOffLamp, 2);
	}

	if(!opt0())
	{
		cancelDelayedCall(onOffLamp);
	}
}

</item>

Результат выполнения данного примера:

Каждые 2е секунды элемент LAMP будет менять свое состояние на противоположное(если включена – выключаться, если выключена – включаться)

Примечание:

· При назначении отложенного вызова повторно на одну и ту же функцию до срабатывания предыдущего вызова будет создан 2й отложенный вызов, а не перезаписан предыдущий.

· Для приостановки отложенного вызова функции используйте cancelDelayedCall