{"id":1734,"date":"2021-02-23T17:05:50","date_gmt":"2021-02-23T17:05:50","guid":{"rendered":"https:\/\/ofalcao.pt\/blog\/?p=1734"},"modified":"2021-02-23T17:05:50","modified_gmt":"2021-02-23T17:05:50","slug":"dmx-a-few-findings","status":"publish","type":"post","link":"https:\/\/ofalcao.pt\/blog\/2021\/dmx-a-few-findings","title":{"rendered":"DMX &#8211; a few findings"},"content":{"rendered":"<div class=\"seriesmeta\">This post is part 5 of 6 of \u00a0<a href=\"https:\/\/ofalcao.pt\/blog\/series\/lego-and-dmx\" class=\"series-363\" title=\"LEGO and DMX\">LEGO and DMX<\/a><\/div>\n<p>Installed <a href=\"https:\/\/www.qlcplus.org\/\">QLC+<\/a> on my laptop. Great tool, giving up on bying a DMX controller.<\/p>\n\n\n\n<p>QLC+ recognizes my FTDI cable adapter (and my Waveshare adapter):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Plugin   Device                            Input   Output  Feedback\n DMX USB  1:USB-RS485 Cable (S\/N:FT4NMHF6)  -       X       -\n DMX USB\n This plugin provides DMX output support for DMXKing ultraDMX range, Enttec DMX USB Pro, Enttec Open DMX USB, FTDI USB COM485 Plus1, Vince USB-DMX512 and compatible devices.\n\nNo input support available.\n1: USB-RS485 Cable (S\/N: FT4NMHF6)\nDevice is operating correctly.\nDriver in use: libFTDI\nProtocol: Open DMX USB\nManufacturer: FTDI\nDMX Channels: 512\nDMX Frame Frequency: 30Hz\nSystem Timer Accuracy: Patch this widget to a universe to find out<\/pre>\n\n\n\n<p>In  the plugin settings I can change Mode. Open TX (above) allows sending DMX messages, Open RX allows receiving. And it works.<\/p>\n\n\n\n<p>Using the two USB adapters &#8211; one on my laptop and the other on EV3 &#8211; I used QLC+ to test my scripts on EV3:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>using QLC+ as controller, my EV3 python scripts (pyftdi-based) can decode messages on any of the 512  channels&#8230; as long as I lower DMX frame frequency to 9 Hz.<\/li><li>using the Ev3 as controller (python scripts using dmx485) I can receive messages on all 512 channels on QLC+<\/li><\/ul>\n\n\n\n<p>but&#8230;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>using laptop as a controller (python dxm485 instead of QLC+) the same pyftdi-based scripts on EV3 no longer work&#8230; unless I force sender object to stop immediately after the first frame:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sender.start()\n while True:\n    sender.start()\n    sender.set_data(bytes(CMD))\n    sleep(0.115)\n    sender.stop()<\/code>\n<code>    sleep(1.0)<\/code><\/pre>\n\n\n\n<p>It seems dmx485 forces a DMX Frame Frequency too high for my decoding scripts to keep up &#8211; it seems to be a limitation of EV3 because reverting the scenario (EV3 as a controller with dmx485-based script and laptop as a receiver with pyftdi-based script) it works.<\/p>\n\n\n\n<p>Good that QLC+ has an option to adjust it &#8211; 9 Hz isn&#8217;t good for light animations but is more than enough for what I want. Will use it as a DMX controller from now on.<\/p>\n\n\n\n<p>Interesting, QLC+ also has a MIDI plugin. It can listen to MIDI channels and take actions&#8230; like activating a DMX fixture when a selected note is played.<\/p>\n\n\n\n<p>So&#8230;  MIDI brings me to DMX&#8230; DMX brings me back to MIDI. Such a small world.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"seriesmeta\">This post is part 5  of 6 of \u00a0<a href=\"https:\/\/ofalcao.pt\/blog\/series\/lego-and-dmx\" class=\"series-363\" title=\"LEGO and DMX\">LEGO and DMX<\/a><\/div><p>Installed QLC+ on my laptop. Great tool, giving up on bying a DMX controller. QLC+ recognizes my FTDI cable adapter (and my Waveshare adapter): Plugin Device Input Output Feedback DMX USB 1:USB-RS485 Cable (S\/N:FT4NMHF6) &#8211; X &#8211; DMX USB This plugin provides DMX output support for DMXKing ultraDMX range, Enttec DMX USB Pro, Enttec Open &hellip; <a href=\"https:\/\/ofalcao.pt\/blog\/2021\/dmx-a-few-findings\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;DMX &#8211; a few findings&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[],"series":[363],"class_list":["post-1734","post","type-post","status-publish","format-standard","hentry","category-sem-categoria","series-lego-and-dmx"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2Mhyv-rY","_links":{"self":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/1734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/comments?post=1734"}],"version-history":[{"count":0,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/posts\/1734\/revisions"}],"wp:attachment":[{"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/media?parent=1734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/categories?post=1734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/tags?post=1734"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/ofalcao.pt\/blog\/wp-json\/wp\/v2\/series?post=1734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}