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

Описание:

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

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

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

func

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

time

Время в миллисекундах. Миллисекунды можно указывать только кратно 50. Максимальное количество милисекунд кторое можно указать 10000 единиц.

Пример:

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

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

V-ID/V-ADDR 
{
	if(opt0())
	{
		delayedCallMsR(onOffLamp, 500);
	}

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

</item>

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

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

Примечание:

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

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