% Leitura dos sensores de orientação (inclinómetro e giroscópio)
%
% [array,rx,error,errorstr,tries]=readorient(H)
%
% Entradas:
% H    => Handler das comunicações com o Master
%
% Saídas:
% array    => [inclinómetro 1, inclinómetro 2, giroscópio 1, giroscópio 2]
% 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
%
% (c) Milton Ruas da Silva, 2006

function [array,rx,error,errorstr]=readorient(H)

% Carregamento em memória das constantes
data;

% Construção da mensagem a enviar
What=bitand(bitshift(SENSORS_ORIENTATION,SENSORS_LOC),SENSORS_MASK);
message=buildmessage(OP_READ_SENSORS,0,What);

% Envio da mensagem de request e leitura da resposta
[rx,error,errorstr]=sendmessage(H,message);

% O array servos indica o parametro pedido para cada um dos servos
array=[];

if (~error)
    for i=3:USART_RECV_LENGTH, array=[array intsigned(double(rx(i)),8)]; end
end
