--
-- TMI-COMMON-SMI
--

TMI-COMMON-SMI DEFINITIONS ::= BEGIN

IMPORTS
    enterprises,
    MODULE-IDENTITY,
    OBJECT-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Unsigned32
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC;

timemachines MODULE-IDENTITY
    LAST-UPDATED "201908301200Z"
    ORGANIZATION "TimeMachines, Inc."
    CONTACT-INFO
        "TimeMachines, Inc.
        300 S 68th St Place, STE 100
        Lincoln, NE 68510"
    DESCRIPTION
        "This is the MIB Module for TimeMachines TM2000A specific parameters."
    REVISION "201908300000Z"
    DESCRIPTION
        "Initial revision of this MIB module."
    ::= { enterprises 54414 }

GPSFixType ::= INTEGER {
    nolock(0),
    twoDlock(1),
    threeDlock(2)
}

tmiSNMPManagement OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "This is the root object identifier for all MIBs under the TimeMachines tree."
    ::= { timemachines 1 }

tmiTM2000A OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "This is reserved for objects related to TimeMachines TM2000A products."
    ::= { tmiSNMPManagement 1 }

tmiManualTimeSet OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Whether time on TM2000A was set from webpage."
    ::= { tmiTM2000A 0 }

tmiNTPCount OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total Count of NTP Look Ups from Clients."
    ::= { tmiTM2000A 1 }

tmiNTPStratum OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Stratum Level reported to clients."
    ::= { tmiTM2000A 2 }

tmiNTPPeerSynced OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "If time is derived from Peer time source."
    ::= { tmiTM2000A 3 }

tmiNTPTimeSincePeerSynced OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "How long has it been since lost sync with peers source."
    ::= { tmiTM2000A 4 }

tmiGPSAltitude OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Reported GPS Altitude."
    ::= { tmiTM2000A 5 }

tmiGPSFix OBJECT-TYPE
    SYNTAX GPSFixType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "GPS Lock (fix) Level. 0=No Lock, 1=2D Lock, 2=3D Lock."
    ::= { tmiTM2000A 6 }

tmiGPSHoldovertime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Amount of time GPS has been without lock."
    ::= { tmiTM2000A 7 }

tmiGPSLocation OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Coordinate Location of TM2000A."
    ::= { tmiTM2000A 8 }

tmiGPSSatIDs OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Comma delimited list of received satellites, listed in order of SNR strength."
    ::= { tmiTM2000A 9 }

tmiGPSSatSNRs OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Comma delimited list of satellite SNR signal levels, aligned with satellite ID list."
    ::= { tmiTM2000A 10 }

tmiGPSSatsUsed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Reports the number of satellites used for GPS lock."
    ::= { tmiTM2000A 11 }

tmiGPSTimeKnown OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Equals 1 if 1PPS averaging routine is complete and PTP is available."
    ::= { tmiTM2000A 12 }

tmiSystemTime OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current UTC time on TM2000A."
    ::= { tmiTM2000A 13 }

tmiPeerSyncFail OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "True(1) if Peer sync has failed, requires that Peer sync was enabled."
    ::= { tmiTM2000A 14 }

tmiHoldoverExpired OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "TRUE(1) if Holdover has expired, used primarily for trap."
    ::= { tmiTM2000A 15 }

tmiAlarmList OBJECT IDENTIFIER ::= { tmiSNMPManagement 2 }

tmiGPSLockAlarm NOTIFICATION-TYPE
    OBJECTS { tmiGPSFix }
    STATUS current
    DESCRIPTION
        "GPS Lock Status Changed."
    ::= { tmiAlarmList 1 }

tmiPeerSyncAlarm NOTIFICATION-TYPE
    OBJECTS { tmiPeerSyncFail }
    STATUS current
    DESCRIPTION
        "Peer NTP Sync Lost."
    ::= { tmiAlarmList 2 }

tmiHoldoverAlarm NOTIFICATION-TYPE
    OBJECTS { tmiHoldoverExpired }
    STATUS current
    DESCRIPTION
        "Holdover Period Ended."
    ::= { tmiAlarmList 3 }

tmiStratumAlarm NOTIFICATION-TYPE
    OBJECTS { tmiNTPStratum }
    STATUS current
    DESCRIPTION
        "NTP Stratum Reported has changed."
    ::= { tmiAlarmList 4 }

END
