-- This file is corresponding to Release 9.1.10.101 from 2014/08/11 00:00:00


---------------------------------------------------------------------------
-- (C)opyright 2013-2014 bintec elmeg GmbH
-- $RCSfile: mib-gps,v $
-- $Revision: 1.6 $
-- $Date: 2014-02-07 10:37:49 $
---------------------------------------------------------------------------

BINTEC-GPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, mib-2,
    enterprises		FROM SNMPv2-SMI
    
    RowStatus, DisplayString FROM SNMPv2-TC

    bibo, Date FROM BINTEC-MIB;


gpsMIB MODULE-IDENTITY
    LAST-UPDATED "201307240000Z"
    ORGANIZATION "bintec elmeg GmbH"
    CONTACT-INFO
    	    "EMail:  info@bintec-elmeg.com
	     Web:    www.bintec-elmeg.com
	    "
    DESCRIPTION
        "The MIB module for GPS data entities."
    REVISION "20130327000Z"
    DESCRIPTION
    	"Initial version."
    ::= { bibo 68 }

    gpsConfig OBJECT IDENTIFIER ::= { gpsMIB 1 }

    gpsConfigNMEATcpPort OBJECT-TYPE
    	SYNTAX INTEGER (-1..65535)
    	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This object represents the TCP port the NMEA data is exported to, use
	a value of -1 to disable exporting of NMEA data via TCP."
	DEFVAL { -1 }
    ::= { gpsConfig 1 }

    gpsConfigTimeUpdate OBJECT-TYPE
    	SYNTAX INTEGER
	UNITS  "seconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This object specifies interval for updating the system time via GPS time.
	-1 means don't use GPS time, 0 update on every GPS fix."
	DEFVAL { -1 }
    ::= { gpsConfig 2 }

    gpsConfigOnlineMap OBJECT-TYPE
	 SYNTAX  INTEGER {
	     enabled(1),
	     disabled(2)
	 }
         MAX-ACCESS  read-write
         STATUS  current
	 DESCRIPTION
	        "This object enables or disables usgae of online maps in GUI."
	  DEFVAL  { disabled }
	::= { gpsConfig 3 }

    gpsCoordinates OBJECT IDENTIFIER ::= { gpsMIB 2 }

    gpsCoordinatesLastFix OBJECT-TYPE
    	SYNTAX Date
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The time of the last GPS fix."
    ::= { gpsCoordinates 1 }
    
    gpsCoordinatesLongDeg OBJECT-TYPE
    	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The longitudinal degrees of the last fix."
    ::= { gpsCoordinates 2 }

    gpsCoordinatesLongMinInt OBJECT-TYPE
    	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The integer part of the longitudinal minutes of the last fix."
    ::= { gpsCoordinates 3 }

    gpsCoordinatesLongMinDec OBJECT-TYPE
	SYNTAX INTEGER
    	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The decimal part of the longitudinal minutes of the last fix."
    ::= { gpsCoordinates 4 }

    gpsCoordinatesLongCard OBJECT-TYPE
	SYNTAX INTEGER {
	    east(1),
	    west(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The longitudinal cardinals of the last fix."
	DEFVAL { west }
    ::= { gpsCoordinates 5 }

    gpsCoordinatesLatDeg OBJECT-TYPE
    	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The latitudinal degrees of the last fix."
    ::= { gpsCoordinates 6 }

    gpsCoordinatesLatMinInt OBJECT-TYPE
    	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The integer part of the latitudinal minutes of the last fix."
    ::= { gpsCoordinates 7 }

    gpsCoordinatesLatMinDec OBJECT-TYPE
	SYNTAX INTEGER
    	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The decimal part of the latitudinal minutes of the last fix."
    ::= { gpsCoordinates 8 }

    gpsCoordinatesLatCard OBJECT-TYPE
	SYNTAX INTEGER {
	    north(1),
	    south(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The latitudinal cardinals of the last fix."
	DEFVAL { north }
    ::= { gpsCoordinates 9 }

    gpsZoneTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF GpsZoneEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"The (conceptual) table listing GPS zones."
    ::= { gpsMIB 3 }

    gpsZoneEntry OBJECT-TYPE
    	SYNTAX GpsZoneEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"An entry (conceptual row) representing a GPS zone.
	 A zone is defined by two points A and B. A is the upper left
	 point, B the lower right point."
	INDEX { gpsZoneIndex }
    ::= { gpsZoneTable 1 }

    GpsZoneEntry ::= SEQUENCE {
	gpsZoneIndex			INTEGER,
	gpsZonePointALongDeg 		INTEGER,
	gpsZonePointALongMinInt		INTEGER,
	gpsZonePointALongMinDec		INTEGER,
	gpsZonePointALongCard		INTEGER,
	gpsZonePointALatDeg		INTEGER,
	gpsZonePointALatMinInt		INTEGER,
	gpsZonePointALatMinDec		INTEGER,
	gpsZonePointALatCard		INTEGER,
	gpsZonePointBLongDeg 		INTEGER,
	gpsZonePointBLongMinInt		INTEGER,
	gpsZonePointBLongMinDec		INTEGER,
	gpsZonePointBLongCard		INTEGER,
	gpsZonePointBLatDeg		INTEGER,
	gpsZonePointBLatMinInt		INTEGER,
	gpsZonePointBLatMinDec		INTEGER,
	gpsZonePointBLatCard		INTEGER,
	gpsZoneTimeToTrue		INTEGER,
	gpsZoneTimeToFalse		INTEGER,
	gpsZoneHdop			INTEGER,
	gpsZoneRowStatus		RowStatus,
	gpsZoneValid			INTEGER,
	gpsZoneInitialState		INTEGER,
	gpsZoneInitialStateTime		INTEGER,
	gpsZoneCoverageFailState	INTEGER,
	gpsZoneCoverageFailStateTime	INTEGER,
	gpsZoneDescription		DisplayString
    }

    gpsZoneIndex OBJECT-TYPE
    	SYNTAX INTEGER
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The index of a GPS location zone."
    ::= { gpsZoneEntry 1 }

    gpsZonePointALongDeg OBJECT-TYPE
        SYNTAX INTEGER (0..180)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value of the degrees for the longitudinal position of point A.
	This can vary between 0 and 180."
    ::= { gpsZoneEntry 2 }

    gpsZonePointALongMinInt OBJECT-TYPE
        SYNTAX INTEGER (0..59)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the whole part of the longitudinal minutes of point A.
	This can vary between 0 and 59."
    ::= { gpsZoneEntry 3 }

    gpsZonePointALongMinDec OBJECT-TYPE
    	SYNTAX INTEGER (0..9999)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the decimal part of the longitudinal minutes of point A.
	This can vary between 0 and 9999."
    ::= { gpsZoneEntry 4 }

    gpsZonePointALongCard OBJECT-TYPE
    	SYNTAX INTEGER {
	    east(1),
	    west(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Represents the cardinal point to the longitude where the point is
	found. This can take the values East and West.
	Default is West."
	DEFVAL { west }
    ::= { gpsZoneEntry 5 }

    gpsZonePointALatDeg OBJECT-TYPE
        SYNTAX INTEGER (0..90)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value of the degrees for the latitudinal position of point A.
	This can vary between 0 and 90."
    ::= { gpsZoneEntry 6 }

    gpsZonePointALatMinInt OBJECT-TYPE
        SYNTAX INTEGER (0..59)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the whole part of the latitudinal minutes of point A.
	This can vary between 0 and 59."
    ::= { gpsZoneEntry 7 }

    gpsZonePointALatMinDec OBJECT-TYPE
    	SYNTAX INTEGER (0..9999)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the decimal part of the latitudinal minutes of point A.
	This can vary between 0 and 9999."
    ::= { gpsZoneEntry 8 }

    gpsZonePointALatCard OBJECT-TYPE
    	SYNTAX INTEGER {
	    north(1),
	    south(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Represents the cardinal point to the latitudinal where the point is
	found. This can take the values north and south.
	Default is north."
	DEFVAL { north }
    ::= { gpsZoneEntry 9 }

    gpsZonePointBLongDeg OBJECT-TYPE
        SYNTAX INTEGER (0..180)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value of the degrees for the longitudinal position of point B.
	This can vary between 0 and 180."
    ::= { gpsZoneEntry 10 }

    gpsZonePointBLongMinInt OBJECT-TYPE
        SYNTAX INTEGER (0..59)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the whole part of the longitudinal minutes of point B.
	This can vary between 0 and 59."
    ::= { gpsZoneEntry 11 }

    gpsZonePointBLongMinDec OBJECT-TYPE
    	SYNTAX INTEGER (0..9999)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the decimal part of the longitudinal minutes of point B.
	This can vary between 0 and 9999."
    ::= { gpsZoneEntry 12 }

    gpsZonePointBLongCard OBJECT-TYPE
    	SYNTAX INTEGER {
	    east(1),
	    west(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Represents the cardinal point to the longitude where the point is
	found. This can take the values East and West.
	Default is West."
	DEFVAL { west }
    ::= { gpsZoneEntry 13 }

    gpsZonePointBLatDeg OBJECT-TYPE
        SYNTAX INTEGER (0..90)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value of the degrees for the latitudinal position of point B.
	This can vary between 0 and 90."
    ::= { gpsZoneEntry 14 }

    gpsZonePointBLatMinInt OBJECT-TYPE
        SYNTAX INTEGER (0..59)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the whole part of the latitudinal minutes of point B.
	This can vary between 0 and 59."
    ::= { gpsZoneEntry 15 }

    gpsZonePointBLatMinDec OBJECT-TYPE
    	SYNTAX INTEGER (0..9999)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Value for the decimal part of the latitudinal minutes of point B.
	This can vary between 0 and 9999."
    ::= { gpsZoneEntry 16 }

    gpsZonePointBLatCard OBJECT-TYPE
    	SYNTAX INTEGER {
	    north(1),
	    south(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Represents the cardinal point to the latitudinal where the point is
	found. This can take the values north and south.
	Default is north."
	DEFVAL { north }
    ::= { gpsZoneEntry 17 }

    gpsZoneTimeToTrue OBJECT-TYPE
	SYNTAX INTEGER (0..1000000)
	UNITS  "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object defines the time that must lapse so the zone can pass from
	FALSE to TRUE when the device has good GPS coverage. This transition is
	invoked as the GPS reveiver passes to being 'inside' the zone."
	DEFVAL { 10 }
    ::= { gpsZoneEntry 18 }

    gpsZoneTimeToFalse OBJECT-TYPE
	SYNTAX INTEGER (0..1000000)
	UNITS  "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object define the time that must laspe so the zone can pass from
	TRUE to FALSE when the device has good GPS coverage. This transition is
	invoked as the GPS receiver passes to being 'outside' the zone."
	DEFVAL { 10 }
    ::= { gpsZoneEntry 19 }

    gpsZoneHdop OBJECT-TYPE
    	SYNTAX INTEGER (2..20)
    	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object configures the HDOP limit value to take the GPS
         information as valid. When the HDOP calculated by the GPS receiver
         surpasses the value configured with this parameter, the locking
         information is discarded so what is shown is as if there were no GPS
         signal (NO SIGNAL). HDOP (Horizontal Dilution Of Precision) is the
         most commonly used parameter from all those offered by a GPS
         receiver, to evaluate the locking accuracy over the earth's surface."
	DEFVAL { 6 }
    ::= { gpsZoneEntry 20 }

    gpsZoneRowStatus OBJECT-TYPE
        SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The row-status of this GPS zone entry."
    ::= { gpsZoneEntry 21 }

    gpsZoneValid OBJECT-TYPE
    	SYNTAX INTEGER {
	    true(1),
	    false(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This object shows if the current position is in the defined zone
	(true) or not (false)."
	DEFVAL { false }
    ::= { gpsZoneEntry 22}

    gpsZoneInitialState OBJECT-TYPE
	SYNTAX INTEGER {
	    true(1),
	    false(2),
	    true-time-false(3),
	    false-time-true(4)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object defines the state the GPS zone must take when the device is
	 switched on and there is no GPS signal available.
	 true: The initial state of the zone is TRUE.
	 false: The initial state of the zone is FALSE.
	 true-time-false: The initial state is TRUE and changes to FALSE if no GPS
	 signal is available for the duration defined by InitialStateTime.
	 false-time-true: The initial state is FALSE and changes to TRUE if no GPS
	 signal is available for the duration defined by InitialStateTime."
	DEFVAL { false }
    ::= { gpsZoneEntry 23}

    gpsZoneInitialStateTime OBJECT-TYPE
	SYNTAX INTEGER (0..1000000)
	UNITS  "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object defines the time for state transition defined by InitialState
	 when the device is switched on and no GPS signal is available."
	DEFVAL { 120 }
    ::= { gpsZoneEntry 24 }

    gpsZoneCoverageFailState OBJECT-TYPE
	SYNTAX INTEGER {
	    true(1),
	    false(2),
	    true-time-false(3),
	    false-time-true(4),
	    last-state(5),
	    last-time-false(6),
	    last-time-true(7)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object defines the state the GPS zone must take when the GPS receiver
	 loses coverage or doesn't have enough to accurately calculate the
	 geographical position.
	 true: The state of the zone is TRUE.
	 false: The state of the zone is FALSE.
	 true-time-false: The state is TRUE and changes to FALSE if no GPS signal
	 is available for the duration defined by CoverageFailStateTime.
	 false-time-true: The state is FALSE and changes to TRUE if no GPS signal
	 is available for the duration defined by CoverageFailStateTime.
	 last-state: The state remains in the same state.
	 last-time-false: The state remains and changes to FALSE if no GPS signal
	 is available for the duration defined by CoverageFailStateTime.
	 last-time-true: The state remains and changes to TRUE if no GPS signal
	 is available for the duration defined by CoverageFailStateTime."
	DEFVAL { last-state }
    ::= { gpsZoneEntry 25}

    gpsZoneCoverageFailStateTime OBJECT-TYPE
	SYNTAX INTEGER (0..1000000)
	UNITS  "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This object defines the time for state transition defined by
	 CoverageFailState when no GPS signal is available."
	DEFVAL { 120 }
    ::= { gpsZoneEntry 26 }

    gpsZoneDescription OBJECT-TYPE
            SYNTAX  DisplayString (SIZE (0..255))
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                "A textual string describing this zone."
    ::= { gpsZoneEntry 27 }

END
