Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о Matrix

Вопросы о Matrix Работа и применение контроллеров Matrix.

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2019, 21:23   #1
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию DMX 512

Добрый день.
Может кто то имел опыт общения с протоколом DMX512? Протокол вроде не сложный, но готовых программ на Си не нашел.
Может кто-нибудь что посоветует?
Спасибо!
sanny вне форума   Ответить с цитированием
Старый 21.10.2019, 22:41   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
Добрый день.
Может кто то имел опыт общения с протоколом DMX512? Протокол вроде не сложный, но готовых программ на Си не нашел.
Может кто-нибудь что посоветует?
Спасибо!
Вам нужно на форумы звуко- и светоинженеров) Когда я интересовался этой темой в начале 00-х, семейство DMX было недоступно ни в виде описаний, ни в виде исходников.

Судя по вики, описания появились. Судя по гуглу, появились и библиотеки и программы на разные платформы.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 22.10.2019, 20:32   #3
AlexNVZ
Новичок
 
Регистрация: Oct 2019
Сообщения: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию DMX 512 на RS485

День добрый, интересует вопрос , есть ли возможность организовать (программным способом) протокол DMX-512 на одном из портов RS485.
Было бы интересно чтоб FBD появился с таким функционалом.
AlexNVZ вне форума   Ответить с цитированием
Старый 22.10.2019, 21:20   #4
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

Планирую использовать пример Signetics для ModbusRTU. Есть несколько непонятных моментов:
1. Скорость передачи
if(serial.openDevice(SERIAL_DEVICE,B250000,1,0,8,2,rlSerial::NONE) < 0)
2. Сигнал Break длительность 88мкС
int ret = serial.writeBlock(00xh, 2);
3. Сигнал MaB длительность 8мкС
???https://forum.segnetics.com/images/s...etics/help.gif
4. Далее функция SendMessage
int ret = serial.writeBlock(Msg, 513);

В остальном вроде все должно получиться https://forum.segnetics.com/images/s...cs/biggrin.gif
sanny вне форума   Ответить с цитированием
Старый 22.10.2019, 21:24   #5
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

По протоколу нашел удобное описание, там все подробно написано.
Вложения
Тип файла: pdf dmx512_.pdf (531.7 Кбайт, 49 просмотров)
sanny вне форума   Ответить с цитированием
Старый 23.10.2019, 08:32   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: DMX 512 на RS485

Цитата:
Сообщение от AlexNVZ Посмотреть сообщение
День добрый, интересует вопрос , есть ли возможность организовать (программным способом) протокол DMX-512 на одном из портов RS485.
Было бы интересно чтоб FBD появился с таким функционалом.
Возможность конечно же есть: https://dl.segnetics.com/PRODUCTS/SMH2Gi/C/docs/


Добавлено через 3 минуты

Цитата:
Сообщение от sanny Посмотреть сообщение
Планирую использовать пример Signetics для ModbusRTU. Есть несколько непонятных моментов:
Можете конкретизировать, что именно вам непонятно в этих моментах? Да и сами моменты привести более развёрнуто для лучшего понимания ваших вопросов.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 23.10.2019, 11:28   #7
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

1. Скорость передачи
if(serial.openDevice(SERIAL_DEVICE,B250000,1,0,8,2,rlSerial::NONE) < 0)

Могу ли я поставить скорость 250000? Будет работать?

2. Сигнал Break длительность 88мкС
int ret = serial.writeBlock(00xh, 2);

Здесь 2 нулевых фрейма, думаю все правильно.

3. Сигнал MaB длительность 8мкС

Здесь 8 мкС, не понимаю как передать высокий уровень длительностью меньше 1 фрейма?

4. Далее функция SendMessage
int ret = serial.writeBlock(Msg, 513);

Как подправлю полный код программы - выложу
sanny вне форума   Ответить с цитированием
Старый 23.10.2019, 11:34   #8
AlexNVZ
Новичок
 
Регистрация: Oct 2019
Сообщения: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
Как подправлю полный код программы - выложу
А я уже хотел упрашивать вас поделиться наработками. Жду с нетерпением.
Тема управления освещением очень актуальна.
Хотел уже на STM32 лепить конвертер.
AlexNVZ вне форума   Ответить с цитированием
Старый 23.10.2019, 16:33   #9
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от AlexNVZ Посмотреть сообщение
А я уже хотел упрашивать вас поделиться наработками. Жду с нетерпением.
Тема управления освещением очень актуальна.
Хотел уже на STM32 лепить конвертер.
Наработок, как таковых нет. Начал править пример под протокол DMX. В соответствии с описанием (выше по тексту). Жду прихода DMX декодера для испытаний.
sanny вне форума   Ответить с цитированием
Старый 23.10.2019, 16:55   #10
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: DMX 512

Вот только не пойму на кои ухи вам Матрикс. Малина - недорого и оптимально.
ATS вне форума   Ответить с цитированием
Старый 23.10.2019, 16:57   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
1. Скорость передачи
if(serial.openDevice(SERIAL_DEVICE,B250000,1,0,8,2,rlSerial::NONE) < 0)

Могу ли я поставить скорость 250000? Будет работать?
На матриксе - да, если в списке разрешенных для UART. Вообще, более правильная 230400. На Trim5/SMH4 - нет. 115200 предел.



Цитата:
Сообщение от sanny Посмотреть сообщение
3. Сигнал MaB длительность 8мкС

Здесь 8 мкС, не понимаю как передать высокий уровень длительностью меньше 1 фрейма?
Фрейм - это бит, байт или посылка пакета целиком?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 24.10.2019, 13:23   #12
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от Arsie Посмотреть сообщение
На матриксе - да, если в списке разрешенных для UART. Вообще, более правильная 230400. На Trim5/SMH4 - нет. 115200 предел.
Есть шанс что на Trim5/SMH4 появится такая возможность? Где-то на форуме читал что програмно Матрикс и SMH4 схожи?


Добавлено через 1 минуту

Цитата:
Сообщение от Arsie Посмотреть сообщение

Фрейм - это бит, байт или посылка пакета целиком?
Фрейм - это байт из 8 бит + 1 стартовый +2 стоповых. Вся посылка 513 фреймов.


Добавлено через 4 минуты

Цитата:
Сообщение от ATS Посмотреть сообщение
Вот только не пойму на кои ухи вам Матрикс. Малина - недорого и оптимально.
Работа с DMX не единственная и не основная задача. Порт свободен, а лишних выходов для RGB нет!
sanny вне форума   Ответить с цитированием
Старый 24.10.2019, 13:43   #13
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
Работа с DMX не единственная и не основная задача. Порт свободен, а лишних выходов для RGB нет!
Упс! А подробнее?
Управлять RGB через DMX? Там что декодер встроенный?
ATS вне форума   Ответить с цитированием
Старый 24.10.2019, 15:26   #14
sanny
Новичок
 
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от ATS Посмотреть сообщение
Упс! А подробнее?
Управлять RGB через DMX? Там что декодер встроенный?
Есть несколько светильников RGB, в них можно разместить копеешные декодеры DMX, а управлять по протоколу.
В противном случае мне нужно иметь кучу выходов!
sanny вне форума   Ответить с цитированием
Старый 24.10.2019, 17:56   #15
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
Есть несколько светильников RGB, в них можно разместить копеешные декодеры DMX, а управлять по протоколу.
В противном случае мне нужно иметь кучу выходов!
Ну тогда Вам точно понадобится для порта именно 250000 bps. Не знаю кто рулит уартом в Матриксе, но думаю до 1 мегабита должны позволять. Современные драйверы 485-го могут гораздо больше.
ATS вне форума   Ответить с цитированием
Старый 25.10.2019, 12:09   #16
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: DMX 512

Цитата:
Сообщение от sanny Посмотреть сообщение
Есть шанс что на Trim5/SMH4 появится такая возможность? Где-то на форуме читал что програмно Матрикс и SMH4 схожи?
Шанс есть всегда. Но сейчас он очень призрачный)



Цитата:
Сообщение от sanny Посмотреть сообщение
Фрейм - это байт из 8 бит + 1 стартовый +2 стоповых. Вся посылка 513 фреймов.

Гугл, запрос "c++ выставить высокий уровень на UART".

Работать с поиском для программиста - это прямо как "жы-шы пишы с Ы".


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 06:18.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024