Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DMX Out #32

Open
Kevitto opened this issue May 19, 2021 · 7 comments
Open

DMX Out #32

Kevitto opened this issue May 19, 2021 · 7 comments

Comments

@Kevitto
Copy link
Contributor

Kevitto commented May 19, 2021

Good morning!

I've built an RDM IN module with this code, which works awesome, by the way! But now, I'm trying to get it to ingest RDM through the serial port and push out DMX at address 1 from the received packets, but for some reason using this in tandem with DMXSimple kills the DMXSerial2.tick() timer (it'll only respond to RDM once, then stop responding) when I try to use the DMX out.

Is there a way to implement DMX forwarding directly in this code? Not all the functions are exposed in the Wiki and documentation.

Thanks!

@peternewman
Copy link
Contributor

Hi @Kevitto ,

If I understand correctly, you're essentially trying to build one of these?:
http://www.farnell.com/datasheets/1655633.pdf

So having the DMXSimple code present, but not calling DMXSimple.write() doesn't break it for example?

Can you add some form of debugging to see what's actually breaking (e.g. does it still receive new DMXSerial2 DMX data into the unit?

Sharing the code would be great in general and might help to debug this. IMHO it would make an excellent example piece of code as it might even be a fairly common thing to want to make.

@Kevitto
Copy link
Contributor Author

Kevitto commented May 25, 2021

Yes, I was able to fix the code so DMX out throws to DMX address 1 regardless of RDM address and only to the pre-programmed size of the personality I set up. It also has a built-in function for identify. Here is the code!

I'm wondering how to remove all the unused options in the RDM menu of the device, so I only show the basics and not the special personalities the unit comes pre-programmed with.

(setup code as pull request)

@peternewman
Copy link
Contributor

Yes, I was able to fix the code so DMX out throws to DMX address 1 regardless of RDM address and only to the pre-programmed size of the personality I set up. It also has a built-in function for identify. Here is the code!

Ah great!

Can I request/suggest you open a Pull Request against this repo to add it as another example (as personally I think it's that useful). It also makes it much easier to comment and review the code if required.

I'm wondering how to remove all the unused options in the RDM menu of the device, so I only show the basics and not the special personalities the unit comes pre-programmed with.

Do you mean options that DmxSerial2 is offering which you don't feel are required? It looks to me like PID wise it should only offer some basic mandatory and useful ones by default.

I think productising the UID/manufacturer ID might be the only thing that needs sorting out, as I mentioned in #27 .

@Kevitto
Copy link
Contributor Author

Kevitto commented May 25, 2021

Created a Pull Request and added it as an example. It's fairly clean, but again, I haven't been in the Arduino game very long, but this is a project I've been working on for a little while to make some of our dummy devices RDM compliant. I use MAX485 chips in/out on Arduino Pro Minis.

@peternewman
Copy link
Contributor

Awesome thanks @Kevitto . You didn't clarify what you meant by this though:

I'm wondering how to remove all the unused options in the RDM menu of the device, so I only show the basics and not the special personalities the unit comes pre-programmed with.

@Kevitto
Copy link
Contributor Author

Kevitto commented May 28, 2021

Sorry, yes. I meant, in the RDM controller, when I view the device, it has a long list of options available, but I don't need most if not all of them, all we need is a sensor read, address change and reset, but I'm not versed enough to know where to remove some of those options in DMXSerial2's source code.

@peternewman
Copy link
Contributor

Sorry @Kevitto can you share some screenshots/photos or just type out what option names you're seeing that you don't think you need.

It would also be good if you can confirm the hardware/software you're using for RDM control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants