Prevent a control from updating during user interaction

I have a slow (couple of kBauds) serial link to a device that I want to control from within LabView.
There's an event loop that takes care of processing the control changes. When a control changes, the thread acquires a semaphore to access the serial link, sends out the new value and releases the semaphore again. In another thread, the device is periodically polled for actual values. All that works fine.
The problem is that, due to the lag of the link (and polling and sending happening in two different threads), the newly set parameters are returned with a delay. So let's say, I have a slider from 0-1000 and I slide it down from 1000 towards 0. While I hold the mouse down on the slider, dragging it, the communication thread returns a value that is different from where the slider is at and therefore sets the slider to an outdated value. That makes the slider jitter and that's what I need to get rid of.
I think this is a common problem, yet I couldn't find a straightforward solution. Basically, what I was looking for was a property "isEditing" or "isDragging" which I could check and then not update the control when this is true, to prevent that race between events. Does something like that exist? How do you guys tackle such a problem?
Thanks,
z

zeeed wrote:
I have a slow (couple of kBauds) serial link to a device that I want to control from within LabView.
...and therefore sets the slider to an outdated value. That makes the slider jitter and that's what I need to get rid of.
I think this is a common problem, yet I couldn't find a straightforward solution. Basically, what I was looking for was a property "isEditing" or "isDragging" which I could check and then not update the control when this is true, to prevent that race between events. Does something like that exist? How do you guys tackle such a problem?
Thanks,
z
THe first part of this post got wiped out by the goffy forum editor. I do not have time to retype it....
applied when you get a new value from a queue or by polling the current value.
While changing...
THe control must act as control and must over-ride the widget value. The natural thought would be to put that code in the value change event... but how to do it such that the value does not get over-riden?
Put SOMETHING inbetween that can mange the value. You could go as far as to develop an QMH (Queued Messae handler) or similar inplace to handle the logic but I don't think we have to go that far. I would first concider developing an Action Engine to act as the traffic control you need.
Applying an Action Engine
i would use the AE to intercat with the widget and store it curent value. YOu will need an Init Action and a Close action as is normal but I would include two mtehods that would help you with the Over-ride.
Get Value - This action will read (using serial query) the current value of the widget and return the value to the caller. You could also have a "Read' or similar that would retireve the value from a Shift Register inside the AE. This action would be called regularly in your T.O. event and will keep the contro lupdated as to the widget value.
Set Value - Would be the key action that can help you out. THe details depend  on the widget but in general the Action would acept the new over-ride value and use it to send the comand to the widget to set the new value AND will query the widget to ensure the widget took the seeting or reached that value. After the widget is done, the new value is cached in a SR in the AE so that the latter checks by the TO event give you the value you set.
If you read the Nugget i linked you will see how an Action Engine blocks calls while it is running. By putting the code to set the widget value in the AE, you can ensure the widget went to the new value before any update code can read an old value.
The above is just one idea and there are others. I would think other solutions would all involve putting some type of traffic control inplace so the AE is a natural solution.
Note:
I have used similar approaches in the past to enforce safety logic to ensure the automatic PID updates do not over-ride a safety-shutdwon scenario.
I hope this helped more than it hurt,
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • How do you prevent your phone from locking during voice calls?  Mute/unmute features?  Are there any?  Please help?

    Here is the problem - I am often on conference calls.  My company, for security reasons requires that I use the lock phone feature.  However, I will be on a call, I have muted myself, then the phone locks.  I then have to key in my password, and unmute my phone.  This prevents me from "jumping in" the conversation appropriately.  I either sound like I'm not paying attention or worse, I'm talking over someone else and seem rude.  I have tried to search for any of the following features on the iphone 5 c.
    Prevent phone from locking during phone calls
    Set a button on the phone as mute/unmute
    Find a headset that has a mute/unmute feature
    I am not the only one at my company struggling with this so I'm thinking others might be too and that there is a solution!
    Please help!
    Thank you.

    Sounds like you need to upgrade to the iPhone 5s
    The 5s has Touch ID
    You can unlock your phone with your finger instead of typing in a key code
    No swiping to unlock either, just touch the home button
    You can enrol multiple fingers as well
    Here is a video of it in action
    http://www.apple.com/iphone-5s/videos/#video-touch
    Or wait and see what iPhone 6 has to offer
    That being said, as desiel vdub posted if the phone is up to your face, the proximity sensor should turn the screen off
    And when you lower the phone turn it back on again
    Not sure about the phone locking when your on a call doesn't sound right

  • Application pauses during user interaction

    Hi all,
    I have a LV app essentially composed of three parts:
    - one main free-running loop that takes care of the app logic and the fp indicators
    - one loop containing an event structure for extra dialog windows
    one vi running in the background performing data acquisition from a
    serial device
    The application is "paused", that is fp indicators are no more updated, in two cases:
    - when the user opens a control shortcut menu
    - when the user opens the selection list of a menu ring (this is the only menu ring on the main front panel)
    The data acquisition vi is not paused, as expected (it is not executed
    in the UI thread). 
    The application continues to run when the menu or list disappear.
    I tried to reproduce this behaviour in a small vi that I could post, but with no luck.
    The first condition can be obviously neutralized by inhibiting shortcut menus from being displayed, but I have no solution for the second condition.
    Thank you in advance for any suggestion.
    Message Edited by pincpanter on 03-09-2009 03:39 PM
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011
    Solved!
    Go to Solution.

    Ciao Licia,
    finally I could work on the problem and narrow down the cause: the application locks on a Open VI Reference node whenever the menu ring is showing its selection list.
    That operation was not really needed and so I could drop this part of the code. Remark that LV locks whether the dynamically called vi exists or not. I'm attaching a simple example.
    I guess if this is expected behaviour and what would happen with more recent versions.
    Bye
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011
    Attachments:
    Provablocco.vi ‏23 KB

  • Changing itunes store profile prevent's me from updating iphone apps

    Since i changed my e-mail on the itunes store profile, i can't update the apps in my iphone from the app store. I receive a message that i ihave to buy again the phone applications.
    Does anyone had the same problem?

    Your email is your AppleID (next to the email field in iTunes, it states "This will be your new AppleID). By changing that, you effectively created a new iTunes Store account. Apps (and some music) are DRM-protected and linked to the AppleID used to purchased them. Thus, they will no longer work with the new ID. You might try changing it back to the old email account, and see if that corrects the issue. If so, change your contact email without changing your AppleID, as described below.
    This is from the Apple website:
    *How do I change my account name or email address?*
    Even if your email address changes, you can continue to use the same Apple ID account name. Just be sure to update the email address that is associated with your account. To change your email address without changing your account name, visit My Info, Apple's profile management tool.
    MyInfo is here: http://myinfo.apple.com

  • I want to prevent version 28 from updating to version 29

    I have reverted to version 28 for many reasons--the most important being that version 29 will not print pdf files! However, Mozilla is essentially hacking my computer to force version 29 to update. I have set the auto update option to "never" but this doesn't seem to matter. Every so often the computer starts to self-update. If I see it, I can stop it. But in the morning I find that Mozilla has closed itself, and when I re-start version 28 has once again been replaced with 29. I checked in the about:config and have each of these set to "false", as one post recommended:
    app.update.auto
    app.update.enabled
    app.update.silent
    I have also deleted the app.update.url string, as another post suggested. However, it really seems that Mozilla is determined to force version 29 upon me. and I am not enough of a tech expert (nor do I have the time) to figure out how to avoid this! If all the version 29 bugs were fixed, then I suppose I would learn to live with my visual complaints (yes, I have tried the classic tab app; it helps some). But I am totally irritated that we are NOT GIVEN A CHOICE! Please let those of us who prefer version 28 to LIVE WITH IT! Quit updating our computers against our will!

    Hello,
    Sorry to know about your problem. You are correct almost. Please be informed that, in Firefox 29, there was a bug for that PDF files was not printing. But, we have fixed the bug and released Firefox 29.0.1, So If you update your Firefox, it will surely update on 29.0.1. So there will be no problem as you mentioned. Please see here to see what we have fixed on latest release. [http://www.mozilla.org/en-US/firefox/29.0.1/releasenotes/ Firefox Notes- 29.0.1]
    Please update your Firefox and let us know if you also have any trouble after updating. It will be our pleasure to assist you.
    Regards

  • Received HTTP error code 400 while fetching source feed. - Just Started 2 weeks ago; preventing iTunes podcast from updating

    Good day.
    When trying to update my feed http://feeds.feedburner.com/SpiritLedSpiritFed, I received an HTTP error code 400 while fetching source feed message. Nothing has changed on my end as I've been using Dropbox for the feed and the files since last year and was able to successfully update the feed up to two weeks ago.
    I did run through all the tools on the Feedburner page (validator, podmedic, feedmedic) received a clean bill of health on the feed and I've looked at both Feeburner's site as well as Dropbox's support page to see if anything could have changed (requiring https or some other format for the feed), but no luck so far.
    The strange thing is that on the feed itself, it's listed as http://dl.dropbox.com/s/xxxxxxxxxx/xxxxxxxx.xml.  However, when I tried to 'RESYNC' it, the 400 error was displayed and it's listed as https://dl.dropboxusercontent.com/xxxxxxxxxx.xml which is says it cannot reach.
    Any suggestions would help as I've not been able to update my iTunes podcast for two weeks now.
    Thanks

    The URL you give redirects to https://dl.dropboxusercontent.com/s/466rh3k2kw7f6jr/SpiritLedSpiritFed.xml
    This appears to be a viable feed. However it contains this tag:
    <itunes:new-feed-url>https://www.dropbox.com/s/466rh3k2kw7f6jr/SpiritLedSpiritFed.xml</itunes:new-feed-url>
    That will redirect iTunes (though nothing else) to the enclosed URL, and that is a web page containing a display of the feed and a download button, which is no use to iTunes. Consequently on attempting to subscribe in iTunes with any of these URLs the feed comes up empty. You need to get rid of these redirects and provide a direct link to the feed file; and you should not use https (encrypted connection) but http. Also, Dropbox isn't a good place to host your files, but if you really must use it you have to serve as a direct access in the same way as a web page, not as sharing. You have your media files on Dropbox as well, and the URL redirects to an https version, though it does play in a browser. This itself may cause problems; and if your podcast gets popular you will run into problems as Dropbox isn't really geared to do this sort of thing.

  • Can you prevent Apple TV from connecting to the internet?

    Is there a way to prevent Apple TV from updating and connecting to the internet? My internet is metered and slow, and I just use the AtV to mirror my itunes and stream content from my computer. I do not need the AtV connecting to the internet to load previews, pictures of newest tv shows or even genius recommendations.

    The main problem is that for protected content in iTunes AppleTV sometimes needs to get a playback authorisation across the internet.
    I've never quite figured what triggers this but it's often when content is new and hasn't been played on the computer before.
    I took AppleTV, iPad and MacMini on holiday where I had no internet access and created a LAN without internet.
    It was impossible to Airplay protected content from the iPad but 90% of the protected content in itunes on teh Mac Mini would stream and play - some new kids shows I purchased and had not played before would not stream.
    Don't suppose you can connect the computer direct to AppleTV via ethernet and see if that lets you stream and play without internet connectivity?
    Alternatively can you seletively turn off your router at times to avoid AppleTv connecting - that usually makes it only display Computers (iTunes streaming locally) and Settings as teh other icons are generated dynamically depending on availability tested via Apple's servers.
    AC

  • Prevent multiple users from updating coherence cache data at the same time

    Hi,
    I have a web application which have a huge amount of data instead of storing the data in Http Session are storing it in coherence. Now multiple groups of users can use or update the same data in coherence. There are 100's of groups with several thousand users in each group. How do I prevent multiple users from updating the cache data. Here is the scenario. User logs-in checks in coherence if the data there and gets it from coherence and displays it on the ui if not get it from backend i.e. mainframe systems and store it in coherence before displaying it on the screen. Now some other user at the same time can also perform the same function and if don't find the data in coherence can get it from backend and start saving it in coherence while the other user is also in the process of saving or updating. How do I prevent this in coherence. As have to use the same key when storing in coherence because the same data is shared across users and don't want to keep multiple copies of the same data. Is there something coherence provides out-of-the-box or what is best approach to handle this scenario.
    Thanks

    Hi,
    actually I believe, that if we are speaking about multiple users each with its own HttpSession, in case of two users accessing the same session attribute in their own session, the actually used cache keys will not be the same.
    On the other hand, this is probably not what you would really like, you would possibly like to share that data among sessions.
    You should probably consider using either read-through caching with the CacheLoader implementor doing the expensive data retrieval (if the data to be cached can be obtained outside of an HTTP container), or side caching with using Coherence locks or entry-processors for concurrency control on the data retrieval operations for the same key (take care of retries in this case).
    Best regards,
    Robert

  • [E2013][C#] How to prevent user from updating its own events on Exchange

    Hi everybody,
    I hope you can help me. I have a system based on Exchange / Outlook 2013, and I would like to put on user's calendar some events that they can't delete nor update. I have tried to create appointments using
    Exchange EWS with an administrator account, but the problem is that those events can be deleted or updated by users. This is because the events are on user's own calendar, so usually user can update them. 
    How can I have "some" events to be readonly for a user, but must be visibile in its own calendar? (No other calendar overlay). Is there a way to throw an exception or something similar on Exchange Server when a user modify those events
    (some custom property must identify them, of course)? I have looked at transport agents, but I haven't found any example for managing calendar items server side. 
    I cannot use only an Outlook plugin because users could connect to exchange with smartphone, and they could update appointments from there. I have to prevent updating (from Outlook and from smartphone, basically from everywhere except for
    an administrator user) for some events (programmatically created by EWS, for example) which are in user's calendar. Can you help me?
    Thanks, 
    Antonio

    Hi Antonio,
    bad news for you: It's impossible. A User always has full control over all items in his or her mailbox (including his calendar), no matter what you do.
    If it's important enough to you, you can write a service that monitors all those specific appointments and undos all changes the user applies to them (it won't keep the user from changing the Appointment, but it will not have effect for long. Your users
    may feel a bit upset about that though).
    Cheers,
    Fred
    There's no place like 127.0.0.1

  • Prevent iTunes on second user account from updating iPod

    I was unable to find an answer to this question in a search, so I hope someone out there can help.
    My wife and I have separate admin user accounts on our Mac. All our music is stored under my user account to which I have granted full access to all users. This allows us to manage our own songs and playlists on our respective iTunes without duplicating music files (she doesn't like metal and I don't like country).
    The problem is the use of my iPod; I have it set up to automatically manage selected playlists from my iTunes. Occasionally, however, my wife opens iTunes when my iPod isn't mounted but in the cradle charging, resulting in the iPod being overwritten with the songs and playlists from her iTunes.
    I've tried setting up her iTunes to manually manage playlists but this changes the same settings on my iTunes. I want to continue automatically managing my playlists because I have numerous smart playlists in my library.
    Is there a way to prevent just one user's account from updating an iPod while the other does so automatically?
    Many thanks,
    B.

    iPod agent is now PodPlus, and after installing it (bit of bother, as our entire network was in the process of collapsing at the same time!), I transferred all my songs to my PC. Worked really well. Much appreciated!
    I tried to look for the other program, but the page couldn't be found. Thanks anyway!!

  • How to prevent multiple users from updating the same data in coherence

    Hi,
    I have a Java Web Application and for data cache am using coherence 3.5. The same data maybe shared by multiple users which maybe in hundreds. Now how do I prevent multiple users from updating the same data in coherence i.e. is there something in coherence that will only allow one user a time to update. If one user is in a process of updating a data in coherence and some other user also tries to update then the second user should get an error.
    Thanks

    I have a question on the same line. How can I restrict someone from updating a cache value when I a process is already working on it. I tried locking the cache key but it does not stop other process to update it , it only does not allow other process to get lock on it.

  • Prevent user from update view  object

    Hi all is there is any way to prevent user from update view object at runtime, but if he have a privilege to Update he can update.
    i put all user privilege in a variable in session, but how to use it to prevent user from update .
    or ho w to make updateable view just for create or insert data not update it;
    thnx in advise

    Hi Mohammed,
    > tow view object bad way it means to page (as i think project 50 page mean to create 100 page )??
    Untill the Question is clear Answer will not be clear U never mentioned the Quantum of Pages u gng to work in POST....
    > disable commit button but if user have privilege to insert a new record ??
    Did u think this statement means something.. A user who has no privilege to commit the data wht is the purpose of giving privilege to add the data?????????
    > if i disable table or form and user try to create new record is new fields will be enabled or will be as previous row.
    This too i cant understand?? the user doesnt have access why should he need to create row.. u can disable the Create button too.....
    > by the way is there is any way to catch Sql Statement that will be committed when user press commit .
    While user press commit and u gng to call the ApplicationModule Commit so u can have a hold on doDML() method of the corresponding entity else if u gng to insert though a procedure or function
    U can restrict the same before u calling the same.......
    Regards,
    Suganth.G

  • How do I get firefox to up date from a standard user account....or at least tell me to log on as administrator and update?

    I do almost all my work from a standard user account. Firefox neither automatically updates (as I set it to) or informs me an update is available.
    How do I get Firefox to update automatically when I am logged on as a standard user....or at least tell me to switch to admin account and update?

    Let me add a note to the developers: WE ARE ALL NOT ADMINISTRATORS!
    Even on our own personal computers.
    I claim that administrator accounts are for administering, or developing; not using. I wouldn't be an administrator for longer than is necessary than walk down the centre of a highway with my eyes closed.
    I'll repeat: Mozilla really should prevent the 'Update' button showing to an ordinary user if it's not going to be possible to use it.

  • Auto-install updates, with no user interaction?

    Due to problems with malware, we can't really trust everyone to be logged on with administrator privileges all the time as it used to be with Windows 2000 and XP. Consequently the installed software can not be modified by staff anymore.
    This doesn't affect Windows Updates since those can be configured to install automatically on a schedule without any user interaction or privilege elevation.
    Java for Windows however does not detect when a logged in user does not have administrative rights, so it offers updates to everyone who logs on, including people who can not and will not ever be able to install the updates.
    One "solution" is to turn off the update checking so that people aren't hassled by useless update notifications, but then this means Windows desktops will gradually fall further and further out of date, opening them up to attack by malware that exploits unpatched bugs in older Java versions.
    The proper solution that I really want, is for Java to be capable of auto-update and self-install without any user interaction or privilege elevation at all. However so far I have not found a solution for this.
    A hack may be possible using Windows group policy, the Windows Server task scheduler, and a java website screenscraper.
    Nightly:
    * Screenscrape Java.com for a newer client version
    * If new one is found, download, put in global read-access share
    * Using a database of machines known to be running Java, flag each candidate that's using an older version
    * Wake-on-LAN the machines needing the update
    * Schedule a remote install of the update with Administrative privileges
    * If update successful, clear flag for that machine in central database
    * shut down again for the night.
    OR
    Java programmers could implement an auto-install mechanism of their own, that can run by itself without user interaction at system startup, shutdown, or on a timed schedule set by the administrator through registry entries (and therefore configurable via group policy applied to desktops).
    ==========
    How are other network administrators handling managed business desktops that need periodic, automatic, and non-interactive Java updates?

    We use Altiris Software Delivery solution to deploy our Java updates but you could also use similar solutions such as Microsoft System Center Configuration Manager.
    The problem is that these are both options that cost money and require investment and training.
    Altiris allows you to create a collection based on the text string held in the Add/Remove Programs list (as well as other fields) - so you can easily create a collection of computers that do not have the required version of Java.
    You can then create a software delivery task to silently install Java with admin rights and target it towards the collection that needs updating.
    The collection updates dynamically. As the computers get Java they drop out of the collection and are no longer targetted for upgrade. This used to work well for me - as I could update about 500 machines in about 2-3 days.
    The problem is that the Java installer doesn't work consistently as you mentioned since JRE 6u25 - the installer doesn't always behave as expected and the switches to do silent installs keep changing. You also have a problem if you try to update Java and the person has their web browser open... Yes, I do my updates during working hours as well.
    In a constantly changing environment in terms of security - you'd think Oracle would have sorted the deployment options out by now?

  • HT201304 iOS parental controls do not prevent the child from changing the device passcode.

    So the parent cannot get into the device at all unless the child provides the passcode. Sure, the device can be taken away until the child provides the passcode, but why don't parental controls just prevent the passcode from being changed?  Either that, or the parental control passcode should allow the parent to get into the device, over-riding the passcode lock.

    We are not Apple iOS programmers.  Just device users like yourself.
    feedback.apple.com is where you should send suggestions.

Maybe you are looking for

  • Unable to create IDES R/3 source system in BI

    Dear Experts, I am stuck in some stage while creating source system in R/3, Pls guide me. Following things are carried out already... IMG Settings for Connecting to Other SAP Systems           IMG Settings for Connecting to a BI System           Now

  • Cisco 3850 SSID qos

    Hello all) I have the task to configure QoS for SSID. I have 1602E points and 4 SSIDs per point. I want to priorities one of them. APs are connected to cisco 3850. Please help me how can I do it?

  • How to find Weekday or Holiday?

    hi, can any one tell me for a given date how to find whether it is a holiday or Weekday? are there any function modules avulable for this purpose? if any please let me know. thanks, Prasad.

  • Problem in copying the function module.

    Hi All, I have to Copy the standard function modules "FI_ITEMS_DISPLAY" and "ITEM_DERIVE_FIELDS". The Function group for both of above FM is "FI_ITEMS". What i did is I went to SE80 ,I copied down the Function Group 'FI_ITEMS' to 'ZFI_ITEMS'. later o

  • Time Machine is Deleting Old backups

    Disconnected my MacBook Pro from its hard drives for two days. Re-connected, and ran Time Machine. It backuped up as normal. I walked away, seeing "49.8GB free of 499GB" on that external hard drive. I come back and Time Machine is "Deleting Old Backu