RUGGEDCOM-GPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE, Integer32, NOTIFICATION-TYPE 	FROM SNMPv2-SMI
    DisplayString, TruthValue        			FROM SNMPv2-TC
    OBJECT-GROUP			       	    		FROM SNMPv2-CONF 
	RcTimeSyncStatus							FROM RUGGEDCOM-TIMECONFIG-MIB
    ruggedcomMgmt, ruggedcomTraps				FROM RUGGEDCOM-MIB;

rcGps MODULE-IDENTITY
    LAST-UPDATED "201510301700Z"      -- Oct 30, 17:00 EST 2015
    ORGANIZATION "Siemens Canada Limited"
    CONTACT-INFO
       "Postal: Siemens Canada Limited
                300 Applewood Crescent
                Concord, Ontario, 
                L4K 5C7 Canada
        Tel:    1-905-856-5288
        E-Mail: support@ruggedcom.com"
    DESCRIPTION
        "Siemens - RuggedCom prorietary to control and monitor GPS module."
	REVISION    "201510301700Z"      -- Oct 30, 17:00 EST 2015
    DESCRIPTION                
        "Added object to configure and monitor GPS in RuggedCom devices."

	REVISION    "201412011700Z"      -- Dec 01, 17:00 EST 2014
    DESCRIPTION                
        "Initial version of Siemens - RuggedCom prorietary MIB to control and
        monitor GPS module."

    ::= { ruggedcomMgmt 9 }



-- ---------------------------------------------------------- --
-- rcGps subtrees
-- ---------------------------------------------------------- --
rcGpsBase				OBJECT IDENTIFIER ::= { rcGps 1 }
-- rcGpsTables			OBJECT IDENTIFIER ::= { rcGps 2 }
rcGpsConformance 		OBJECT IDENTIFIER ::= { rcGps 3 }
-- rcGpsCompliances  	OBJECT IDENTIFIER ::= { rcGpsConformance 1 }
rcGpsGroups 			OBJECT IDENTIFIER ::= { rcGpsConformance 2 }

-- ---------------------------------------------------------------------- --
-- Base subtree
-- ---------------------------------------------------------------------- --
rcGpsStatus				OBJECT-TYPE
    SYNTAX  	RcTimeSyncStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The system synchronization status when GPS is a primary 
         time source.
         
         If value of this object is changed, rcGpsStatusChange notification
         will be generated."
    ::= { rcGpsBase 1}
    
rcGpsLocInt 			OBJECT-TYPE
    SYNTAX		Integer32(1..120)				
    MAX-ACCESS	read-write
    STATUS		current	
    DESCRIPTION
         "To set time interval in minute with in which GPS receiver 
         should acquire lock to the time source.
    	 Normally GPS receiver needs couple of minutes to lock 
		 the signal. 
		 User should set reasonable time interval. If time interval expire 
		 with out acquire the lock then system start distributing the time 
		 using local clock."
    ::= { rcGpsBase 2}
    
rcGpsCableCompensate	 OBJECT-TYPE
    SYNTAX  	Integer32(0..50000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Cable compensation in ns may be desired to compensate for a long 
         cable  run in order to minimize the timing inaccuracy."
    ::= { rcGpsBase 3}
    
rcGpsAntPower			 OBJECT-TYPE
    SYNTAX  	TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "GPS receiver requires an active antenna. An active antenna includes
          preamplifier that filters and amplifies the GPS signals before delivery
          to the receiver. This option allows user to activate or deactivate the 
          power of GPS antenna. If GPS antenna is share among multiple devices 
          than all but one device should power the GPS antenna."
    ::= { rcGpsBase 4}
    
rcSatelliteInView		 OBJECT-TYPE
    SYNTAX  	Integer32(0..24)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The Number of Satellites shows how many satellites are currently being 
         tracked by the GPS module."
    ::= { rcGpsBase 5}
    
rcGpsLatitude			 OBJECT-TYPE
    SYNTAX  	 DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "GPS Latitude"
    ::= { rcGpsBase 6} 
    
rcGpsLongtitude			 OBJECT-TYPE
    SYNTAX  	 DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "GPS Longtitude"
    ::= { rcGpsBase 7} 
    
rcOFM			 		 OBJECT-TYPE
    SYNTAX  	 Integer32(-2147483647..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The current time offset between system and reference clocks"
    ::= { rcGpsBase 8} 
    
rcFreqAdj		 		 OBJECT-TYPE
    SYNTAX  	 Integer32(-2147483647..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The current amount of discipline applied to the local frequency reference (TCXO)."
    ::= { rcGpsBase 9}     
-- ---------------------------------------------------------------------- --
-- Traps
-- ---------------------------------------------------------------------- --
rcGpsStatusChange 	NOTIFICATION-TYPE
	OBJECTS		{
					rcGpsStatus
				}
	STATUS     	current
	DESCRIPTION
	"Notification generated if status of the GPS module is changed."		       
	::= { ruggedcomTraps 19 }
	

-- ---------------------------------------------------------------------- --
--  Conformance Groups
-- ---------------------------------------------------------------------- --
rcGpsBaseGroup OBJECT-GROUP
	OBJECTS		{
					rcGpsStatus 
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor and configure GPS status."
    ::= { rcGpsGroups 1 }    

rcGpsNotifyGroup OBJECT-GROUP
    OBJECTS     {
					rcGpsStatusChange
				}
    STATUS      current
    DESCRIPTION 
        "A group of objects that define trap."
    ::= { rcGpsGroups 2 }    

rcGpsBaseGroup01 OBJECT-GROUP
	OBJECTS		{	rcGpsStatus,
					rcGpsLocInt,
					rcGpsCableCompensate,
					rcGpsAntPower,
					rcSatelliteInView,
					rcGpsLatitude,
					rcGpsLongtitude,
					rcOFM,
					rcFreqAdj
				}
	STATUS     current
    DESCRIPTION 
        "A group of objects providing ability to monitor and configure GPS status."
    ::= { rcGpsGroups 3 }    

END
