blob: 9ce1dd7321f818cd35d46feacb3c66a0c42a1a57 [file] [log] [blame]
Chip Boling6e27b352020-02-14 09:10:01 -06001/*
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 */
20
21package generated
22
23import "github.com/deckarep/golang-set"
24
25// Vdsl2LineInventoryAndStatusDataPart3ClassID is the 16-bit ID for the OMCI
26// Managed entity VDSL2 line inventory and status data part 3
27const Vdsl2LineInventoryAndStatusDataPart3ClassID ClassID = ClassID(170)
28
29var vdsl2lineinventoryandstatusdatapart3BME *ManagedEntityDefinition
30
31// Vdsl2LineInventoryAndStatusDataPart3 (class ID #170)
32// This ME extends the other xDSL line inventory and status data MEs with attributes specific to
33// VDSL2. This ME contains per-band attributes for both directions. These same attributes are
34// defined in the xDSL line inventory and status data part 2 ME, but only for a single band. [ITUT
35// G.993.2] allows for VDSL2 to have as many as five bands upstream and as many as five bands
36// downstream.
37//
38// Relationships
39// This is one of the status data MEs associated with an xDSL UNI. It is required only if VDSL2 is
40// supported by the PPTP. The ONU automatically creates or deletes an instance of this ME upon
41// creation or deletion of a PPTP xDSL UNI part 1 that supports these attributes.
42//
43// Attributes
44// Managed Entity Id
45// Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
46// identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
47// (mandatory) (2-bytes)
48//
49// Downstream Line Attenuation Per Band
50// Downstream line attenuation per band: The LATNds attribute is defined per usable band. It is the
51// squared magnitude of the channel characteristics function, H(f), averaged over this band, and
52// measured during loop diagnostic mode and initialization. The exact definition is included in the
53// relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
54// 1270 (+127.0-dB). The special value 0xFFFF indicates that the line attenuation per band is out
55// of the range to be represented. (R) (mandatory) (3-bands * 2-bytes-=-6-bytes)
56//
57// Upstream Line Attenuation Per Band
58// Upstream line attenuation per band: The LATNus attribute is defined per usable band. It is the
59// squared magnitude of the channel characteristics function H(f) averaged over this band, and
60// measured during loop diagnostic mode and initialization. The exact definition is included in the
61// relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
62// 1270 (+127.0-dB). The special value 0xFFFF indicates that line attenuation per band is out of
63// range to be represented. (R) (mandatory) (4-bands * 2-bytes-=-8-bytes)
64//
65// Downstream Signal Attenuation Per Band
66// NOTE 1 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-C, as
67// compared to loop diagnostic mode and initialization. Therefore, the downstream signal
68// attenuation value during showtime may be significantly lower than the downstream signal
69// attenuation value during loop diagnostic mode and initialization.
70//
71// Upstream Signal Attenuation Per Band
72// NOTE 2 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-R, as
73// compared to loop diagnostic mode and initialization. Therefore, the upstream signal attenuation
74// value during showtime may be significantly lower than the upstream signal attenuation value
75// during loop diagnostic mode and initialization.
76//
77// Downstream Snr Margin Per Band
78// Downstream SNR margin per band: The SNRMpbds attribute is defined per usable band. The
79// downstream SNR margin per band is the maximum increase of noise power received at the xTU-R,
80// such that the BER requirements are met for all downstream bearer channels. Each array value
81// ranges from 0 (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the
82// attribute is out of range to be represented. (R) (mandatory) (3 bands * 2-bytes-=-6-bytes)
83//
84// Upstream Snr Margin Per Band
85// Upstream SNR margin per band: The SNRMpbus attribute is defined per usable band. The upstream
86// SNR margin per band is the maximum increase of noise power received at the xTU-C, such that the
87// BER requirements are met for all upstream bearer channels. Each array value ranges from 0
88// (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the attribute is out of
89// range to be represented. (R) (mandatory) (4 bands * 2-bytes-= 8-bytes)
90//
91type Vdsl2LineInventoryAndStatusDataPart3 struct {
92 ManagedEntityDefinition
93 Attributes AttributeValueMap
94}
95
96func init() {
97 vdsl2lineinventoryandstatusdatapart3BME = &ManagedEntityDefinition{
98 Name: "Vdsl2LineInventoryAndStatusDataPart3",
99 ClassID: 170,
100 MessageTypes: mapset.NewSetWith(
101 Get,
102 ),
103 AllowedAttributeMask: 0xfc00,
104 AttributeDefinitions: AttributeDefinitionMap{
105 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
106 1: MultiByteField("DownstreamLineAttenuationPerBand", OctetsAttributeType, 0x8000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 1),
107 2: Uint32Field("UpstreamLineAttenuationPerBand", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
108 3: MultiByteField("DownstreamSignalAttenuationPerBand", OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
109 4: Uint32Field("UpstreamSignalAttenuationPerBand", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
110 5: MultiByteField("DownstreamSnrMarginPerBand", OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
111 6: Uint32Field("UpstreamSnrMarginPerBand", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
112 },
113 Access: CreatedByOnu,
114 Support: UnknownSupport,
115 }
116}
117
118// NewVdsl2LineInventoryAndStatusDataPart3 (class ID 170) creates the basic
119// Managed Entity definition that is used to validate an ME of this type that
120// is received from or transmitted to the OMCC.
121func NewVdsl2LineInventoryAndStatusDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
122 return NewManagedEntity(*vdsl2lineinventoryandstatusdatapart3BME, params...)
123}