E1.20 RDM (Remote Device Management) Protocol Forums  

Go Back   E1.20 RDM (Remote Device Management) Protocol Forums > RDM Developer Forums > RDM Interpretation Questions

RDM Interpretation Questions Discussion and questions relating to interpreting and understanding the E1.20 RDM Standard.

Reply
 
Thread Tools Search this Thread Display Modes
Old July 23rd, 2019   #1
RoryM
Junior Member
 
Join Date: Jul 2019
Posts: 1
Post SLOT_INFO with Secondary Slots

Hello,


I'm developing a tool that deals with responder Slots, and am trying to understand the boundaries of what the Standard allows with regards to SLOT_INFO and 16-bit parameters/functions.


The standard states that a responder has 16-bit parameter(s) when it has both a Primary (ST_PRIMARY) and Secondary (ST_SEC_FINE) slot(s). The type of slot is discovered using SLOT_INFO.


Secondary slots are meant to report the Slot Offset for the Primary Slot they refer to, however as far as I can tell there are no rules in the standard preventing a responder implementation from having multiple Secondary Slots pointing to the same Primary.



It seems to be legal, but I can't see why a responder would have multiple Secondary slots for the same Primary, so was hoping someone could provide a use case for one? Or point me towards where it states that is forbidden?



Thanks,
Rory
RoryM is offline   Reply With Quote
Old July 27th, 2019   #2
sblair
Administrator
 
Join Date: Feb 2006
Posts: 419
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Rory,

Welcome to the RDM forums!

Yes, you can definitely have multiple secondary slots pointing to the same primary. It can be quite common on moving lights with gobo wheels and color systems too. There is a good webinar we did on this subject a couple years ago you can find here that I think will hopefully provide a lot of insight and some examples of this.

https://www.youtube.com/watch?v=-5BmsJ7CeFE
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Old July 29th, 2019   #3
hamish
Member
 
hamish's Avatar
 
Join Date: Apr 2009
Location: Dartmoor, Devon, England
Posts: 54
Send a message via Skype™ to hamish
Default

Quote:
Originally Posted by sblair View Post
It can be quite common on moving lights with gobo wheels and color systems too.

Hi Scott, little while no speak!


Could you share a couple of practical examples of a real product that implements RDM defined slots in this way? I'm curious.


I foresee that the permutations and combinations alluded to, or allowed by the standard are as robust as two marrows connected by a cucumber on a hot day!



Best


Hamish
__________________
______________________________________________
Hamish Dumbreck
hamish is offline   Reply With Quote
Old July 30th, 2019   #4
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 358
Default

As an example, it's very common to have "Pan Coarse" as Primary, and to have secondaries for "Pan Fine" and "Speed" on a moving head.
ericthegeek is offline   Reply With Quote
Old July 30th, 2019   #5
hamish
Member
 
hamish's Avatar
 
Join Date: Apr 2009
Location: Dartmoor, Devon, England
Posts: 54
Send a message via Skype™ to hamish
Default

Quote:
Originally Posted by ericthegeek View Post
As an example, it's very common to have "Pan Coarse" as Primary, and to have secondaries for "Pan Fine" and "Speed" on a moving head.
More confused.
Do you mean "secondaries for" or "secondaries of"?
__________________
______________________________________________
Hamish Dumbreck
hamish is offline   Reply With Quote
Old July 30th, 2019   #6
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 358
Default

Quote:
Originally Posted by hamish View Post
More confused.
Do you mean "secondaries for" or "secondaries of"?

Here's an example from the roundtable presentation Scott posted earlier:


Attached Images
File Type: jpg Slots_Info_Example.jpg (21.8 KB, 85 views)
ericthegeek is offline   Reply With Quote
Old July 30th, 2019   #7
sblair
Administrator
 
Join Date: Feb 2006
Posts: 419
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Here's a common example from a moving light for the Slot Info data. This was from a High End Systems fixture.
Code:
                    // Pan High
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x00;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_PAN >> 8;             // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_PAN;            //   "     "   "         Low
                    // Pan Low
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x01;                    //   "     "        Low
                    ParamData[i++]             = ST_SEC_FINE;             // Slot Type 8 bit
                    ParamData[i++]             = 0x00;
                    ParamData[i++]             = 0x00;                    // Points to Pan High Slot as dependency.
                    // Tilt High
                    ParamData[i++]             = 0x00;                   // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x02;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_TILT >> 8;            // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_TILT;           //   "     "   "         Low
                    // Tilt Low
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x03;                    //   "     "        Low
                    ParamData[i++]             = ST_SEC_FINE;             // Slot Type 8 bit
                    ParamData[i++]             = 0x00;
                    ParamData[i++]             = 0x02;                    // Points to Tilt High Slot as dependency.
                    // Color Function
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x04;                    //   "     "        Low
                    ParamData[i++]             = ST_SEC_CONTROL;          // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                    // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x05;                    // Points to Cyan Slot as dependency.
                    // Cyan
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x05;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_COLOR_SUB_CYAN >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_COLOR_SUB_CYAN; //   "     "   "         Low
                    // Magenta
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x06;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_COLOR_SUB_MAGENTA >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_COLOR_SUB_MAGENTA;//   "     "   "         Low
                    // Yellow
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x07;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_COLOR_SUB_YELLOW >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_COLOR_SUB_YELLOW;//   "     "   "         Low
                    //Static Color Function
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x08;                    //   "     "        Low
                    ParamData[i++]             = ST_SEC_CONTROL;          // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                   // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x09;                    // Points to Static Color Pos as dependency.
                    //Static Color Position
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x09;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_COLOR_WHEEL >> 8;     // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_COLOR_WHEEL;    //   "     "   "         Low
                    // Static Gobo Function
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0a;                    //   "     "         Low
                    ParamData[i++]             = ST_SEC_CONTROL;          // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                    // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x0b;                    // Points to Gobo Position as dependency
                    // Static Gobo Position
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0b;                    //   "     "         Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_STATIC_GOBO_WHEEL >> 8;       // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_STATIC_GOBO_WHEEL;       //   "     "   "            Low

                    // Rotation Gobo Wheel
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0c;                    //   "     "         Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_ROTO_GOBO_WHEEL >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_ROTO_GOBO_WHEEL; //   "     "   "           Low
                    // Gobo Rotate Function
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0d;                    //   "     "         Low
                    ParamData[i++]             = ST_SEC_CONTROL;          // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                    // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x0e;                   // Points to Gobo Rotate as dependency.
                    // Gobo Rotate High
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0e;                    //   "     "         Low
                    ParamData[i++]             = ST_SEC_ROTATION;         // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                    // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x0c;                    // Points to Gobo Slot as dependency.
                    // Gobo Rotate Low
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x0f;                    //   "     "         Low
                    ParamData[i++]             = ST_SEC_FINE;             // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                    // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x0e;                    // Points to Gobo Rotate High as dependency.
                    // Effect Function
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x10;                    //   "     "         Low
                    ParamData[i++]             = ST_SEC_CONTROL;          // Slot Type 8 bit
                    ParamData[i++]             = 0x00;                     // Slot Label ID 16-bit. High
                    ParamData[i++]             = 0x11;                    // Points to Effect Position as dependency
                    // Effect Position
                    ParamData[i++]             = 0x00;                     // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x11;                    //   "     "         Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_EFFECTS_WHEEL >> 8;    // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_EFFECTS_WHEEL;  //   "     "   "           Low
                    // Frost
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x12;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_FROST >> 8;           // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_FROST;          //   "     "   "         Low
                    // Zoom
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x13;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_ZOOM >> 8;            // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_ZOOM;           //   "     "   "         Low
                    // Focus
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x14;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_EDGE >> 8;            // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_EDGE;           //   "     "   "         Low
                    // Iris
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x15;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_BEAM_SIZE_IRIS >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_BEAM_SIZE_IRIS; //   "     "   "         Low
                    // Shutter/Lamp Func
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x16;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_LAMP_CONTROL >> 8;    // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_LAMP_CONTROL;   //   "     "   "         Low
                    // Shutter
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x17;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_STROBE >> 8;          // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_STROBE;         //   "     "   "         Low
                    // Dimmer
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x18;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_INTENSITY >> 8;       // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_INTENSITY;      //   "     "   "         Low
                    // Control
                    ParamData[i++]             = 0x00;                    // Slot Offset 16-bit  High
                    ParamData[i++]             = 0x1b;                    //   "     "        Low
                    ParamData[i++]             = ST_PRIMARY;              // Slot Type 8 bit
                    ParamData[i++]             = SD_FIXTURE_CONTROL >> 8; // Slot Label ID 16-bit. High
                    ParamData[i++]             = (BYTE)SD_FIXTURE_CONTROL;//   "     "   "         Low
__________________
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
SLOT_INFO and 16-bit secondary slots tharron RDM Interpretation Questions 2 December 17th, 2014 08:53 AM
SLOT_INFO Paul-Zero88 RDM Interpretation Questions 0 September 30th, 2009 04:40 AM


All times are GMT -6. The time now is 04:54 AM.


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