function [err,errstr]=press_gui(H,scu,speed)

% CoP referencia inicial
pos0=[0 0 0];

% Ganhos de compensação do controlador Jacobiano
K=[50 50 50];

% Dados do pé
footdata;

% Desactivar PWMs
[err,errstr]=killuc(H,[scu scu+2]);
if (err==1), return, end

% Desligar compensação
[x,err,errstr]=applycontrol(H,scu,3,[0 0 0]);
if (err==1), return, end

% Inicializar velocidade dos servos
[x,err,errstr]=applyjoint(H,scu,1,[100 100 100]);
if (err==1), return, end

%disp 'Pressione ENTER para activar PWMs...'
%pause

% Activar PWMs
[err,errstr]=inituc(H,[scu scu+2]);
if (err==1), return, end
% Esperar que a activação dos PWMs seja feito
disp 'Activando PWMs...'
pause(4)
disp 'PWMs activados!'

% Inicializar ganhos de compensação
[x,err,errstr]=applycontrol(H,scu,0,K);
if (err==1), return, end

% Velocidade da variação do centro de pressão
[x,err,errstr]=applycontrol(H,scu,2,[speed speed speed]);
if (err==1), return, end

% Activar compensador
[x,err,errstr]=applycontrol(H,scu,3,[3 3 3]);
if (err==1), return, end

pos=pos0;
while (1)

    % Actualizar centro de Pressão referencia
    [x,err,errstr]=applycontrol(H,scu,1,pos*10);
    if (err==1), return, end

    % Desenhar pé com o CoP referência actual
    drawfoot(pos);
    
    % Introduzir novas coordenadas
    [x,y]=ginput(1);

    if (x<-footW/2 || x>footW/2 || y<-footL/2 || y>footL/2)
        break;
    end
    
    pos=[x,y]
end

% Centro de Pressão referencia nulo
[x,err,errstr]=applycontrol(H,scu,1,[0 0 0]);
if (err==1), return, end

% Esperar 2 segundos
pause(speed/50*2);

% Desligar compensação
[x,err,errstr]=applycontrol(H,scu,3,[0 0 0]);
if (err==1), return, end

pause(2);

% Desactivar PWMs
[err,errstr]=killuc(H,[scu scu+2]);
if (err==1), return, end

close all