DKSF-561-1-X-X-1 DEFINITIONS ::= BEGIN

IMPORTS
        enterprises,
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        NOTIFICATION-TYPE
                FROM SNMPv2-SMI
        DisplayString
                FROM SNMPv2-TC
        sysName
                FROM SNMPv2-MIB ;



netPingIOv3 MODULE-IDENTITY
        LAST-UPDATED "202110070000Z"
        ORGANIZATION "Alentis Electronics"
        CONTACT-INFO "developers@netping.ru"
        DESCRIPTION  "MIB for NetPing IO v3 (254R301) remote sensing and control"
                
        REVISION    "202110070000Z"
        DESCRIPTION "npIoLineN fixed, range must be 1..4; npPwrChannelN fixed, range must be 1..2"

        REVISION    "202011060000Z"
        DESCRIPTION "Initial release"

        ::= { lightcom 561 }



lightcom OBJECT IDENTIFIER::={enterprises 25728 }


npPwr OBJECT IDENTIFIER::={ lightcom 5800 }

npPwrTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpPwrEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog and outlet/relay control table"
    ::= { npPwr 3 }

npPwrEntry     OBJECT-TYPE
    SYNTAX     NpPwrEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog control table row"
    INDEX     { npPwrChannelN }
    ::= { npPwrTable 1 }

NpPwrEntry     ::= SEQUENCE {
    npPwrChannelN               INTEGER,
    npPwrStartReset             INTEGER,
    npPwrResetsCounter          INTEGER,
    npPwrRepeatingResetsCounter INTEGER,
    npPwrMemo                   DisplayString
    }

npPwrChannelN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..2)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The id of watchdog/power channel"
    ::= { npPwrEntry 1 }

npPwrStartReset  OBJECT-TYPE
     SYNTAX     INTEGER (0..2)
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION     "Deprecated in current FW version: Write 1 to start forced reset.
                      On read:
                      0 - normal operation
                      1 - reset is active
                      2 - reboot pause is active or watchdog is inactive"
     ::={npPwrEntry 2}

npPwrResetsCounter  OBJECT-TYPE
     SYNTAX     INTEGER (0..65535)
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION     "Counter of watchdog resets
                      Write 0 to clear."
     ::={npPwrEntry 4}

npPwrRepeatingResetsCounter  OBJECT-TYPE
     SYNTAX     INTEGER (0..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION     "Counter of continous failed
                      watchdog resets"
     ::={npPwrEntry 5}

npPwrMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Watchdog channel memo"
     ::={npPwrEntry 6}


npPwrWdogTrapData OBJECT IDENTIFIER::={ npPwr 2 }

npPwrWdogTrapN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "No of Watchdog channel / output relay"
    ::= { npPwrWdogTrapData 1 }

npPwrWdogTrapMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Watchdog/Relay memo"
     ::={npPwrWdogTrapData 6}

npPwrWdogTrapFailBitmap OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Failed adresses, bit 0 - A, bit 1 - B, bit 2 - C"
    ::= { npPwrWdogTrapData 13 }

npPwrWdogTrap OBJECT IDENTIFIER::={npPwr 6}

npPwrWdogTrapReset NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo,
        npPwrWdogTrapFailBitmap
        }
    STATUS  current
    DESCRIPTION
        "Watchdog reset started"
    ::= { npPwrWdogTrap 100 }

npPwrWdogTrapSuspended NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo
        }
    STATUS  current
    DESCRIPTION
        "Watchdog resets suspended because of no effect"
    ::= { npPwrWdogTrap 101 }

npPwrWdogTrapResumed NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo
        }
    STATUS  current
    DESCRIPTION
        "Watchdog normal operation resumed, successful ping after resets was suspended"
    ::= { npPwrWdogTrap 102 }


npIo  OBJECT IDENTIFIER::={lightcom 8900}

npIoTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpIoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Digital Input/output Table"
    ::= { npIo 1 }

npIoEntry        OBJECT-TYPE
    SYNTAX     NpIoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Digital Input/output Table Row"
    INDEX     { npIoLineN }
    ::= { npIoTable 1 }

NpIoEntry   ::= SEQUENCE {
    npIoLineN    INTEGER,
    npIoLevelIn  INTEGER,
    npIoLevelOut INTEGER,
    npIoMemo     DisplayString,
    npIoPulseCounter        Counter32,
    npIoSinglePulseDuration INTEGER,
    npIoSinglePulseStart    INTEGER
    }

npIoLineN      OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Number of IO line, from 1 to max supported"
    ::= { npIoEntry 1 }

npIoLevelIn    OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Input level, 0 or 1"
    ::= { npIoEntry 2 }

npIoLevelOut   OBJECT-TYPE
    SYNTAX     INTEGER {
                 flip(-1),
                 low(0),
                 high(1)
                 }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Output level, 0 or 1.
                  Write -1 to flip output."
    ::= { npIoEntry 3 }

npIoMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "IO line memo"
    ::= { npIoEntry 6 }

npIoPulseCounter   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Pulse Counter on IO input line (counts positive fronts)
                  Write 0 to reset."
    ::= { npIoEntry 9 }

npIoSinglePulseDuration   OBJECT-TYPE
    SYNTAX     INTEGER (100..25500)
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Set duration of single pulse on IO output line,
                  100ms to 25500ms, min. step is 100ms"
    ::= { npIoEntry 12 }

npIoSinglePulseStart    OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Write 1 to start single pulse on IO output.
                  Output will be inverted for time, specified by npIoSinglePulseDuration"
    ::= { npIoEntry 13 }

npIoTraps      OBJECT IDENTIFIER::={npIo 2}
npIoTrapPrefix OBJECT IDENTIFIER::={npIoTraps 0}

npIoTrapLineN OBJECT-TYPE
    SYNTAX     INTEGER (1..2)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Number of IO line"
    ::= { npIoTraps 1 }

npIoTrapLevelIn OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, new Input level, 0 or 1"
    ::= { npIoTraps 2 }

npIoTrapMemo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, IO line memo"
    ::= { npIoTraps 6 }

npIoTrapLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Legend for current logic level on the IO line"
    ::= { npIoTraps 7 }

npIoTrap NOTIFICATION-TYPE
    OBJECTS {
          npIoTrapLineN,
          npIoTrapLevelIn,
          npIoTrapMemo,
          npIoTrapLevelLegend
        }
    STATUS  current
    DESCRIPTION
        "Input state of IO line is changed"
    ::= { npIoTrapPrefix 1 }


npReboot OBJECT IDENTIFIER::={ lightcom 911 }

npSoftReboot OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to reboot device after
                  current operations completition"
    ::= { npReboot 1 }

npResetStack OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to re-initialize network
                  stack"
    ::= { npReboot 2 }

npForcedReboot OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to immediate forced reboot"
    ::= { npReboot 3 }

END
