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?

 Respuesta aceptada

Baltam
Baltam el 19 de Abr. de 2016
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 comentarios

Daniel
Daniel el 20 de Abr. de 2016
what is x? how do i link this to axis?
Baltam
Baltam el 20 de Abr. de 2016
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 el 21 de Abr. de 2016
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 el 21 de Abr. de 2016
Editada: Baltam el 21 de Abr. de 2016
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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 19 de Abr. de 2016

Editada:

el 21 de Abr. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by