onInit — выполнения действий при загрузке модуля (при переписывания логики, либо подачи питания).

Описание:

void onInit() {

}

При перезагрузке модуля выполняются действия указанные в фигурных скобках. Применяться для задания начальных параметров,условий, для правильной инициализации системы, подготовки ее к работе или совместно с функциями eeEmulRead, eeEmulWrite.

Пример:

<item addr="524:248" addr="524:248" LAMP1="512:8" LAMP2="512:9" name="Тест
для функции onInit()" type="script">

void onInit() 
{
	setStatus(LAMP1, 1);
	setStatus(LAMP2, 1);
	u32 val = 0;
	eeEmulRead(1, &val);

	if(val > 200) 
	{
		setStatus(2023:32, {1, "модуль перезагружали больше 200 раз!"});
	} 
	else 
	{
		u8 strForMess[70]; 
		sprintf(strForMess, "%модуль перезагружали %d раз!", 4, val);
		setStatus(2023:32, &strForMess);
		++val;
		eeEmulWrite(1, val);
	}
}

V-ID/V-ADDR
{
	if(opt0())
	{
		eeEmulWrite(1, 1); 
		setStatus(2023:32, {1, "Отсчет начат!"});
	}
}

</item>

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

При нажатии на элемент script и в дальнейшем перезагрузке модуля по питанию, будут включаться элементы LAMP1 и LAMP2, а также выводиться сообщения в интерфейс о том, сколько раз модуль был перезагружен.

Примечание:

При подключении нескольких скриптов с данной функцией внутри на один модуль выполняться все подключенные функции.