Home AMX User Forum AMX General Discussion

Reliable Button Release Check

Has anybody come up with a way to reliably check whether a BUTTON RELEASE has been missed. I have had instances, usually with volume control, where the volume runs away because a Button Release is missed, probably due to a network issue or TP falling offline. I used to put an OFFLINE event that killed the IR, but that is still not 100% since I experimented and determined that it takes the processor around 30seconds to detemine that the TP has fallen offline, and by then it is too late.

Comments

  • John NagyJohn Nagy Posts: 1,742
    We put in a limit to the steps volume was permitted to run, then we force the release. So they can only raise or lower about 16% per push/hold, then need to push again. Saves the day when whatever happens, happens. The cat stands on the panel. They are carrying the panel and a tray of drinks and their thumb is badly placed. The book slides onto the panel... or, the impossible happens and the NetLinx misses the release. We've got it documented in logs, it does happen, despite AMX swearing it can't.

    For non-repeating buttons, we wait to see it passes into the HOLD condition, take our hold action if any, and force the release, as nothing more can happen that we care about anyway. If there is no unique action on HOLD, we take the release action and force the release. No more problems with this since we made this behavior....
  • Reliable Button release Check

    Thanks John. I was already forcing the release on the Hold after a certain time. Didn't know if there was a better way.
  • TurnipTruckTurnipTruck Posts: 1,485
    HOLD [2,REPEAT]:
        {
        nBut=BUTTON.INPUT.CHANNEL
        IF (BUTTON.HOLDTIME>=3000)
          DO_RELEASE (BUTTON.INPUT.DEVICE,nBut)
        }
    

    Here is HOLD handler you can add to your button events for volume control. If the button is held down for more than three seconds a release will be forced.
Sign In or Register to comment.