Home AMX User Forum AMX Technical Discussion

Controlling BSS with Multiple Touchpanels

Hello,

I have a question regarding how to control a BSS BLU-806DA using the HPro_BSS_Gateway_Comm_v1_0_13_dr1_0_0 module. The example file shows how to control various levels and mutes but only using a single touchpanel. I have a system that has 1 AMX touchpanel and 3 iPads which are intended to be independent. I am familiar with DEV arrays but am wondering exactly how to manage controlling levels and getting feedback from the BSS to the separate panels. For instance look at this code snippet I took from the example file:

   DEFINE_DEVICE
   dvTP                                  =  10001:1:0
   dvTPGainChannel_1                     =  10001:1:0
   dvTPGainChannel_2                     =  10001:2:0
   dvTPGainChannel_3                     =  10001:3:0

   vdvGainChannel_1                      =  41010:1:0
   vdvGainChannel_2                      =  41010:2:0
   vdvGainChannel_3                      =  41010:3:0

   DEFINE_VARIABLE
   DEV vdvGainDevices[]                  =
   {
       vdvGainChannel_1,
       vdvGainChannel_2,
       vdvGainChannel_3
   }

   DEV dvTPGainDevices[]                 =
   {
       dvTPGainChannel_1,
       dvTPGainChannel_2,
       dvTPGainChannel_3
   }

   DEVLEV dcDevLevel[]                   =
   {
       {vdvGainChannel_1,GAIN_LEVEL},
       {vdvGainChannel_2,GAIN_LEVEL},
       {vdvGainChannel_3,GAIN_LEVEL}
   }

   DEVLEV dcTPLevel[]                    =
   {
       {dvTPGainChannel_1,GAIN_LEVEL},
       {dvTPGainChannel_2,GAIN_LEVEL},
       {dvTPGainChannel_3,GAIN_LEVEL}
   }

This is an example of how to associate levels and virtual levels with the BSS module and as you can see all the levels and virtual levels have the device 10001. If I needed 4 touchpanels instead of one, is there a way to do this without just adding 3x the code? Or would I have to basically do the above code for each touchpanel? I'm hoping to not have to do the latter because this is a hotel and I am controlling 50+ zones of audio...

I hope I am just misunderstanding something and there is an easy way to do this.

Comments

  • John NagyJohn Nagy Posts: 1,742
    edited October 2020

    It will not scale if you make endless parallel code and require every touch pad channel to be unique.

    Consider a database approach in your code. Each panel could be programmed identically... with the system understanding which panel is asking for attention by the address of the panel. Relate that address to rooms/BSS outputs. Keep a status array for all the rooms. When a panel asks for an event, look up the status of the panel target room, and issue the commands and report the feedback from that item. Build the command dynamically from the room/output desired, or point to premade commands in an array. You could go further and have a password protected page to select a target room from any panel, then more than one panel could share 2-way control of the same room, and the address of the panel itself need not govern which room... a status table would dynamically relate them.

  • Thanks for the reply John, I think your right, I need to think deeper about the overall organization and design of the system to keep this manageable.

Sign In or Register to comment.