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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Строка 22: Строка 22:
== Пример использования ==
== Пример использования ==
<pre>
<pre>
//диапазоны из файла (заданые вручную на графике). только чтение.
let timer1 = gtl.set_timer(); //устанавливаем таймер
let ranges = gtl.player.stored_ranges;
timer1.start(1000); //запускаем таймер на время 1000 мс
timer1.timeout.connect(timeout1); //подключаем функцию


//пользовательские диапазоны. запись/чтение
let timer2 = gtl.set_timer(2000); //устанавливаем время запуска таймера 2000 мс
//gtl.player.custom_ranges = [];
timer2.start(); //запускаем таймер
gtl.player.custom_ranges = [{min : 1, max: 2}, ranges[0]];
timer2.timeout.connect(timeout2); //подключаем функцию


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


gtl.diagnostic.interval = 1;
gtl.set_timeout(9000, single_shot); //запускаем таймер альтернативным способом
function diagnose()
 
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("ranges", JSON.stringify(ranges));
   gtl.log.info("timeout", "single shot");
   gtl.log.info("ranges", JSON.stringify(gtl.player.custom_ranges));
 
   gtl.log.info("play time", gtl.player.play_time);
  timer1.stop();
};
   timer2.stop();
  timer3.stop();
 
   gtl.stop();
}
</pre>
</pre>

Версия от 05:13, 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();
  timer2.stop();
  timer3.stop();
  
  gtl.stop();
}