R4 Feedback Constraints
John Paul
Posts: 143
in AMX Hardware
I have an iport which keeps sending song details like time remaining to the R4. Since i don't want to show the time remaining on the R4, i have not assigned this address code on the R4 but the iport module still will send to the R4.
My doubt is if the address codes are not assigned in R4, will the R4 be still be affected by the feedback send by the controller or is it just ignored.
My doubt is if the address codes are not assigned in R4, will the R4 be still be affected by the feedback send by the controller or is it just ignored.
0
Comments
Grey areas like this is why I prefer to handle these things in code. When any UI comes online I call DEVICE_ID determine what it is and assign it a value based on what it is. When it goes offline I set that valuye to 0. NOw it my various feedback routines I never send to the dev_UI_array but run feedback through a for loop that checks the device type and whether the UI is on that particular device page. If it is on page I run the feedback though a SWITCH CASE based on the UI type that regulates what can pass to it or whether to send ^TXT or ^UNI to that index of the UI array.
Here's an example of that function. This example doesn't regulate based on address channels but could if I needed to. When I call this function I pass it either the particular UI index I want the VT sent to or I pass it 0 which I have a constant UI_UPDATE_ACTIVE = 0. With 0 or the particular index number it first checks to see if that UI is active of the dev page, 0 for no and the dev's instance index if on page and then filters based on UI type. I do the same for channel feedback, levels and commands if for nothing else than to prove their online since if not the UI type array for that index is 0 and that they're on the dev's page and need to be updated.
If you send too many too fast, the gateway backs up and disconnects the R4. You can view the buffer high water marks and current statuses in the Gateway web server.
If you used just port 1 and 100, all ports from 1 to 100 will report for duty in an online event.
Similarly, the highest channel actually on a button is tracked in the panel (you can see it on the INFO PAGE) but I don't know if it is reported in any way to the NetLinx. I've never seen it in the detailed traffic logs we studied to try to eliminate excess panel traffic. But I wasn't looking for it. I know it has no visible effect.
I do know that I see commands sent to panels when I know the panel doesn't have the actual destinations in it. So you are correct to advise smarter code that knows the UI type in play and manages commands accordingly when it is one that reacts poorly to higher traffic.... like the R4.
AS mentioned in some of the many places R4 commands are discussed, we found what AMX didn't know, that the R4 behaved much happier if you alternate clumps of commands with even a 10'th of a second "rest". The Gateway is poor at managing outputting commands to the R4 while receiving commands from the NetLinx. 100 commands broken in 2 or 3 chunks are dispatched noticeably quicker from the Gateway buffer than 100 sent at once or with evenly spaced timing. That's why purely slowing command queues doesn't help as much as you expect.
Paul
You are right, but a few characters a second are not what we're discussing. If that's all you are doing, you don't need to worry. If you are doing metadata, dynamic text, and code-driven page manipulation, you can have dropouts if you don't manage traffic.