E1.20 RDM (Remote Device Management) Protocol Forums  

Go Back   E1.20 RDM (Remote Device Management) Protocol Forums > RDM Developer Forums > RDM General Implementation Discussion

RDM General Implementation Discussion General Discussion and questions relating to implementing RDM in a product.

Reply
 
Thread Tools Search this Thread Display Modes
Old February 3rd, 2016   #1
andre
Junior Member
 
Join Date: Feb 2016
Posts: 2
Default RDM on Arduino

Hi guys,

do you know a way of implementing RDM on an Arduino and how can i find this device using a RDM controller ?
andre is offline   Reply With Quote
Old February 3rd, 2016   #2
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

I'm not specifically aware of it being done on an Arduino, but I'm sure it has been. There is a lot of development that has been done using the Raspberry Pi.

I haven't used this one but just saw it online today: https://plus.google.com/+ArjanvanVug...ts/iS7eTiicWqr

OLA has done a significant amount of RDM development that uses the RaspberryPi also and is open source: https://www.openlighting.org/
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old February 9th, 2016   #3
andre
Junior Member
 
Join Date: Feb 2016
Posts: 2
Default

I am trying to implement RDM on an Arduino Mega board, but I am struggling to develop code that allows the RDM controller to find my Arduino, any help ?
andre is offline   Reply With Quote
Old February 10th, 2016   #4
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 379
Default

We'd need a *lot* more information about your setup before we can provide any help. There are many different ways you can implement an RDM Responder in software, and the software architecture is usually different for every implementer.

Interrupt Drive vs. Polled
RTOS vs. Bare Metal
Byte-by-Byte vs. Que-and-Evaluate
etc.

There's no one way to do it.

What have you implemented so far? What's working, and what's not working? What tools are you using to debug?

Most implementations start with the ability to receive a packet and validate the checksum. Once you see a valid packet in memory, you can than work out how to respond.
ericthegeek is offline   Reply With Quote
Old June 23rd, 2016   #5
rodb70
Junior Member
 
Join Date: Jun 2016
Posts: 5
Default

Quote:
Originally Posted by andre View Post
I am trying to implement RDM on an Arduino Mega board, but I am struggling to develop code that allows the RDM controller to find my Arduino, any help ?
I played with this a few years ago its called dmxserial2 and it is from a fellow called Matthias he admits its not perfect but with help it could get a lot better.

Anyway a quick google for dmxserial2 will point you at his github page and website.

Hope this helps.
Rod
rodb70 is offline   Reply With Quote
Old August 14th, 2018   #6
star210
Junior Member
 
Join Date: Aug 2018
Posts: 3
Default RDM sensors on Arduino

Hi



Its an old post but its the same topic



We have been trying to develop an Arduino based lighting/motions controller that uses RDM. Current setup is OLA > ENTTEC USBPro > RDM DMX shield > Arduino Uno. We are currently using DMXSerial2 by Matthias Hertel and the RDMSerialRecv.ino sketch from the examples.

We have the correct outputs working and can change address using RDM.
We would like to add 2 sensors and be able to output the sensor values into OLA if possible:
0 - Temperature sensor (analog) - Temperature (0x00)
1 - Fan speed (PWM pc fan) - 8 bit counter



We have had some success with the "init" class as we have had RDM recognise that we want 2 sensors.



Would anyone be able to advise on how to read analog or digital inputs into RDM ?


Thanks
star210 is offline   Reply With Quote
Old August 14th, 2018   #7
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Quote:
Originally Posted by star210 View Post
Hi



Its an old post but its the same topic



We have been trying to develop an Arduino based lighting/motions controller that uses RDM. Current setup is OLA > ENTTEC USBPro > RDM DMX shield > Arduino Uno. We are currently using DMXSerial2 by Matthias Hertel and the RDMSerialRecv.ino sketch from the examples.

We have the correct outputs working and can change address using RDM.
We would like to add 2 sensors and be able to output the sensor values into OLA if possible:
0 - Temperature sensor (analog) - Temperature (0x00)
1 - Fan speed (PWM pc fan) - 8 bit counter



We have had some success with the "init" class as we have had RDM recognise that we want 2 sensors.



Would anyone be able to advise on how to read analog or digital inputs into RDM ?


Thanks
Just to be clear is your question on how to represent sensors in RDM or how to read in the sensor input in the Arudino Hardware?
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old August 14th, 2018   #8
star210
Junior Member
 
Join Date: Aug 2018
Posts: 3
Default

Quote:
Just to be clear is your question on how to represent sensors in RDM or how to read in the sensor input in the Arudino Hardware?
No problem reading sensors in Arduino, im not sure how to start writing the code that will return the data to the controller (OLA)
I wish to monitor the fan speed and temperature of the arduino device im building. So the question would be how to represent sensors in RDM.

Last edited by star210; August 15th, 2018 at 06:09 AM.
star210 is offline   Reply With Quote
Old August 17th, 2018   #9
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

If it is specific to OLA then you might be better asking in their forums. In general you need to be implementing the SENSOR_DEFINITION PID in RDM to define what the properties of the sensors are and then the SENSOR_VALUE PID to allow for collection of the sensor values/states.
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old August 18th, 2018   #10
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Quote:
Originally Posted by andre View Post
Hi guys,

do you know a way of implementing RDM on an Arduino and how can i find this device using a RDM controller ?
Hi,

I am new to this RDM. I have few doubts in terms of programming
1. I study somewhere that we need a Unique ID to discover. Without Unique ID can't we check whether our Code is working or not?
2. If Unique ID is compulsory then is it cheargable or Free?
3.Can some one give me a code reference to blink an LED with DMXCat with any controller

Thanks in Advance
saiteja is offline   Reply With Quote
Old August 18th, 2018   #11
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Hi,
I am new to this RDM Technology. I bought DMX Cat and i have tested with one Arrys lighting fixture. Now i want to develop my own code to blink an LED and test with DMX Cat. Can someone help me out how to discover the light and how to start the code. If you have any reference code with any controller please send me to saiteja9429@gmail.com.

I have studied some where Unique ID is required is it compulsory for testing or are there any free id's for testing pusrpose


Thanks In Advance
saiteja is offline   Reply With Quote
Old August 20th, 2018   #12
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

First off you will need to register for a Manufacturer ID to be able to then generate your own Unique ID from it. They are free to register and details are available here: http://tsp.esta.org/tsp/working_groups/CP/mfctrIDs.php

I'm not sure if there is an API for you to control the DMX Cat from your own application. Others here may be able to answer. Many of the OpenUSB DMX interfaces allow you to write your own code to control them though.
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old August 20th, 2018   #13
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Thank You Scott..
saiteja is offline   Reply With Quote
Old August 21st, 2018   #14
star210
Junior Member
 
Join Date: Aug 2018
Posts: 3
Default

Hi Scott


Thanks for the reply. I have emailed TSP / ESTA to request a Manufacture ID.



star210
star210 is offline   Reply With Quote
Old August 22nd, 2018   #15
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Is there anyone who tested RDM with DMXCat?
saiteja is offline   Reply With Quote
Old August 22nd, 2018   #16
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Quote:
Originally Posted by saiteja View Post
Is there anyone who tested RDM with DMXCat?
Yes, one of the lead developers for it is very involved in the RDM Task Group in ESTA and it is a widely used tool for RDM.
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old August 23rd, 2018   #17
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Other than RDM and Wi fi what are the new technologies in Lighting Industry
saiteja is offline   Reply With Quote
Old September 4th, 2018   #18
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Iam receiving the RDM device search data to controller but dont know what DMXCat is receiving . How to check that one. If possible any help
saiteja is offline   Reply With Quote
Old September 4th, 2018   #19
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 379
Default

You'll need to check with the manufacturer to see what options are available for doing this kind of protocol-level development. Some RDM Controllers have a way to see the raw response that it received from the responder.



If the tool you're using doesn't have that feature, you'll either need to use the "Guess and Check" method, or get a tool that has that feature.
ericthegeek is offline   Reply With Quote
Old September 4th, 2018   #20
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

I tested with RDM enabled fixture that is working fine. Now iam trying to build my own code and trying to to know more about RDM but iam unable discover the device.


I am working on Arduino controller with DMXCat
saiteja is offline   Reply With Quote
Old September 5th, 2018   #21
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 379
Default

See Post #4 above; The one that starts with "We'd need a *lot* more information..."
ericthegeek is offline   Reply With Quote
Old September 5th, 2018   #22
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Software architecture i am trying to develop is interrupt vs polled.
I am working on Arduino board with DMXCat.
For debugging i am using logic analyzer.

When i click on RDM in DMXCat for discovery i am receiving RDM start code and all. i am also giving return data but it is not discovering any device.

I tried Mathartel code from github that also not discovering the device

The hardware connection i have done is same as the circuit in below link except relay
https://www.instructables.com/id/Arduino-RDM-Relay/
saiteja is offline   Reply With Quote
Old September 7th, 2018   #23
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Now it is discovering the device but if comeback from RDM again if i go in to it it is not discovering. If i Poweroff the supply and turning on again it is discovering.
saiteja is offline   Reply With Quote
Old September 26th, 2018   #24
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Is there anyone who worked on STM32 controller with RDM?
saiteja is offline   Reply With Quote
Old September 26th, 2018   #25
rodb70
Junior Member
 
Join Date: Jun 2016
Posts: 5
Default

saiteja,

I have worked with STM32 and RDM:
STM32F0 - Cortex M0 -Proof od concept Responder only, 16-segment display - keyboard with I2C comms.
STM32F3 - Cortex M3 - Entec comparable controller and responder, the DMA on this is a dream.
STM32F7 - Cortex M7 - Proof concept controller with discovery. Responder would be too easy on this puppy.
STM32F4 - Cortex M4 - Proof concept responder.

I have also used the NXP LPC812 & LPC845 these are Cortex M0+ with a very special timer for pixels... In both cases responder but looking at the amount of flash in the LPC845 and possibility of doing E1.33 proxy over ethernet.

Before you ask all these are using in-house software. I'm happy to answer technical question about the chips but other that RPi RDM source code and OLA (jaRule), I don't know of any open source code that does all this in an embedded micro-controller.

I have also used DMXSerial2 on Arduino / raw AVR.
Also old NXP 2-clock 8051 LPC936 using RDM with 16K-flash as well.

Don't just try and throw somebodies else's code at your micro-controller and then wonder why it does not work.
As an embedded engineer you have to be able to debug hardware issues, software issues and SW/HW interaction issues. As well as debugging silicon bug issues in the micro-controllers you are using. I have come across more than 1 silicon bug that requires a SW work around to keep running. Add on top of that you sometimes have to debug compiler issues as these compilers are not as well used as PC compilers and they have bugs as well.
I'm not saying you have to be an expert in all this at the beginning but being prepared to break out logic analyser, oscilloscope, ICE/jtag probe to debug, look at disassembly to see whats going on in the circuit / code you wrote is a skill not many people have these days.

Quote:
Originally Posted by saiteja View Post
Is there anyone who worked on STM32 controller with RDM?
rodb70 is offline   Reply With Quote
Old September 27th, 2018   #26
rodb70
Junior Member
 
Join Date: Jun 2016
Posts: 5
Default

saiteja,

A follow up from previous post.
Yesterday I was working on a demo board with LPC845 Its the LPCXpresso845MAX NXP number OM13097.

I found an issue with IAP (In-Application Programming) no matter what I did I was getting an invalid command return code from the ROM functions. So I when to the NXP forums and had a read around and discovered that an earlier version of this chip LPC824 had a similar issue the reported also detailed a work around. I tried the same work around on my board and it work. It turns out either the User Manual is wrong or the ROM has a bug in it. I've posted this issue on the NXP forums to see what if anything NXP will do with this issue.

Time wise, this took me all day to figure out as I spend a lot of time debugging my code to make sure I was not making a mistake. This meant I was using the debugger and single stepping at assembly instruction level to verify I was calling the ROM function with the correct vales in the required registers.

So the results of this are that I have a functional '"work around"/code that allows me to call into the ROM IAP functions to perform required tasks and can start working on the next steps. Also I have raised an issue with NXP in their forums to help others and NXP improve their product.

Hang in there this stuff is not easy many people give up. When I was debugging RDM comms I used an oscilloscope to verify my turn around timings to the uS were withing standard. I used a 2nd uart to dump the buffers out on the responded to verify that I was receiving the RDM packet correctly. I also dumped out my reply packet before sending it to verify I was sending a correct reply packet. I also used a logic analyser on the TX, RX, and switch lines of the RS-485 driver to verify I was doing the correct thing at the correct time.
My testing was against OLA using my own Enttec USBPro to send and receive DMX / RDM packets.
OLA has its own set of issues as well that would cause it to crash when I sent the wrong data in a reply packet.
rodb70 is offline   Reply With Quote
Old September 28th, 2018   #27
saiteja
Junior Member
 
Join Date: Aug 2018
Posts: 14
Default

Thank you for the respose.. i asked here because i found some issue while developing in STM Controller
I have developed RDM in LPC2148 & Arduino
I am a student... in my college i didn't have much resources for testing. If any reference is there it should be useful for me
saiteja is offline   Reply With Quote
Old September 28th, 2018   #28
rodb70
Junior Member
 
Join Date: Jun 2016
Posts: 5
Default

saiteja,

That being the case I use OLA (open lighting architecture) you will need an interface like enttec USBPro or something else that can do RDM from OLA. The Enttec USBPro protocol is is straight forward and I was able to write my own in an STM32F3. Google for the Enttec USBPro protocol and you will find a PDF doc detailing this. WIth this and OLA you can test discovery and RDM parameters. There is also an RDM test suit that would allow you to test your responder. The best part about OLA is it is free.

You can get a very cheap 8-bit logic analyser on e-bay if you search for it. OLA has an interface to capture packets over the DMX interface you will need a RS-485 to 5V converter you can make one or get one on ebay cheaply.

Also read and reread the RDM/DMX standard documents I must have read these 20+ times all the answers are there but I find as you debug your understanding of the standard document gets better the next time you read the standard document you understand it better.

Hope that helps.


Quote:
Originally Posted by saiteja View Post
Thank you for the respose.. i asked here because i found some issue while developing in STM Controller
I have developed RDM in LPC2148 & Arduino
I am a student... in my college i didn't have much resources for testing. If any reference is there it should be useful for me
rodb70 is offline   Reply With Quote
Old September 28th, 2018   #29
sblair
Administrator
 
Join Date: Feb 2006
Posts: 438
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Quote:
Originally Posted by rodb70 View Post
Also read and reread the RDM/DMX standard documents I must have read these 20+ times all the answers are there but I find as you debug your understanding of the standard document gets better the next time you read the standard document you understand it better.
Truer words have never been spoken!!
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 12:51 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.