/*=======================================================================+
|             DEPARTAMENTO MECANICA UNIVERSIDADE AVEIRO                  |
|               Projecto Humanoide (PHUA - MODULROB)                     |
|                                                                        |
| Programadores:                                                         |
|              David Manuel Costa Gameiro          N:20281               |
|              Filipe Carvalho Mostardinha         N:22085               |
|                                                                        |
| Data: Segunda - 25/Maio/2004                                           |
|                                                                        |
| Nome Ficheiro: FuncAux.h                                               |
|                                                                        |
|                            HEADER FILE                                 |
+=======================================================================*/

#ifndef FUNC_AUX_H

#define FUNC_AUX_H


#define NUM_JUNTAS 6//max do num juntas existentes em cada membro


typedef enum _bool {false = 0,true = 1} bool;
typedef unsigned char byte;
typedef unsigned int inteiro;

typedef struct NumMCU //estrutura com os numeros correspondentes 
{
	byte Junta[NUM_JUNTAS];//vector com o num max de juntas possiveis
}juntas;


//tipos de mensagens passiveis de serem recebidas
enum MENSAGENS
{
	BITS_TIPO_MSG = 0b11100000,//3 bits indicando o tipo de msg

	BITS_SIDE_TOP = 0b00011000,//lado esquerdo/direito | braco/perna

	LER_TDOS_SENS = 0b01000000,//Le todos os sensores, perna ou junta
	LER_POS_JUNTA = 0b01100000,//Le posi‡ao da articula‡„o
	LER_SENS_PE   = 0b10000000,//Le sensores forca pe
	NOV_POS_MOT   = 0b00100000,//Nova posicao a ocupar pelo motor

	BITS_IDENT    = 0b00000111 //Apenas estes bits possuem o identificador
};


bool TdasJuntasMembro(juntas *, byte,byte *, byte);

#endif
