function [position,state,rx,error,errorstr] = ler_pos(handler, scu_id, perna)

%LER_POS   Posição angular da perna das juntas
%   [position,state,rx,error,errorstr,tries] = ler_pos(handler, scu_id, perna),
%   devolve a posição angular das juntas normalizadas segundo a orientação:
%       position(1) - angulo que a junta 1 faz com a superficie
%       position(2) - angulo que a junta 2 faz com a junta 1
%       position(3) - angulo que a junta 3 faz com a junta 2
%
% Entradas:
% handler  => Handler para comunicar com o Master
% scu_id   => Identificador do SCU alvo
% perna    => Perna - 'direita' ou 'esquerda'
%
% Saídas:
% position => Posição angular de cada junta
% state    => Bits de estado dos servos
% rx       => Mensagem de baixo nível recebida
% error    => Código de erro, se existente
% errorstr => String descritiva do erro
% tries    => Número de tentativas para efectuar a comunicação
    
    % tenta ler 3 vezes
    i = 1;
    error = 1;
    while(error)
        [position,state,rx,error,errorstr] = readjoint(handler, scu_id, 0);
        i = i+1;
        if(i>3)
            break;
        end
    end

%     position = [handler(1) handler(2) handler(3)];
    
    if (perna == 'dir')
        position(1) = 90-position(1)/2.5;
        position(2) = 90-position(2)/2.5;
        position(3) = (position(3)+70)/2.5;
        
    elseif(perna == 'esq')
%         off_set = [0 0 70];
%         pos_inicio = [90 90 0];       
    
    else
        position = [0 0 0];
        state = [0 0 0 0 0 0 0 0];
        rx = [0 0 0 0 0 0 0 0];
        error = 1;
        errorstr = 'Perna inválida';
        return;
    end
    
    
