Gtl.set timer: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Строка 35: Строка 35:
gtl.set_timeout(9000, single_shot); //запускаем таймер альтернативным способом
gtl.set_timeout(9000, single_shot); //запускаем таймер альтернативным способом


function timeout1()
function timeout1() {
{
   gtl.log.info("timeout", "timeout1");
   gtl.log.info("timeout", "timeout1");
}
}


function timeout2()
function timeout2() {
{
   gtl.log.info("timeout", "timeout2");
   gtl.log.info("timeout", "timeout2");
}
}


function timeout3()
function timeout3() {
{
   gtl.log.info("timeout", "timeout3");
   gtl.log.info("timeout", "timeout3");
}
}


function single_shot()
function single_shot() {
{
   gtl.log.info("timeout", "single shot");
   gtl.log.info("timeout", "single shot");
    
    
   timer1.stop();
   timer1.stop(); //останавливаем таймер 1
   timer2.stop();
   timer2.stop(); //останавливаем таймер 2
   timer3.stop();
   timer3.stop(); //останавливаем таймер 3
    
    
   gtl.stop();
   gtl.stop();
}
}
</pre>
</pre>

Версия от 05:14, 16 февраля 2026

Краткое описание

Функция предназначена для установки таймера запуска (отложенного запуска) функций при проведении диагностики. Используется в случае необходимости отсроченного запуска отдельных функций.

Объявление функции

let timer = gtl.set_timer( время, функция );
Альтернативный способ запуска таймера:
gtl.set_timeout(9000, my_func); //запуск таймера
где:
9000 - время таймера, мс;
my_func - подключаемая функция;

Свойства (методы)

timer.start(); - запуск таймера;
timer.stop(); - остановка таймера;
timer.timeout.connect( функция ); - подключение функции, вызов ее по истечении времени таймера;

Пример использования

let timer1 = gtl.set_timer(); //устанавливаем таймер
timer1.start(1000); //запускаем таймер на время 1000 мс
timer1.timeout.connect(timeout1); //подключаем функцию

let timer2 = gtl.set_timer(2000); //устанавливаем время запуска таймера 2000 мс
timer2.start(); //запускаем таймер
timer2.timeout.connect(timeout2); //подключаем функцию

let timer3 = gtl.set_timer(4000, timeout3); //устанавливаем время запуска таймера 4000 мс и подключаем функцию
timer3.start(); //запускаем таймер

gtl.set_timeout(9000, single_shot); //запускаем таймер альтернативным способом

function timeout1() {
  gtl.log.info("timeout", "timeout1");
}

function timeout2() {
  gtl.log.info("timeout", "timeout2");
}

function timeout3() {
  gtl.log.info("timeout", "timeout3");
}

function single_shot() {
  gtl.log.info("timeout", "single shot");
  
  timer1.stop(); //останавливаем таймер 1
  timer2.stop(); //останавливаем таймер 2
  timer3.stop(); //останавливаем таймер 3
  
  gtl.stop();
}