/*=======================================================================+
|             DEPARTAMENTO MECANICA UNIVERSIDADE AVEIRO                  |
|                                                                        |
| Programadores:                                                         |
|       		David Manuel Costa Gameiro          N:20281              |
|       		Filipe Carvalho Mostardinha         N:22085              |
|                                                                        |
| Data:  Segunda - 10/Maio/2004                                          |
|                                                                        |
| Nome Ficheiro: InitCan.h                                               |
|                                                                        |
|                            HEADER FILE                                 |
+=======================================================================*/

#include <p18f258.h>

#ifndef INITCAN_H

#define INITCAN_H


//Definico de tipos de dados
typedef enum BOOL {FALSE=0, TRUE = 1};
typedef unsigned char byte;



//Macros relativas ao CAN, todos os valores sao obtidos tendo em conta um
//um baud rate de 1 Mbps
#define FASE_SALTO 2
#define FASE_PROP 2
#define FASE_SEG1 2
#define FASE_SEG2 2
#define BRP 1

//Mascara autorizando a que o filtro verifique tdos os bits do identificador
#define MASCARA 0b11111111111

//o byte ob1abcdefg , definido da seguinte forma
// [a,b] - 	indicam o tipo de mensagens v˙lHostHostIDasya receber, registo RXB0CON
// c - caso se pretenda passagem de informaĜ"o do Buffer 0 => 1. (1) - Sim
// d - qual o HostHostIDentificador a usar (1) standard (0) expandHostHostIDo
// e - amostrar 3 vezes o Bus antes do ponto amostra
// f - acordar o CAN atrav,s do bus, (1) Sim  (0) N"o
// g - Segmento 2 baud rate programado livremente ou n"o
#define CONFIGURACAO 0b10101101 //O tipo de configuraĜ"o desejada




/*------------------------------------------------------------+
|     void InitCan(void)                                      |
|                                                             |
| Entrada: no possui valores de entrada                      |
|                                                             |
| Sadida: no possui valores de saida                         |
|                                                             |
| Objectivo: Inicializar a configuracao do Protocolo de       |
|           comunicacoes CAN, recorrendo as macros anteriores |
+------------------------------------------------------------*/

void InitCan(void);

#endif
