blob: 8952268fdd582d27fc9609becb7d95e943ac2b83 [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14/*
15 * NOTE: This file was generated, manual edits will be overwritten!
16 *
17 * Generated by 'goCodeGenerator.py':
18 * https://github.com/cboling/OMCI-parser/README.md
19 */
20package generated
21
22import "github.com/deckarep/golang-set"
23
24const OnuDynamicPowerManagementControlClassId ClassID = ClassID(336)
25
26var onudynamicpowermanagementcontrolBME *ManagedEntityDefinition
27
28// OnuDynamicPowerManagementControl (class ID #336)
29// This ME models the ONU's ability to enter power conservation modes in cooperation with the OLT
30// in an ITU-T G.987 system. [ITUT G.987.3] originally specified two alternative modes, doze and
31// cyclic sleep. The subsequent revision of [ITUT G.987.3] simplified the specification providing a
32// single power conservation mode, watchful sleep.
33//
34// An ONU that supports power conservation modes automatically creates an instance of this ME.
35//
36// Relationships
37// One instance of this ME is associated with the ONU ME.
38//
39// Attributes
40// Managed Entity Id
41// Managed entity ID: This attribute uniquely identifies each instance of this ME. There is only
42// one instance, number 0. (R) (mandatory) (2 bytes)
43//
44// Power Reduction Management Capability
45// 5..255 Reserved
46//
47// Power Reduction Management Mode
48// Power reduction management mode: This attribute enables one or more of the ONU's managed power
49// conservation modes. It is a bit map in which the bit value 0 disables the mode, while the value
50// 1 enables the mode. Bit assignments are the same as those of the power reduction management
51// capability attribute. The default value of each bit is 0. (R, W) (mandatory) (1 byte)
52//
53// Itransinit
54// Itransinit: This attribute is the ONU vendor's statement of the complete transceiver
55// initialization time: the worst-case time required for the ONU to regain full functionality when
56// leaving the asleep state in cyclic sleep mode or low-power state in watchful sleep mode (i.e.,
57// turning on both the receiver and the transmitter and acquiring synchronization to the downstream
58// flow), measured in units of 125 µs frames. The value zero indicates that the sleeping ONU can
59// respond to a bandwidth grant without delay. (R) (mandatory) (2 bytes)
60//
61// Itxinit
62// Itxinit: This attribute is the ONU vendor's statement of the transmitter initialization time:
63// the time required for the ONU to regain full functionality when leaving the listen state (i.e.,
64// turning on the transmitter), measured in units of 125 µs frames. The value zero indicates that
65// the dozing ONU can respond to a bandwidth grant without delay. If watchful sleep is enabled, the
66// ONU ignores this attribute. (R) (mandatory) (2 bytes)
67//
68// Maximum Sleep Interval
69// Maximum sleep interval: The Isleep/Ilowpower attribute specifies the maximum time the ONU spends
70// in its asleep, listen, or low-power states, as a count of 125 µs frames. Local or remote events
71// may truncate the ONU's sojourn in these states. The default value of this attribute is 0. (R, W)
72// (mandatory) (4 bytes)
73//
74// Maximum Receiver_Off Interval
75// Maximum receiver-off interval: The Irxoff attribute specifies the maximum time the OLT can
76// afford to wait from the moment it decides to wake up an ONU in the low-power state of the
77// watchful sleep mode until the ONU is fully operational, specified as a count of 125 µs frames.
78// (R, W) (mandatory) (4 bytes)
79//
80// Minimum Aware Interval
81// Minimum aware interval: The Iaware attribute specifies the time the ONU spends in its aware
82// state, as a count of 125 µs frames, before it re-enters asleep or listen states. Local or remote
83// events may independently cause the ONU to enter an active state rather than returning to a sleep
84// state. The default value of this attribute is 0. (R, W) (mandatory) (4 bytes)
85//
86// Minimum Active Held Interval
87// Minimum active held interval: The Ihold attribute specifies the minimum time during which the
88// ONU remains in the active held state, as a count of 125 µs frames. Its initial value is zero.
89// (R, W) (mandatory) (2 bytes)
90//
91// Maximum Sleep Interval Extension
92// (R, W) (optional) (8 bytes)
93//
94// Ethernet Passive Optical Network Epon Capability Extension
95// – Configurations:
96// ackEnable configuration = enable,
97// Sleep indication configuration = disable,
98// Early wake-up configuration = enable
99//
100// Epon Setup Extension
101// (R, W) (optional) (1 byte)
102//
103// Missing Consecutive Bursts Threshold
104// Missing consecutive bursts threshold: The Clobi attribute specifies the maximum number of
105// missing consecutive scheduled bursts from the ONU that the OLT is willing to tolerate without
106// raising an alarm. The value of this attribute defaults to 4. (R, W) (mandatory) (4 bytes)
107//
108type OnuDynamicPowerManagementControl struct {
109 ManagedEntityDefinition
110 Attributes AttributeValueMap
111}
112
113func init() {
114 onudynamicpowermanagementcontrolBME = &ManagedEntityDefinition{
115 Name: "OnuDynamicPowerManagementControl",
116 ClassID: 336,
117 MessageTypes: mapset.NewSetWith(
118 Get,
119 Set,
120 ),
121 AllowedAttributeMask: 0XFFF0,
122 AttributeDefinitions: AttributeDefinitionMap{
123 0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read), false, false, false, false, 0),
124 1: ByteField("PowerReductionManagementCapability", 0, mapset.NewSetWith(Read), false, false, false, false, 1),
125 2: ByteField("PowerReductionManagementMode", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 2),
126 3: Uint16Field("Itransinit", 0, mapset.NewSetWith(Read), false, false, false, false, 3),
127 4: Uint16Field("Itxinit", 0, mapset.NewSetWith(Read), false, false, false, false, 4),
128 5: Uint32Field("MaximumSleepInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
129 6: Uint32Field("MaximumReceiverOffInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
130 7: Uint32Field("MinimumAwareInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
131 8: Uint16Field("MinimumActiveHeldInterval", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 8),
132 9: Uint64Field("MaximumSleepIntervalExtension", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 9),
133 10: ByteField("EthernetPassiveOpticalNetworkEponCapabilityExtension", 0, mapset.NewSetWith(Read), false, false, true, false, 10),
134 11: ByteField("EponSetupExtension", 0, mapset.NewSetWith(Read, Write), false, false, true, false, 11),
135 12: Uint32Field("MissingConsecutiveBurstsThreshold", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 12),
136 },
137 }
138}
139
140// NewOnuDynamicPowerManagementControl (class ID 336 creates the basic
141// Managed Entity definition that is used to validate an ME of this type that
142// is received from the wire, about to be sent on the wire.
143func NewOnuDynamicPowerManagementControl(params ...ParamData) (*ManagedEntity, OmciErrors) {
144 return NewManagedEntity(onudynamicpowermanagementcontrolBME, params...)
145}