Автор | Сообщение |
|
Отправлено: 15.08.16 22:42. Заголовок: Kramer 42h + Video Switcher Widget
Подскажите, можно ли использовать Video Switcher Widget с матрицей Крамер hdmi 4x2? Для крамера использую модуль ув. Игоря К.. Если можно, то примерно как?
|
|
|
Ответов - 6
[только новые]
|
|
|
| постоянный участник
|
|
|
Отправлено: 16.08.16 08:21. Заголовок: ОК, берите рабочую ..
ОК, берите рабочую программу для Матриц Kramer Nx2 (где N-количество входов, (не больше 16) на 2 выхода) --------------------------------- Analog_Input Out1,Out2; String_output Out$; Integer I; Change Out1 { I=Out1+128; Out$="\x01"+CHR(I)+"\x81\x81"; } Change Out2 { I=Out2+128; Out$="\x01"+CHR(I)+"\x82\x81"; } --------------------------
|
|
|
|
Отправлено: 16.08.16 11:54. Заголовок: Игорь K. все никак н..
Игорь K. все никак не дойдут руки дополнить этот модуль обратной связью (контроль наличия сигнала на входах). Уже даже ответ матрицы подсмотрел
|
|
|
|
Отправлено: 21.08.16 16:12. Заголовок: Начинаю понемногу ра..
Начинаю понемногу разбираться, Игорь, спасибо! Теперь вот какая задача. Дописал модуль, добавил кнопку проверки статуса, по нажатию посылаю "\x05\x80\x81\x81" на матрицу, проверяю выход 1. Ответ приходит например "E\x80\x83\x81". Как теперь это значение преобразовать в "3d", чтобы виджет понял, какой вход активен сейчас?
|
|
|
|
Отправлено: 21.08.16 16:51. Заголовок: Сделал, но не в Simp..
Сделал, но не в Simpl+. С помощью Serial To Analog и Analog Equate.
|
|
|
|
Отправлено: 21.08.16 23:11. Заголовок: Можно так: byte("..
Можно так: byte("\x45\x80\x83\x81",3)-128; Или так: DIGITAL_INPUT Status_check; ANALOG_INPUT out_for_check; BUFFER_INPUT from_kramer$[1000]; ANALOG_OUTPUT InForOut_1,InForOut_2; STRING_OUTPUT to_kramer$; integer cmd_out_num; PUSH Status_check { if(out_for_check>0) { cmd_out_num=out_for_check; to_kramer$="\x05\x80"+Chr(out_for_check+128)+"\x81"; } } CHANGE from_kramer$ { string tmp_str$[4]; integer out_number,start_pos; //parser request status if (find("\x45",from_kramer$)>0) { start_pos=find("\x45",from_kramer$); if(len(from_kramer$)>=(start_pos+3)) { tmp_str$=mid(from_kramer$,start_pos,4); switch(cmd_out_num) { case(1):{InForOut_1=byte(tmp_str$,3)-128;} case(2):{InForOut_2=byte(tmp_str$,3)-128;} } clearbuffer(from_kramer$); } } //parser true_fb if (find("\x41",from_kramer$)>0) { start_pos=find("\x41",from_kramer$); if(len(from_kramer$)>=(start_pos+3)) { tmp_str$=mid(from_kramer$,start_pos,4); out_number=byte(tmp_str$,3)-128; switch(out_number) { case(1):{InForOut_1=byte(tmp_str$,2)-128;} case(2):{InForOut_2=byte(tmp_str$,2)-128;} } clearbuffer(from_kramer$); } } } P.S. Это для протокола P2000 понятное дело.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 23.08.16 00:27. Заголовок: Прошу обратить внима..
Прошу обратить внимание на то, что нужно сделать коммутатор составной частью системы, "заинтегрировать" его как по управлению, так и по текущему состоянию. Запутывание на S+ и\или банальная невнимательность в SIMPL сведет на ноль все усилия. Заранее обдумывайте и ПРОЕКТИРУЙТЕ ПО.
|
|
|
|