Добрый день, Уважаемые коллеги!
Прошу у Вас совета как у гуру специалистов и программистов
Давным давно был у меня процессор mp2e и аудиопроцессор dbx zonepro 640. Необходимо было их подружить. Соединил по com-порту, нашел в родной базе crestron модуль (dbx ZonePRO 640-641 v2 (cm)), на нужные входы (выбор источника, громкость, mute) подвал сигналы, ненужные просто закомментировал. С сигналами tx и rx тоже проблем не было, завел их на нужный com-порт. Дальше предстояло найти значения адресов (входов и выходов аудиопроцессора), которые тоже надо указывать в модуле. Не долго думая открыл help на этот модуль и прям там нашел адреса, но с оговоркой, что они могут не соответствовать.
Переписал адреса, скомпилировал и все у меня заработало с первого раза. Был доволен как слон.
А теперь к грустному.
Тот же самый аудио процессор, но возможно, что-то поменял в конфигурации аудиосигналов, + другой процессор, но тоже 2-й серии (CP2E). Сделал все так же как и ранее (описано выше), но чуда не произошло. Открыл отладчик, со стороны аудиопроцессора постоянный шквал посылок.
При активации нужного мне сигнала (например выбор источника на определенном входе (сигналы test_press и test_press2) я вижу отработку этих сигналов в отладчике, но на com- порт ничего не улетает и так было довольно долго, всю голову сломал.
Потом ничего не изменив начали изредка проходить команды и даже аудиопроцессор на них правильно реагировал, но только частично и с перерывами. В один прекрасный раз вообще процессор после изменения источника начал отправлять команды собственной жизнью.
При это на дисплее аудиопроцессора заметил надпись: "!: no roating info for node 021211.5 db", причем не исключаю, что -11.5 db это осталось на экране от предыдущего сообщения.
Посоветовавшись с Олегом (наш форумчанин) было принято решение проверить те самые адреса, которые вводятся в модуль. Открыл мануал на dbx, там действительно каждому входу и выходу соответствует какой-то ObjectID Address, который можно специальным образом считать.
Запустил приложение для dbx и начал считывать как я понял те самые адреса.
Получил (b0 b1 b2 b3)
AddressZone1: 16 0 5 1
AddressZone2: 17 1 5 1
AddressZone3: 18 2 5 1
AddressZone4: 19 3 5 1
AddressInput1: 0 0 1 1
AddressInput2: 1 1 1 1
AddressInput3: 2 2 1 1
AddressInput4: 3 3 1 1
AddressInput5: 4 4 1 1
AddressInput6: 5 5 1 1
Перевел все это из десятичной системы в шестнадцатиричную и подготовил к записи в модуль crestron, с учетом того, что в crestron они должна размещаться b3 b2 b1 b10
AddressZone1: \x01\x05\x00\x16
AddressZone2: \x01\x05\x01\x11
AddressZone3: \x01\x05\x02\x12
AddressZone4: \x01\x05\x03\x13
AddressInput1: \x01\x01\x00\x00
AddressInput2: \x01\x01\x01\x01
AddressInput3: \x01\x01\x02\x02
AddressInput4: \x01\x01\x03\x03
AddressInput5: \x01\x01\x04\x04
AddressInput6: \x01\x01\x05\x05
Записал эти значения в модуль. Скомпилировал, но на com-порт ничего не уходит.
Кто сталкивался с этим оборудованием и этим модулем, можете что-то посоветовать или сказать где может быть ошибка?