E1.20 RDM (Remote Device Management) Protocol Forums

E1.20 RDM (Remote Device Management) Protocol Forums (http://www.rdmprotocol.org/forums/index.php)
-   RDM General Implementation Discussion (http://www.rdmprotocol.org/forums/forumdisplay.php?f=4)
-   -   RDM on Arduino (http://www.rdmprotocol.org/forums/showthread.php?t=1241)

andre February 3rd, 2016 07:04 AM

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 ?

sblair February 3rd, 2016 01:08 PM

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/

andre February 9th, 2016 04:27 AM

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 ?

ericthegeek February 10th, 2016 11:35 AM

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.

rodb70 June 23rd, 2016 07:38 AM

Quote:

Originally Posted by andre (Post 3008)
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

star210 August 14th, 2018 09:34 AM

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

sblair August 14th, 2018 10:32 AM

Quote:

Originally Posted by star210 (Post 3186)
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?

star210 August 14th, 2018 10:47 AM

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.

sblair August 17th, 2018 10:32 AM

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.

saiteja August 18th, 2018 12:50 AM

Quote:

Originally Posted by andre (Post 3001)
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 August 18th, 2018 01:01 AM

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

sblair August 20th, 2018 09:21 PM

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.

saiteja August 20th, 2018 09:32 PM

Thank You Scott..

star210 August 21st, 2018 03:41 AM

Hi Scott


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



star210

saiteja August 22nd, 2018 12:45 AM

Is there anyone who tested RDM with DMXCat?

sblair August 22nd, 2018 01:34 AM

Quote:

Originally Posted by saiteja (Post 3198)
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.

saiteja August 23rd, 2018 10:05 PM

Other than RDM and Wi fi what are the new technologies in Lighting Industry

saiteja September 4th, 2018 05:52 AM

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

ericthegeek September 4th, 2018 08:50 AM

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.

saiteja September 4th, 2018 09:35 PM

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

ericthegeek September 5th, 2018 08:44 PM

See Post #4 above; The one that starts with "We'd need a *lot* more information..."

saiteja September 5th, 2018 09:46 PM

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 September 7th, 2018 02:54 AM

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 September 26th, 2018 05:14 AM

Is there anyone who worked on STM32 controller with RDM?

rodb70 September 26th, 2018 07:31 AM

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 (Post 3208)
Is there anyone who worked on STM32 controller with RDM?


rodb70 September 27th, 2018 01:43 AM

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.

saiteja September 28th, 2018 12:06 AM

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 September 28th, 2018 02:20 AM

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 (Post 3216)
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


sblair September 28th, 2018 02:27 AM

Quote:

Originally Posted by rodb70 (Post 3217)
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!!


All times are GMT -6. The time now is 07:52 PM.

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