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.
This is the declarations for the volume channels
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
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
0
Comments
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.
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.