Home AMX User Forum NetLinx Studio

Send_Level not working with Modero-X touch panel

I have a project that I am working on with a new Modero-X touch panel. This is the first time I have worked with this model of touch panel. I have just about everything working but for some odd reason my volume control module that I have used in hundreds of other jobs is not working to update the volume bars on this touch panel.

Below is the portion of code in the module that sends the level to the touch panel.

Has the Modero-X changed the way that the bargraphs are updated? Thanks.
Module_Name = 'Biamp Volume Control' (Dev vdvFromMain, Dev dvVolume, Dev dvTPVolume,
Integer iVolumeBarChannel, sInteger iVolumeMax, sInteger iVolumeMin, sInteger iVolumeInc,
sInteger iVolumeDefault, Integer iDevice, Integer iInput, Integer iInstanceID,
Integer btnVolumeMute)


Define_Variable

sInteger iVoliumeBar

Define_Call 'Update Volume'
{
    Send_String dvVolume, "'SET ', ITOA(iDevice), ' FDRLVL ', ITOA(iInstanceID),
			   ' ', ITOA(iInput), ' ', ITOA(iVolumeBar), $0A"
    Send_Level dvTPVolume, iVolumeBarChannel, iVolumeBar
}

This is the declarations for the volume channels
dvTPVolume = 10001:3:0

Define_Type

Structure VolumeProperties
{
    Integer iVolumeBarChannel
    SInteger iMaxVolume
    SInteger iMinVolume
    SInteger iVolumeInc
    SInteger iDefaultVolumeLevel
    Integer iDeviceID
    Integer iInstanceID
    Integer iInput
    Integer bInverseFeedback
    Integer iNumInputs
    Integer iNumOutputs
    Integer btnVolumeMute
}

Structure StructVolumeChannel
{
    VolumeProperties Program
    VolumeProperties Speech
    VolumeProperties ATC_Rx
    VolumeProperties VTC_Rx
    VolumeProperties Mic1
    VolumeProperties Mic2
    VolumeProperties Mic3
    VolumeProperties Mic4
}

Define_Variable

StructVolumeChannel VolumeChannel

Define_Module 'Biamp Volume Control' modProgram(vdvProgramVolume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Program.iVolumeBarChannel, VolumeChannel.Program.iMaxVolume,
    VolumeChannel.Program.iMinVolume, VolumeChannel.Program.iVolumeInc, VolumeChannel.Program.iDefaultVolumeLevel, VolumeChannel.Program.iDeviceID,
    VolumeChannel.Program.iInput, VolumeChannel.Program.iInstanceID, VolumeChannel.Program.btnVolumeMute)
    
Define_Module 'Biamp Volume Control' modProgram(vdvSpeechVolume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Speech.iVolumeBarChannel, VolumeChannel.Speech.iMaxVolume,
    VolumeChannel.Speech.iMinVolume, VolumeChannel.Speech.iVolumeInc, VolumeChannel.Speech.iDefaultVolumeLevel, VolumeChannel.Speech.iDeviceID,
    VolumeChannel.Speech.iInput, VolumeChannel.Speech.iInstanceID, VolumeChannel.Speech.btnVolumeMute)

Define_Module 'Biamp Volume Control' modATCRX(vdvATCRxVolume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.ATC_Rx.iVolumeBarChannel, VolumeChannel.ATC_Rx.iMaxVolume,
    VolumeChannel.ATC_Rx.iMinVolume, VolumeChannel.ATC_Rx.iVolumeInc, VolumeChannel.ATC_Rx.iDefaultVolumeLevel, VolumeChannel.ATC_Rx.iDeviceID,
    VolumeChannel.ATC_Rx.iInput, VolumeChannel.ATC_Rx.iInstanceID, VolumeChannel.ATC_Rx.btnVolumeMute)

Define_Module 'Biamp Volume Control' modVTCRX(vdvVTCRxVolume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.VTC_Rx.iVolumeBarChannel, VolumeChannel.VTC_Rx.iMaxVolume,
    VolumeChannel.VTC_Rx.iMinVolume, VolumeChannel.VTC_Rx.iVolumeInc, VolumeChannel.VTC_Rx.iDefaultVolumeLevel, VolumeChannel.VTC_Rx.iDeviceID,
    VolumeChannel.VTC_Rx.iInput, VolumeChannel.VTC_Rx.iInstanceID, VolumeChannel.VTC_Rx.btnVolumeMute)
    
Define_Module 'Biamp Volume Control' modMic1(vdvMic1Volume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Mic1.iVolumeBarChannel, VolumeChannel.Mic1.iMaxVolume,
    VolumeChannel.Mic1.iMinVolume, VolumeChannel.Mic1.iVolumeInc, VolumeChannel.Mic1.iDefaultVolumeLevel, VolumeChannel.Mic1.iDeviceID,
    VolumeChannel.Mic1.iInput, VolumeChannel.Mic1.iInstanceID, VolumeChannel.Mic1.btnVolumeMute)

Define_Module 'Biamp Volume Control' modMic2(vdvMic2Volume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Mic2.iVolumeBarChannel, VolumeChannel.Mic2.iMaxVolume,
    VolumeChannel.Mic2.iMinVolume, VolumeChannel.Mic2.iVolumeInc, VolumeChannel.Mic2.iDefaultVolumeLevel, VolumeChannel.Mic2.iDeviceID,
    VolumeChannel.Mic2.iInput, VolumeChannel.Mic2.iInstanceID, VolumeChannel.Mic2.btnVolumeMute)
    
Define_Module 'Biamp Volume Control' modMic3(vdvMic3Volume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Mic3.iVolumeBarChannel, VolumeChannel.Mic3.iMaxVolume,
    VolumeChannel.Mic3.iMinVolume, VolumeChannel.Mic3.iVolumeInc, VolumeChannel.Mic3.iDefaultVolumeLevel, VolumeChannel.Mic3.iDeviceID,
    VolumeChannel.Mic3.iInput, VolumeChannel.Mic3.iInstanceID, VolumeChannel.Mic3.btnVolumeMute)
    
Define_Module 'Biamp Volume Control' modMic4(vdvMic4Volume, vdvBiamp_Adadpter, dvTPVolume, VolumeChannel.Mic4.iVolumeBarChannel, VolumeChannel.Mic4.iMaxVolume,
    VolumeChannel.Mic4.iMinVolume, VolumeChannel.Mic4.iVolumeInc, VolumeChannel.Mic4.iDefaultVolumeLevel, VolumeChannel.Mic4.iDeviceID,
    VolumeChannel.Mic4.iInput, VolumeChannel.Mic4.iInstanceID, VolumeChannel.Mic4.btnVolumeMute)

Define_Start

VolumeChannel.Program.iVolumeBarChannel = 1
VolumeChannel.Program.iMaxVolume = 12
VolumeChannel.Program.iMinVolume = -54
VolumeChannel.Program.iVolumeInc = 1
VolumeChannel.Program.iDefaultVolumeLevel = -35
VolumeChannel.Program.iDeviceID = 1
VolumeChannel.Program.iInstanceID = 20
VolumeChannel.Program.iInput = 1
VolumeChannel.Program.btnVolumeMute = 3

VolumeChannel.Speech.iVolumeBarChannel = 1
VolumeChannel.Speech.iMaxVolume = 12
VolumeChannel.Speech.iMinVolume = -54
VolumeChannel.Speech.iVolumeInc = 1
VolumeChannel.Speech.iDefaultVolumeLevel = -35
VolumeChannel.Speech.iDeviceID = 1
VolumeChannel.Speech.iInstanceID = 33
VolumeChannel.Speech.iInput = 1
VolumeChannel.Speech.btnVolumeMute = 6

VolumeChannel.ATC_Rx.iVolumeBarChannel = 3
VolumeChannel.ATC_Rx.iMaxVolume = 6
VolumeChannel.ATC_Rx.iMinVolume = -60
VolumeChannel.ATC_Rx.iVolumeInc = 1
VolumeChannel.ATC_Rx.iDefaultVolumeLevel = -35
VolumeChannel.ATC_Rx.iDeviceID = 1
VolumeChannel.ATC_Rx.iInstanceID = 19
VolumeChannel.ATC_Rx.iInput = 1
VolumeChannel.ATC_Rx.btnVolumeMute = 9

VolumeChannel.VTC_Rx.iVolumeBarChannel = 4
VolumeChannel.VTC_Rx.iMaxVolume = 6
VolumeChannel.VTC_Rx.iMinVolume = -60
VolumeChannel.VTC_Rx.iVolumeInc = 1
VolumeChannel.VTC_Rx.iDefaultVolumeLevel = -35
VolumeChannel.VTC_Rx.iDeviceID = 1
VolumeChannel.VTC_Rx.iInstanceID = 18
VolumeChannel.VTC_Rx.iInput = 1
VolumeChannel.VTC_Rx.btnVolumeMute = 12

VolumeChannel.Mic1.iVolumeBarChannel = 5
VolumeChannel.Mic1.iMaxVolume = 6
VolumeChannel.Mic1.iMinVolume = -60
VolumeChannel.Mic1.iVolumeInc = 1
VolumeChannel.Mic1.iDefaultVolumeLevel = -35
VolumeChannel.Mic1.iDeviceID = 1
VolumeChannel.Mic1.iInstanceID = 17
VolumeChannel.Mic1.iInput = 1
VolumeChannel.Mic1.btnVolumeMute = 15

VolumeChannel.Mic2.iVolumeBarChannel = 6
VolumeChannel.Mic2.iMaxVolume = 6
VolumeChannel.Mic2.iMinVolume = -60
VolumeChannel.Mic2.iVolumeInc = 1
VolumeChannel.Mic2.iDefaultVolumeLevel = -35
VolumeChannel.Mic2.iDeviceID = 1
VolumeChannel.Mic2.iInstanceID = 17
VolumeChannel.Mic2.iInput = 2
VolumeChannel.Mic2.btnVolumeMute = 18

VolumeChannel.Mic3.iVolumeBarChannel = 7
VolumeChannel.Mic3.iMaxVolume = 6
VolumeChannel.Mic3.iMinVolume = -60
VolumeChannel.Mic3.iVolumeInc = 1
VolumeChannel.Mic3.iDefaultVolumeLevel = -35
VolumeChannel.Mic3.iDeviceID = 1
VolumeChannel.Mic3.iInstanceID = 17
VolumeChannel.Mic3.iInput = 3
VolumeChannel.Mic3.btnVolumeMute = 21

VolumeChannel.Mic4.iVolumeBarChannel = 8
VolumeChannel.Mic4.iMaxVolume = 6
VolumeChannel.Mic4.iMinVolume = -60
VolumeChannel.Mic4.iVolumeInc = 1
VolumeChannel.Mic4.iDefaultVolumeLevel = -35
VolumeChannel.Mic4.iDeviceID = 1
VolumeChannel.Mic4.iInstanceID = 17
VolumeChannel.Mic4.iInput = 4
VolumeChannel.Mic4.btnVolumeMute = 24

On the touch panel file I have the volume bars set as the following.

Program Volume Bar:
Type: Bargraph
Level Port: 3
Level Code: 1

VTC Rx Volume Bar:
Type: Bargraph
Level Port: 3
Level Code: 4

ATC Rx Volume Bar:
Type: Bargraph
Level Port: 3
Level Code: 3

Table Mics Volume Bars
Type: Bargraph
Level Port: 3
Level Codes: 5 - 8

Comments

  • Anyone able to help me?
  • DHawthorneDHawthorne Posts: 4,584
    I haven't had any issues sending levels to the X series the same way I have always done, and I can't see anything wrong with your code. That's probably why no one else is chiming in, it's not obvious. Are you sure the Biamp module is send back the correct volume values? Send_level won't do anything if the level itself didn't change.
  • DHawthorne wrote: »
    I haven't had any issues sending levels to the X series the same way I have always done, and I can't see anything wrong with your code. That's probably why no one else is chiming in, it's not obvious. Are you sure the Biamp module is send back the correct volume values? Send_level won't do anything if the level itself didn't change.

    Yes it is sending the proper value to the touch panel level because I can see the fader bar on the Biamp software going up and down from the routine.
  • rynandorynando Posts: 68
    Have you watched the notifications going to 10001:3:0 to be sure the send_level command is formatted properly? Have you manually tried to send a send_level command to the panel to see if that works?
  • I figured out the problem.

    The issue is related to the fact that I did not create this interface. The person who put the interface together was using the slider property in the general tab to set the feedback color for the volume bar. He had the on state fill color set to transparent. So in the preview of the volume bar it looked as I would expect it and the programming tab looked correct. However since the fill color for the on state was transparent it meant on the actual touch panel the volume bar was transparent.

    Once I changed the fill color to the color the designer had set as the slider color the volume bar started displaying the feedback as expected.
Sign In or Register to comment.