On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



ссылка на сообщение  Отправлено: 19.10.17 11:22. Заголовок: Помогите новичку


Я не самый сильный в программировании, поэтому прошу помощи. У меня есть simple windows. Я неплохо справился с его логикой, но я не могу решить одну задачу(может уже просто настолько мозг забил, что очевидного не вижу).
Задача: 12 сигналов, HIGH может быть только один из них. Задача в том что бы хранить не текущее значение, а предыдущее 2.
появился 1 на первой ноге записали единицу, на второй ноге, записали "текущая" 2, "предыдущая" 1.
Я не нашел переменных где можно хранить, а логикой у меня ни как схема не выходит.
Смысл в чем: 12 микрофонов - я отслеживаю статусы, когда микрофон выключается у меня должен сработать пресет на камере в сторону предидущего включенного, при условии что он активен. Голова кипит уже, помогите мужики.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 1 2 All [только новые]







ссылка на сообщение  Отправлено: 19.10.17 12:55. Заголовок: А какая конгреска то..


А какая конгреска то?
Может вам модуль на BOSCH недорого предложить? (есть на CCU2 и CCSD-CURD 1000D c указанной логикой)
А так получается полумера, да еще проверять активен ли предыдущий все еще. А если и он выключится переход на пред-предыдущий уже не произойдет? :) Тем более пишите что активен только 1 из них.

Описание алгоритма наведения:
Если активирован микрофон N:
1.Выбрать камеру (аналоговый выход) номер которой сохранен для данного микрофона N
2.Загрузить preset N (в режиме Npreset=Nmic) или пресет сохраненный для данного микрофона (в режиме manualPreset). Второй вариант удобен при
использовании встроенных пресетов камер, так как они как правило ограничены малым числом (аналоговый выход).
Если микрофон N выключен:
1.Проверяем был ли он включен последним. Если да то выбираем камеру и пресет для предпоследнего все еще активного микрофона. Либо просто удаляем
микрофон из очереди активных микрофонов с корректировкой последовательности включения у оставшихся.
2.Если активных микрофонов не осталось, выбираем камеру общего плана зала и пресет общего плана (оба значения использую как параметры модуля)

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 19.10.17 13:04. Заголовок: Grisha, давно столкн..


Grisha, давно столкнулся с такой задачей, соорудил модуль. Работает следующим образом:
1. активируется вход №1 (включился микрофон №1) - активируется выход №1.
2. активируется вход №2 - активируется выход №2.
3. активируется вход №3 - активируется выход №3.
4. отключается вход №2 - без изменений.
5. отключается вход№3 - активируется выход №1.
Иными словами, модуль следит за очередью микрофонных станций и показывает последнюю в очереди с учетом возможности того, что ряд предыдущих станций могли выбыть из очереди. Если устроит такой вариант, могу выложить модуль.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 19.10.17 13:34. Заголовок: конгреска DIS cu6005..


конгреска DIS cu6005 я с нее отлично получаю статусы, по статусам навожу пресет.
Попробую объяснить на примере:
уже реализовано:
вкл мик1 - micstatus1(1)-пресет 1
вкл мик2 - micstatus2(1)-пресет изменился на 2
вкл мик3 - micstatus3(1)-пресет изменился на 3
хочу получить:
далее отключаем мик3-пресет должен изменится на 2.
или другой сценарий: все как описано выше, но отключаем мик2(пресет как и был на третьем он не меняется- реализовано), затем отключаем мик 3.
система должна распознать что предыдущий был мик2 и он не активен, смотри далее пред идущий мик1(активен) на него пресет1


Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 19.10.17 13:38. Заголовок: есть ли переменные в..


есть ли переменные в которые я могу заносить данные?
если бы была возможность по событию читать и писать в переменную я бы уже реализовал, но убей не могу их найти или сообразить как иначе поступить.
могу с легкостью накидать такой текст в Си логику вижу, реализовать не могу.


Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 19.10.17 14:29. Заголовок: Grisha, ок, если не ..


Grisha, ок, если не сдохну сегодня на этом объекте, до конца суток выложу.

Спасибо: 1 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 19.10.17 14:30. Заголовок: Дайте пожалуйста мод..


Дайте пожалуйста модуль, он похож на решение моей задачи.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 19.10.17 16:04. Заголовок: Вячеслав, почем у ва..


Вячеслав, почем у вас модули для Bosch DCN?

Когда-то давно, познакомившись с модулем для BOSCH DCN CCU2
я понял, что упускал из виду. Оказалось, что тут очень просто и прозрачно реализована функция отслеживания очереди выступающих
для автонаведения камер с возвратом на предыдущего оратора, глубиной до 4 активных.
Нет ничего плохого в использовании чужих программных решений при создании своих.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 19.10.17 16:57. Заголовок: К сожалению BOSCH не..


К сожалению BOSCH не допилил идею до ума.
С одной стороны да, есть очередь которая соответствует очередности включения. Но все идет прахом, когда узнаешь что этих очереди ДВЕ.
Одна для делегатов, а другая до председателя(ей) и соответственно понять в какой момент вклинился в очередь выступающих председатель не возможно. Отметок времени нет.
Общей очереди нет и для того чтобы собрать ее из 2-х других недостаточно информации. Поэтому, приходится создавать собственную очередь с нуля.

P.S/
Стоимость лицензии (компиляция под ваш s/n контроллера crestron) рублевый эквивалент 30$. Каждая последующая лицензия -10% но не менее 15$.
Обновления и устранение замечаний в пределах версии – бесплатно.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 19.10.17 17:06. Заголовок: Ерунда, не нужно это..


Ерунда, не нужно это никому.

Выше я имел в виду использование кода модуля, прикручивание его для любой конгресс-системы.
Для исключительно дотошных заказчиков этого вполне достаточно как базового функционала.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 19.10.17 17:20. Заголовок: Игорь K. пишет: Еру..


Игорь K. пишет:

 цитата:
Ерунда, не нужно это никому.



Согласен, практика показывает, что подавляющее большинство использует систему с отключенной функцией автонаведения. Тупо общий план.
Но есть и исключения, которым такой алгоритм нравится.
Недавно проектировщик подкинул идею алгоритма: >2 активных = переключаем на общий план. Тоже есть здравый смысл, когда общение между участниками и состояние микрофона не изменяется.
Но на общем плане разглядеть кто сейчас говорит сложновато, суммировать позиции пресетов тоже непонятно как, поэтому пока не воодушевился новым простым сценарием.
Для маленьких переговорок, автонаведение по голосу (средствами EagleEye и SpeakerTrack) вообще рулит.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 19.10.17 17:35. Заголовок: Самолетный компьютер..


Самолетный компьютер работает по менее сложным алгоритмам.

Я бы не советовал уходить в усложнения там, где это не нужно.

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

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 19.10.17 18:32. Заголовок: В том то и дело опер..


В том то и дело оператор там не вырулит, слишком напряжно за всеми уследить и скорость реакции оставляет желать лучшего.
Наводить камеру нажимая кнопочки на сенсорном экране, тыкая в xpanel мышкой и даже используя джойстик не просто. Да и все картинки сделать это сколько камер надо. Т.е. видеть всех проблематично, на общем плане не разглядеть. Еще время подумать какую бы камеру на этого делегата лучше навести, выполнить наведение (пусть даже по пресету) и выполнить переключение на неё видео тоже занимает время.
Недостатки этого подхода в случае ситуаций с перекрестной дискуссией при включенных микрофонах. Тога придется выключать автонаведение и наводить в ручную.
+переход с пресета на пресет одной и той же камеры может быть виден (процесс поворота камеры). Но в Pansonic на этот случай замечательная фишка Freeze (на время поворота картинка замораживается).
Либо количество камер удваивать и еще усложнять алгоритм.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 20.10.17 03:20. Заголовок: набросал по быстрому..


набросал по быстрому, вроде как просили (только история последовательности на все 12 входов): Interlock/"Toggle" + History

отличие от родного Interlock/Toggle (управляется не пульсом) а только постоянными 1 или 0;
пока на In[n] HIGH он считается активным для истории. при LOW он уберается из истории

1) последний In[n] HIGH -> активирует Out [n] -> записывается [n] в историю
2) если In[n] LOW -> деактивирует Out [n] (если он текущий) -> уберается из истории -> активирует Out ["послений" активный [n] из истории]

Спасибо: 1 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 20.10.17 15:57. Заголовок: Если я правильно пон..


Если я правильно понял задачу, то человеку нужен банальный стек LIFO из аналоговых значений. Пишется за 10 минут на S+. И тип конгресс-системы тут совершенно ни при чем.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 20.10.17 17:01. Заголовок: Именно :sm12:..


Именно

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 21.10.17 21:06. Заголовок: Абсолютно правильная..


Абсолютно правильная логика работы для автонаведения.
DmitriiP предложил очень хорошее решение.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 22.10.17 12:58. Заголовок: gosha пишет: И тип ..


gosha пишет:

 цитата:
И тип конгресс-системы тут совершенно ни при чем.


Причем... если алгоритм встроен в модуль :)
Dimitr - зачет. Я бы за 10 мин такое не написал.
Одно лишь примечание, переменную HistoryCount надо лучше бы инициализировать в Main. Не всегда она будет нулевой.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 22.10.17 19:27. Заголовок: Вячеслав пишет: Одн..


Вячеслав пишет:

 цитата:
Одно лишь примечание, переменную HistoryCount надо лучше бы инициализировать в Main. Не всегда она будет нулевой.



согласен, просто время было позднее :) хотел ещё перенести туда внутренности Init() или закоментить WaitForInitializationComplete(); но похоже забыл :)

Спасибо: 1 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 05.05.18 15:00. Заголовок: DmitriiP пишет: наб..


DmitriiP пишет:

 цитата:
набросал по быстрому, вроде как просили (только история последовательности на все 12 входов): Interlock/"Toggle" + History

отличие от родного Interlock/Toggle (управляется не пульсом) а только постоянными 1 или 0;
пока на In[n] HIGH он считается активным для истории. при LOW он уберается из истории

1) последний In[n] HIGH -> активирует Out [n] -> записывается [n] в историю
2) если In[n] LOW -> деактивирует Out [n] (если он текущий) -> уберается из истории -> активирует Out ["послений" активный [n] из истории]



DmitriiP
А Вы можете выложить еще раз ваше решение? Прохожу по ссылке, а там ошибка сети, задача один в один стоит, как описал автор темы.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 20.02.19 19:48. Заголовок: DmitriiP, iBumzeR П..


DmitriiP, iBumzeR

Присоединяюсь к вопросу.
Было бы очень интересно изучить модуль, решаю такую же задачу.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 6
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет