/********************************************************************** Project: Automatic cat feeder Date: march 19 2006 Author: Jean-François Martel Target: PIC 18F252 Compiler: Microchip mcc18 Filename: Protocol.h File description: Communication protocol implementation. jean-francois.martel@polymtl.ca **********************************************************************/ //Protocol buffer specific definitions #define MAX_MESSAGE_SIZE 90 #define FRAME_HEADER 0x8A #define DATA_START 0x09 #define ACK 0xA3; #define NAK 0x90; #define BROADCAST_VALUE 0xFF enum eFrameIndex { FRAME_HEADER_INDEX, FRAME_SENDER_ID_INDEX, FRAME_SENDER_ADDRESS_INDEX, FRAME_DEST_ID_INDEX, FRAME_DEST_ADDRESS_INDEX, FRAME_FLAGS_INDEX, FRAME_COMMAND_INDEX, FRAME_SIZE1_INDEX, FRAME_SIZE2_INDEX, FRAME_DATA_INDEX }; enum DEVICES_IDS { ID_MASTER, //Master Controller ID_CONSOLE, //LCD Console ID_PC, //PC ID_AV_MUX, //Audio Video Multiplexer ID_IR_REMOTE, //Infra red transmitter ID_DEADBOLT, ID_RECEIVER_AMP, ID_NB_DEVICE_ID }; // Commands definitions enum MASTER_CMD { RX_MASTER_GET_STATUS, TX_MASTER_STATUS, TX_MASTER_ACK, RX_MASTER_SET_NET_INFO, RX_MASTER_GET_NET_INFO, TX_MASTER_NET_INFO, RX_MASTER_SEND_DEVICE_CMD, TX_MASTER_SEND_DEVICE_CMD_ACK, RX_MASTER_SET_WEATHER_INFO, TX_MASTER_SET_WEATHER_INFO_ACK, RX_MASTER_SET_MAIL_MSG, TX_MASTER_SET_MAIL_MSG_ACK, RX_MASTER_NEW_OUTLOOK_EMAILS, TX_MASTER_NEW_OUTLOOK_EMAILS_ACK, RX_MASTER_TODAYS_EVENTS, TX_MASTER_TODAYS_EVENTS_ACK }; //CONSOLE enum CONSOLE_CMD { RX_CONSOLE_GET_STATUS, TX_CONSOLE_STATUS, TX_CONSOLE_ACK, RX_START_CALIBRATION, RX_GET_CONSOLE_EVENT_MSG, TX_CONSOLE_EVENT_MSG, RX_CONSOLE_SHOW_CALLER_ID, RX_SET_TIME, RX_SET_WEATHER, RX_SEND_NEW_MAIL_MSG, RX_SEND_NEW_MAIL_MSG_ACK, RX_NEW_OUTLOOK_EMAILS, TX_NEW_OUTLOOK_EMAILS_ACK, RX_TODAYS_EVENTS, TX_TODAYS_EVENTS_ACK, LAST_CONSOLE_CMD }; enum IR_REMOTE_CMDS { TX_IR_REMOTE_ACK = 1, RX_GET_STATUS, TX_REMOTE_STATUS, RX_TRANSMIT_CMD, RX_LEARN_IR_CMD, TX_LEARN_IR_CMD_FINISHED, RX_GET_IR_DATA, TX_SEND_IR_DATA, RX_SET_IR_CMD, RX_SET_IR_DATA, RX_GET_IR_CMD, TX_SEND_IR_CMD, MAX_IR_REMOTE_CMD };