RM4200 and Cartwall functionality on the RM420-010 module

I have a DHD RM4200 and use the 16 buttons on the main module RM420-010 as a cartwall and that works the way it is intended.

But I want something extra: for every item in the cartwall I want the button on the DHD to light up when the button is pressed (on the DHD that works by default but also when I press the item in the software). Next to that I want the light to go out as this particular item has stopped and that never works.

I can achieve it via this way:

For EVERY item on EACH page in the cartwall I have to right click and choose Cart Settings… then Triggers. 2 new Triggers are needed; “When item is stopped” and “When item is started”. The action for both is “Do nothing (only perform additional actions)”. The Additional action for both is Add… → DHD → Set Logic.

The Action for the trigger “When item is stopped” is the hardware Address of the specific DHD button and value “Off” and
The Action for the trigger “When item is started” is the hardware Address of the specific DH button and value “On”

This works perfectly but takes a lot of work to that for every item and you always have to repeat this when adding new items.

Isn’t there a faster way to do this?

This should be possible by invoking a script. Here lies the required information.

Thanks Tondose. I have read this page maybe a dozen times, also when I had the DHD 3200, but I still cannot figure it out.

I thought with buying the RM4200 I could finally use the Toolbox import and export function but I’m still at Toolbox version 4. So I have no idea how to discover the logic addresses of the logic functions.

Hi Rene, here are the logicfunctions for your 4200 :wink:

Then you can do it like in your old 3200.

1 Like

Okay, so if you have figured out the logical addresses somehow, I might help you with the script itself.

In the DHD configuration window use the Monitor tab to evaluate the respective data.

With the tabel Timo posted I found the correct addresses. And now everything works, except for a small problem with PFL, but I will fix that (I hope).

Thanks both!

2 Likes

Today I tried all day to solve that small problem with the PFL but I did not succeed to fix it.

It’s about the PFL of the cartwall. This is a part of my background script:

 if (ID = $11160000) AND (Data0 = 0) AND (Data1 = 7) AND (Data2 = 1) then begin
    ExecuteCommand('CARTWALL MODE PFL');
  end;
  if (ID = $11160000) AND (Data0 = 0) AND (Data1 = 7) AND (Data2 = 0) then begin
       ExecuteCommand('CARTWALL MODE OFF AIR IF PFL');
  end;

And:

procedure OnCartwallOnAirModeChange(OldMode, NewMode: TCartwallOnAirMode);
begin
  if (NewMode = oamOffAir) or (NewMode = oamOnAir) then begin
    DHDRemote(0).SetPFL(7, false, false);
  end;

And this is what happens:

With the fader closed, when I click the cartwall PFL button, on the DHD console, I see in mAirList the cartwall status change to PFL. And I can listen via PFL to the cartwall → that’s good
When I click again the cartwall PFL button, on the DHD console, I see in mAirList the cartwall status change to OffAir → that’s also good.

When I open the cartwall fader on the DHD I see in mAirList the status change to OnAir → also good
With the fader open and then clicking on the PFL button, on the DHD console, the cartwall status in mAirList changes to PFL and I can listen via PFL to the cartwall → as expected

But then, when I click again on the PFL button, on the DHD console, the cartwall status in mAirList changes to OffAir and that is not what I want because the fader is still open. In this case the cartwall status in mAirList should change to OnAir.

I think this should be pretty easy to resolve but I cannot find it…

Hi ReneM, I have the same working on my DHD, without using any scripts, just plain mAirlist functionality. I have set it up like this:

I have created a logic function for every cartwall button. The logic functions have no sources, they are empty functions:

Every button on the DHD console uses the logic function as source for the lamp:

Then, in mAirlist, make sure each cartwall player sets the correct logic function to 1 when the player is active.

Luuk

Hi Luuk,

thanks for the explanation. But that part of the software I already figured out before. I even have a second logic function for every cartwall button (active and ready), when I open the cartwall fader all buttons with a jingle assigned to it turn green, and when I press one of them they turn red (and green again when the jingle is finished).

I’ve also solved the last problem I mentioned above with only logic. So my script (which I unfortunately still need to use) is now very short, only for the ExtPFL, one day I hope to get this also working with only the logic functions, it’s now like this:

//Mixeditor: DHD PFL automatic On when pressing play
procedure OnExtPFLOn(Item: IPlaylistItem; ExtPFLCount: integer);
begin
  if ExtPFLCount = 1 then 
    DHDRemote(0).SetPFL(11, true, false);
end;

//Mixeditor: DHD PFL automatic off by closing player
procedure OnExtPFLOff(Item: IPlaylistItem; ExtPFLCount: integer);
begin
  if ExtPFLCount = 0 then 
    DHDRemote(0).SetPFL(11, false, false);
end;

What is the disadvantage in using scripts?

I only prefer to keep it all in one place, there is nothing wrong with using scripts. Sometimes when you work with the logic on the DHD things happen what you cannot explain. And in the end you discover it is caused by a script.

Well, that is not the fault of a script per se. But you should keep up with your scripts anyway.