Auto Refresh in app designer.

40 views (last 30 days)
Jay Vaidya
Jay Vaidya on 6 Jun 2021
Commented: Adam Danz on 8 Jun 2021
I have a couple of controls in my GUI but it can also happen that I control my system manually (sometimes). So the below image shows the lamps 1 and 2 ON (set and read by GUI after setting) but the 3rd one has turned ON anytime. When I turn the 3rd one ON, I want the GUI to change the lamp color and also the switch direction. I know commands to change the color of the lamp and switch position, but I am not getting how can I introduce this sensing part in my GUI.
In other words, I need a refresh function that can refresh the GUI at an as fast a rate as it can and then change the lamp colors accordingly.
Please let me know your inputs. Thanks a lot, in advance!
  8 Comments
J. Alex Lee
J. Alex Lee on 8 Jun 2021
Edited: J. Alex Lee on 8 Jun 2021
in response to built-in classes where the value is not observable, if you are using a matlab release that has the new custom ui component (https://www.mathworks.com/help/matlab/developing-custom-ui-component-classes.html), you can wrap your switches into a custom app where you can "fake" access into the switch value.
in fact, it probably makes sense to create a custom component anyway that bundles a switch with a lamp. a lamp doesn't appear to have a "Value" anyway.
by the way, i still do not understand the situation with the "external script that is not editable"...how exactly is it interacting with your hardware and/or gui?
Adam Danz
Adam Danz on 8 Jun 2021
For the lamp you'd listen to the color property (which is also not observable).
The only scenario I can imagine where this makes sense it's that OP is not the owner of the app nor the external script (I hope it's a function) and cannot make changes to either files and the switch can be changed by progresses not within OP's control.

Sign in to comment.

Accepted Answer

J. Alex Lee
J. Alex Lee on 6 Jun 2021
in general for "auto refresh" you can use the timer object to schedule recurrent execution - disclaimer i have only played with this in non-GUI context with intent to eventually incorporate in a appdesigner app, but haven't got that far
but if you mean you have hardware switches that your GUI is supposed to be somehow connected to, and if you flip physical switch 3, you need the GUI switch 3 to know about it, maybe there are other/better mechanisms through the software/hardware interface
  5 Comments
J. Alex Lee
J. Alex Lee on 7 Jun 2021
you could give your other script access to your GUI switch to flip it on whenever it switches the actual switch, or if it is not allowed by appdesigner, you can provide a public method in your app that will do the switching that the second script can invoke
Jay Vaidya
Jay Vaidya on 7 Jun 2021
As I said, I cannot link the two by any means as the other script is not controllable. Also, the valve can be manually turned ON in which case what you are suggesting cannot work.

Sign in to comment.

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!