/*
 * protocol.h
 *	author: nak@pluto.dti.ne.jp
 *  date:   2001/01/10
 */

#ifndef _PROTOCOL_H_
#define _PROTOCOL_H_

/* ASCII */
#define DLE		0x10
#define	ETX		0x03
#define ACK		0x06
#define NAK		0x15

/* Basic Packet IDs */
enum {
	Pid_Ack_Byte		= 6,
	Pid_Nak_Byte		= 21,
	Pid_Protocol_Array	= 253,
	Pid_Product_Rqst	= 254,
	Pid_Product_Data	= 255
};

/* L001 - Link Protocol 1 */
enum {
	Pid_Command_Data	= 10,
	Pid_Xfer_Cmplt		= 12,
	Pid_Date_Time_Data	= 14,
	Pid_Position_Data	= 17,
	Pid_Prx_Wpt_Data	= 19,
	Pid_Records			= 27,
	Pid_Rte_Hdr			= 29,
	Pid_Rte_Wpt_Data	= 30,
	Pid_Almanac_Data	= 31,
	Pid_Trk_Data		= 34,
	Pid_Wpt_Data		= 35,
	Pid_Pvt_Data		= 51,
	Pid_Rte_Link_Data	= 98,
	Pid_Trk_Hdr			= 99
};

/* A010 - Device Command Protocol 1 */
enum {
	Cmnd_Abort_Transfer	= 0,	/* abort current transfer */
	Cmnd_Transfer_Alm	= 1,	/* transfer almanac */
	Cmnd_Transfer_Posn	= 2,	/* transfer position */
	Cmnd_Transfer_Prx	= 3,	/* transfer proximity waypoints */
	Cmnd_Transfer_Rte	= 4,	/* transfer routes */
	Cmnd_Transfer_Time	= 5,	/* transfer time */
	Cmnd_Transfer_Trk	= 6,	/* transfer track log */
	Cmnd_Transfer_Wpt	= 7,	/* transfer waypoints */
	Cmnd_Turn_Off_Pwr	= 8,	/* turn off power */
	Cmnd_Start_Pvt_Data	= 49,	/* start transmitting PVT data */
	Cmnd_Stop_Pvt_Data	= 50	/* stop transmitting PVT data */
};


#endif _PROTOCOL_H_
