/**
 * CAN Network Header File
 * [---------------------]
 * This file has been exported by the GNU tool CanOE
 * @ http://libcanoe.sourceforge.net/
 * 
 * Time (local) : Sat Aug 29 21:19:43 2009
 * Time (UTC)   : Sat Aug 29 21:19:43 2009
 * 
 * Network Infos
 * >-----------<
 * Name : ISEN Engineering Robotique 2008 (enJoY)
 * BitRate : 250000 bps
 */

#define CAN_BITRATE 250000

/**
 * Name : HeartBeat [HEARTBEAT]
 * Desc : Delivre une "impulsion" sur le CAN chaque seconde.
 * Arch : 18F
 */
// Depart []
#define CAN_HEARTBEAT_START 0b01000000000
// Impulsion []
#define CAN_HEARTBEAT_PULSE 0b01000000001

/**
 * Name : Servomoteurs [SERVO]
 * Desc : Gere les 2 servomoteurs du robot.
 * Arch : 18F
 */
// Depart []
#define CAN_SERVO_START 0b01000100000
// Position Camera [Enum(8b)]
#define CAN_SERVO_SERVO_CAMERA 0b01000100001
// Position Doigt [Enum(8b)]
#define CAN_SERVO_SERVO_DOIGT 0b01000100001

/**
 * Name : Asservissement [ASSERV]
 * Arch : DSPIC
 */
// Depart []
#define CAN_ASSERV_START 0b01000100000
// Position [Int(16b),Int(16b),Int(16b)]
#define CAN_ASSERV_POSITION 0b01000100001
// Position Atteinte []
#define CAN_ASSERV_POSITION_ATTEINTE 0b01000100001
// Vitesse de sortie [Int(8b),Int(8b)]
#define CAN_ASSERV_VITESSE_PWM 0b01000100001

/**
 * Name : Intelligence Artificielle [IA]
 * Arch : ARM
 */
// Depart []
#define CAN_IA_START 0b01000100000
// Changement Position Camera [Enum(8b)]
#define CAN_IA_SERVO_CAMERA 0b01000100001
// Changement Position Doigt [Enum(8b)]
#define CAN_IA_SERVO_DOIGT 0b01000100001
// Position par increments [Int(8b),Int(8b)]
#define CAN_IA_ASSERV_POSITION_INC 0b01000100001
// Arret []
#define CAN_IA_ASSERV_ARRET 0b01000100001
// Reprise []
#define CAN_IA_ASSERV_REPRISE 0b01000100001
// Controle Pince Gauche [Enum(8b),Int(8b)]
#define CAN_IA_ACTION_PINCE_G 0b01000100001
// Controle Pince Droite [Enum(8b),Int(8b)]
#define CAN_IA_ACTION_PINCE_D 0b01000100001
// Translation Horizontale [Enum(8b)]
#define CAN_IA_ACTION_TRANS_H 0b01000100001
// Translation Verticale [Enum(8b),Int(8b)]
#define CAN_IA_ACTION_TRANS_V 0b01000100001

/**
 * Name : Capteurs [CAPTEURS]
 * Desc : Gere la majorite des capteurs du robot (Sharps, contacteurs, barriere)
 * Arch : DSPIC
 */
// Depart []
#define CAN_CAPTEURS_START 0b01000100000
// Detecteur Arriere [Int(16b)]
#define CAN_CAPTEURS_ARRIERE 0b01000100001
// Detecteur Gauche [Int(16b)]
#define CAN_CAPTEURS_GAUCHE 0b01000100001
// Detecteur Droit [Int(16b)]
#define CAN_CAPTEURS_DROIT 0b01000100001
// Sharp 4 [Int(16b)]
#define CAN_CAPTEURS_SHARP4 0b01000100001
// Position Trans H [Int(8b)]
#define CAN_CAPTEURS_TRANS_H_POS 0b01000100001
// Contact 1 [Enum(8b)]
#define CAN_CAPTEURS_TRANS_V_POS1 0b01000100001
// Contact 2 [Enum(8b)]
#define CAN_CAPTEURS_TRANS_V_POS2 0b01000100001
// Contact 3 [Enum(8b)]
#define CAN_CAPTEURS_TRANS_V_POS3 0b01000100001
// Contact 4 [Enum(8b)]
#define CAN_CAPTEURS_TRANS_V_POS4 0b01000100001
// Contact 5 [Enum(8b)]
#define CAN_CAPTEURS_TRANS_V_POS_HAUT 0b01000100001
// Contact 6 [Enum(8b)]
#define CAN_CAPTEURS_TIRETTE 0b01000100001
// Contact 7 [Enum(8b)]
#define CAN_CAPTEURS_CONTACT7 0b01000100001
// Contact 8 [Enum(8b)]
#define CAN_CAPTEURS_MODE 0b01000100001
// Barriere [Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b),Enum(1b)]
#define CAN_CAPTEURS_BARRIERE 0b01000100001

/**
 * Name : Actionneurs [ACTION]
 * Arch : DSPIC
 */
// Depart []
#define CAN_ACTION_START 0b01000100000
// Etat Pince 1 [Enum(8b)]
#define CAN_ACTION_ETAT_PINCE1 0b01000100001
// Etat Pince 2 [Enum(8b)]
#define CAN_ACTION_ETAT_PINCE2 0b01000100001
// Etat Translation V [Enum(8b)]
#define CAN_ACTION_ETAT_TRANS_V 0b01000100001
// Etat Translation H [Enum(8b)]
#define CAN_ACTION_ETAT_TRANS_H 0b01000100001
