Is anybody thinking of trying to get the Imp to control DMX lighting gear? I thought I’d give it a shot this weekend, only to find that I’m out of RS485 transceiver chips. So I was just wondering if anyone else was thinking of giving it a try, and in particular whether the irritating long low pulse at the start of a DMX sequence has been implemented using an Imp. Just wondering.
By the way, DMX was a fall-back project after looking at getting Lego Mindstorms hooked up to the Imp; pretty sure I could get the I2C part to work, but the standard Lego IDE (LabView, basically) doesn’t expose raw comms and it would entail a tiresome process of re-flashing the Mindstorms firmware and then rewriting code in yet another C-variant…
I think this is something the electric imp team already has done or is close to finishing. The link isn’t alive yet, but there is a place for the Katie impee.
I really must learn to read at some point. Thanks! (I think I mentally ignore wiki links to non-existent pages)
We have looked into DMX, but currently it can’t quite be done. You might think of mucking about with a GPIO and a timer to generate the pulse, then switching the pin to UART mode to send the data – but currently the imp will glitch on the transition to UART, and the DMX target won’t like that. We do have a plan for de-glitching such transitions, and/or just implementing DMX directly, but currently those tasks are a little way down the list, so I can’t give you a release schedule for them.
Thanks Peter. Luckily DMX is a fair way down my list of “things to do with an Imp” as well, so that release schedule may work out well. If it becomes urgent, I might delegate the bit-banging to an Arduino.
DMX512 is trivial to implement on an STM32 (with a teeny hack for MAB framing) but as Peter points out, pretty much impossible from the API right now. However hopefully he has noticed that ST provide the code for free, so it wouldn’t be a major project to add native support.
However this isn’t going to be a Wireless DMX equivalent, the latency through the server would be horrible by lx standards.
Thanks Rob. Latency wouldn’t be an issue; I wasn’t going to try to emulate Art-net or anything sophisticated like that, rather just have an Imp going through a sequence of pretty colour fades under fairly vague Internet control (e.g. “switch to pattern 3”, rather than “output these RGB values for this frame”).