GUI red circle indicating connection

I have serial connection. I would like to have a green circle blinking in the screen while connection is on and a red circle while connection is off.
do i need to use axes for that?

 採用された回答

Baltam
Baltam 2016 年 4 月 19 日

0 投票

Personally I would do it with axes yes. Below an example of green and red circle depending on parameter x.
x = [0 1];
for i =1:numel(x)
rectangle('Position', [0.0 0.0 1 1], 'Curvature', [1 1], 'FaceColor', [x(i) 1-x(i) 0]) % with x = parameter
ax = gca;
% remove tick labels
set(ax,'XTick',[]),set(ax,'YTick',[])
% make lines of the axes white --> invisible on white background
set(ax,'XColor',[1,1,1]) , set(ax,'YColor',[1,1,1])
% make axes square to get round circle
axis square
pause(0.5)
end
Kind regards,
Baltam

4 件のコメント

Daniel
Daniel 2016 年 4 月 20 日
what is x? how do i link this to axis?
Baltam
Baltam 2016 年 4 月 20 日
x is your variable. In your case wether the connection is on or off. You should make axes in your GUI and implement code in your GUI code that checks if the connection is on and then update the axes by updating the variable 'x' first.
Daniel
Daniel 2016 年 4 月 21 日
thanks. it works. follow up question: what if i want to make it blink? i know i can make it appear and disappear, but i want this operation to happen while other code is running. is this an interrupt situation?
Baltam
Baltam 2016 年 4 月 21 日
編集済み: Baltam 2016 年 4 月 21 日
I believe you need something like this and adjust the function to make it change the color of the circle to white. I never used it before so good luck. I also read if you are doing heavy caculations the timer will not do its function in the background but it will do its task whenever some time is available.
t = timer;
t.ExecutionMode = 'fixedRate';
t.Period = 1;
t.TimerFcn = @(~,~)disp('1s elapsed');
start(t)
Good luck,
Baltam

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGraphics Performance についてさらに検索

質問済み:

2016 年 4 月 19 日

編集済み:

2016 年 4 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by