Страница 1 из 2

Таймер в условно бесконечном цикле

Добавлено: Ср мар 11, 2020 4:32 pm
zevplus
Всем доброго дня!
Прошу помощи в решении следующей задачи - организовать режим нагрузочного тестирования телевизионной приставки путем переключения каналов.

Исходные данные:

MegaD + IR передатчик
Majordomo со сценой IR_RCU. На сцене кнопка IR_Ch_UP_Run (img) c состояниями RUN и STOP.

Нужно придумать алгоритм - как посылать IR команду

Код: Выделить всё

file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560"); 
каждые 3 секунды, пока состояние кнопки IR_Ch_UP_Run на сцене IR_RCU = RUN

Заранее спасибо!

Евгений.

Re: Таймер в условно бесконечном цикле

Добавлено: Ср мар 11, 2020 5:01 pm
Chainik
zevplus писал(а):
Ср мар 11, 2020 4:32 pm
Всем доброго дня!
Прошу помощи в решении следующей задачи - организовать режим нагрузочного тестирования телевизионной приставки путем переключения каналов.

Исходные данные:

MegaD + IR передатчик
Majordomo со сценой IR_RCU. На сцене кнопка IR_Ch_UP_Run (img) c состояниями RUN и STOP.

Нужно придумать алгоритм - как посылать IR команду

Код: Выделить всё

file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560"); 
каждые 3 секунды, пока состояние кнопки IR_Ch_UP_Run на сцене IR_RCU = RUN

Заранее спасибо!

Евгений.
1. Создать объект, создать свойство, создать метод.
2. Прописать код метода:

Код: Выделить всё

If (gg('Имя_объекта.Имя_свойства') == 1) {
file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560");
SetTimeOut("myTimer_55","callMethod('Имя_объекта.Имя_метода');",3);
} else {
return "";
}
3. В состоянии кнопки на сцене RUN вписать код PHP:

Код: Выделить всё

sg('Имя_объекта.Имя_свойства', 0);
4. Для состояния RUN сослаться на Объект.Свойство и выставить условие отображения "=1".
5. В состоянии кнопки на сцене STOP вписать код PHP:

Код: Выделить всё

sg('Имя_объекта.Имя_свойства', 1);
cm('Имя_объекта.Имя_метода');
6. Для состояния STOP сослаться на Объект.Свойство и выставить условие отображения "<>1".

Re: Таймер в условно бесконечном цикле

Добавлено: Ср мар 11, 2020 10:49 pm
xor
Chainik писал(а):
Ср мар 11, 2020 5:01 pm
...
1. Создать объект, создать свойство, создать метод.
...
можно без доп. объекта, обойдясь скриптом в две строки, в котором первая строка
file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00F ... 0&irp4=560");
а последняя - таймер с запуском этого же скрипта с 3-х секундной задержкой, в ран кнопки запуск этого скрипта, в стоп - cleartimeout('имя_таймера_из_скрипта');
единственно, стоп придется неск. раз, возможно, нажать, чтобы попасть во время (3с-время выполнения file_get_contents) но если это для отладки, а не пост. решение, то сойдёт)

Re: Таймер в условно бесконечном цикле

Добавлено: Чт мар 12, 2020 11:13 am
zevplus
Спасибо!

Сегодня попробую!

Евгений.

Re: Таймер в условно бесконечном цикле

Добавлено: Чт мар 12, 2020 1:18 pm
zevplus
Chainik писал(а):
Ср мар 11, 2020 5:01 pm

1. Создать объект, создать свойство, создать метод.
Можете посоветовать - в каком классе создавать этот объект (IR_Sender)? или класс тоже нужно создать? у меня есть классы из установки "по умолчанию" - , например, SDevices

С уважением, Евгений.

Re: Таймер в условно бесконечном цикле

Добавлено: Чт мар 12, 2020 3:07 pm
Chainik
zevplus писал(а):
Чт мар 12, 2020 1:18 pm
Chainik писал(а):
Ср мар 11, 2020 5:01 pm

1. Создать объект, создать свойство, создать метод.
Можете посоветовать - в каком классе создавать этот объект (IR_Sender)? или класс тоже нужно создать? у меня есть классы из установки "по умолчанию" - , например, SDevices

С уважением, Евгений.
Я бы на вашем месте создал новый класс. Это (создание нового класса) вас в дальнейшем ни к чему не обязывает. Просто будете овладевать базовым функционалом системы. А заодно избежите неочевидных для пользователя вещей, которые могут подстерегать в уже существующих классах.
Так что инструкцию можно было начать так:
1. Создать класс, создать объект, создать свойство, создать метод. :)

Re: Таймер в условно бесконечном цикле

Добавлено: Чт мар 12, 2020 4:32 pm
zevplus
Chainik писал(а):
Ср мар 11, 2020 5:01 pm
...
Так что инструкцию можно было начать так:
1. Создать класс, создать объект, создать свойство, создать метод. :)
Спасибо - Буду учить мат часть...

Евгений

Re: Таймер в условно бесконечном цикле

Добавлено: Пт мар 13, 2020 6:23 pm
zevplus
Всем большое спасибо!

Все получилось!

Единственное, что изменил - свойства и метод сделал для класса а не для объекта (у меня объектов несколько).

Как развитие - добавил свойство "счетчик" и теперь каналы переключаются 30 раз вверх и 30 раз вниз пока не нажата кнопка Stop.

Если кому интересно - готов все расписать по шагам...

Евгений.

Re: Таймер в условно бесконечном цикле

Добавлено: Пт мар 13, 2020 7:37 pm
Chainik
zevplus писал(а):
Пт мар 13, 2020 6:23 pm
Всем большое спасибо!

Все получилось!
...
Ну отлично!
А для "спасибо" есть специальная кнопочка (в виде жеста, выражающего одобрение). :)

Re: Таймер в условно бесконечном цикле

Добавлено: Пн авг 31, 2020 5:28 pm
vitosmaxim80sad145
zevplus писал(а):
Пт мар 13, 2020 6:23 pm
Всем большое спасибо!

Все получилось!

Единственное, что изменил - свойства и метод сделал для класса а не для объекта (у меня объектов несколько).

Как развитие - добавил свойство "счетчик" и теперь каналы переключаются 30 раз вверх и 30 раз вниз пока не нажата кнопка Stop.

Если кому интересно - готов все расписать по шагам...

Евгений.
Да было бы не плохо расписать но наверное не 30 каналов а просто вверх пока не остановил .за ранее спасибо