Вопрос такой: как с помощью питона передавать сигналы по протоколу DMX-512?
Можно написать просто:
import serial ser=serial.Serial('/dev/ttyUSB0',baudrate=250000)
и передавать каналы:
byte=127 ser.write(chr(254)+chr(byte))
но как передать импульс Break, который должен длиться минимум 88 мкс?
PS: Краткое описание протокола:
- при отсутствии передачи в линии стоит “1”
- скорость передачи 250 кбит/сек (4 мкс на бит)
- сначала передается Break, длительностью минимум 88 мкс (11 бит)
- далее идет положительный импульс MaB не менее 8 мкс (2 бита)
- затем по кругу для каждого канала (512 раз):
- идет стартовый бит (“0”)
- байт данных (8 бит)
- стоповые биты: две “1” (2 бита)
Пример:
00000000000 11 … 0 10101010 11 … 0 01010101 11 …
Break MaB Старт Значение Стоп Старт Значение Стоп
, где “…” - любое количество единичек