RmsAssetParameterEnqueueSetValue() doesn't work

I'm trying to track down some issues with initializing values for assets, and as best I can tell RmsAssetParameterEnqueueSetValue() just doesn't work.

These are the commands being sent by the code:
ASSET.PARAM.UPDATE-5001:3:1,filter.consumption,SET_VALUE,455,false
ASSET.PARAM.SUBMIT-5001:3:1

The SUBMIT doesn't seem to actually do anything. If I change things to send:
ASSET.PARAM.UPDATE-5001:3:1,filter.consumption,SET_VALUE,455,true

it works perfectly. What is going on? Do parameter updates just not work when queued?

Comments

  • Try this submit command instead for queued updates:


    ASSET.PARAM.UPDATE.SUBMIT-5001:3:1


    "ASSET.PARAM.SUBMIT" is the submission command for registering asset parameters and "ASSET.PARAM.UPDATE.SUBMIT" is the submission command for updates to existing asset parameters.
  • mstocummstocum Junior Member Posts: 119
    Try this submit command instead for queued updates:


    ASSET.PARAM.UPDATE.SUBMIT-5001:3:1


    "ASSET.PARAM.SUBMIT" is the submission command for registering asset parameters and "ASSET.PARAM.UPDATE.SUBMIT" is the submission command for updates to existing asset parameters.

    I'll give that a try later today, and report back (I'm in the middle of testing some other things at the moment). I think there may be an error in the RMS boilerplate code that comes with the SDK, though. From RmsNlVideoProjectorMonitor.axs:
    DEFINE_FUNCTION SynchronizeAssetParameters()
    {
      // This callback method is invoked when either the RMS server connection
      // has been offline or this monitored device has been offline from some
      // amount of time.   Since the monitored parameter state values could
      // be out of sync with the RMS server, we must perform asset parameter
      // value updates for all monitored parameters so they will be in sync.
      // Update only asset monitoring parameters that may have changed in value.
    
      //Synchronize all snapi HAS_xyz components
      IF(SynchronizeAssetParametersSnapiComponents(assetClientKey))
        RmsAssetParameterSubmit (assetClientKey)
    }
    

    I think that the last line should be RmsAssetParameterUpdatesSubmit(assetClientKey) instead.
  • I think you are correct ... that looks wrong. I'll pass this along to the development team.

    In just a quick spot check, it looks like all the RmsNL** modules may suffer from this issue.
    The touch panel, DVX, and PDU monitoring modules look correct.

    Thanks!
  • mstocummstocum Junior Member Posts: 119
    Actually, I was able to test that quicker than I thought and it looks like it solved it. Thanks.
  • mstocummstocum Junior Member Posts: 119
    I think you are correct ... that looks wrong. I'll pass this along to the development team.

    In just a quick spot check, it looks like all the RmsNL** modules may suffer from this issue.
    The touch panel, DVX, and PDU monitoring modules look correct.

    Thanks!

    If you're reporting things to the development team, could you also have them look at the issue I had in this thread http://www.amxforums.com/showthread.php?9567-Asset-Parameter-Initialization ? In RmsNlSnapiComponents.axi, it looks like either KeySetValue() or keyLookup() needs to set uKeys.cName, but neither of them do. From the comments above the functions, I think keyLookup() is supposed to do it, instead of KeySetValue() which is how I solved it.
  • Will do! I'll comment in that thread also.
Sign In or Register to comment.