// GPS Tracker constants

constant kAboutTitle := "GPS Tracker (CMC V1.5)";

// view containing the GPS comms stuff: theEndPoint, theCommandHandler & theReportHandler
constant kEPlayout := "EP_CMC";

constant kBaseCapabilities := kSupportsPosition + kSupportsPseudoRange + kSupportsCarrierPhase + kSupportsECEF + kSupportsSetDatum + kSupportsElevMask;

constant kDefaultBaud := 2;

DefConst ( 'kDefaultPrefs, {
		coordSel:		kPosOSG,		// index into kCoordDisplay array
		datumSel:		kDatumOSGB,		// index into kDatumList array
		altSel:			kAltMSL,		// index into kAltList array
		velocitySel:	kVelSoGmps,		// index into kVelocityDisplay array
		timeSel:		kShowUTCTime,	// index into kTimeDisplay array
		clockSetSel:	0,				// index into kClockSetList array
		fixIntSel:		3,				// index into kFixIntervalList array
		serialSrcSel:	0,				// index into kSerialSrcList array
		serialBaudSel:	kDefaultBaud,	// index into kSerialBaudList array
//		elevMaskSel:	1,				// index into kElevMaskList array
		svData:			true,
		rawData:		true,
		displayTime:	nil,
		displayDOP:		true,
		displaySVs:		true,
		displayVel:		nil,
});

constant kNavModeNames := '["Init. Required", "Initialised", "Nav. 3D", "Alt. Hold (2D)", "Diff. 3D", "Diff. 2D", "Dead Reckoning",];
constant kSysModeNames := '["Self Test", "Initialisation", "Acquisition", "Navigation", "Fault",];

// packet buffer size
constant kPktBufLen := 280;

// CMC binary protocol
constant kPktChanAssign		:= 6;
constant kPktChanAssign2	:= 7;	// report only - as 6, but channels 7-12
constant kPktNavData		:= 20;
constant kPktNavDataGPS		:= 21;
constant kPktEphemeris		:= 22;
constant kPktRawData		:= 23;
constant kPktSvVis			:= 33;
constant kPktDGPSconfig		:= 43;
constant kPktMachineID		:= 45;
constant kPktDGPSstatus		:= 48;
constant kPktRcvrStatus		:= 49;
constant kPktSvHealth		:= 50;
constant kPktInitiatedBIT	:= 51;
constant kPktInitiateLink	:= 63;
constant kPktSetChDesel		:= 64;	// cmd only
constant kPktUpdateAlm		:= 77;	// cmd only
constant kPktAlmStatus		:= 78;
constant kPktSpecAlm		:= 79;	// cmd only
constant kPktSetUserPos		:= 80;	// cmd only
constant kPktSetMaskAngle	:= 81;	// cmd only
constant kPktTxDGPSmsg		:= 82;	// cmd only
constant kPktRTCMdata		:= 83;
constant kPktSetTropo		:= 84;	// cmd only
constant kPktBeaconStatus	:= 85;
constant kPktSetMSLmodel	:= 86;	// cmd only
constant kPktSetDatum		:= 88;	// cmd only
constant kPktSetSvDesel		:= 90;	// cmd only
constant kPktTrackSvReq		:= 95;	// cmd only
constant kPktEraseNVM		:= 99;	// cmd only
constant kPktSetDateTime	:= 103;	// cmd only
constant kPktSetMsgList		:= 105;	// cmd only
constant kPktConfigMainPt	:= 110;	// cmd only
constant kPktReProgram		:= 112;	// cmd only
constant kPktLinkOverload	:= 125;
constant kPktAcknowledge	:= 126;

// datum ids
// see also kDatumXXX constants in constants.txt
constant kDatumCodeWGS84        :=   0;	// WGS-84
constant kDatumCodeEurope1979   :=  21;	// European 1979
constant kDatumCodeEurope1950   :=  15;	// European 1950 (mean)
constant kDatumCodeEurope1950UK :=  18;	// European 1979 (UK)
constant kDatumCodeOSGB         :=  50;	// Ordnance Survey 1936
constant kDatumCodeIreland1965  :=  27;	// Ireland 1965

// kDatumCode must correspond with kDatumList in constants.txt
DefConst('kDatumCode, [kDatumCodeWGS84, kDatumCodeEurope1979, kDatumCodeEurope1950, kDatumCodeEurope1950UK, kDatumCodeOSGB, kDatumCodeIreland1965]);
