blob: aeead66e3158fcdd42a6cfeb0500c3b0c3f05b2a [file] [log] [blame]
Chip Boling6e27b352020-02-14 09:10:01 -06001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
Andrea Campanella7167ebb2020-02-24 09:56:38 +01003 * Copyright 2020-present Open Networking Foundation
4
Chip Boling6e27b352020-02-14 09:10:01 -06005 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
Andrea Campanella7167ebb2020-02-24 09:56:38 +01008
Chip Boling6e27b352020-02-14 09:10:01 -06009 * http://www.apache.org/licenses/LICENSE-2.0
Andrea Campanella7167ebb2020-02-24 09:56:38 +010010
Chip Boling6e27b352020-02-14 09:10:01 -060011 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
David K. Bainbridgeadf422d2021-04-09 16:06:41 +000017/*
Chip Boling6e27b352020-02-14 09:10:01 -060018 * NOTE: This file was generated, manual edits will be overwritten!
19 *
20 * Generated by 'goCodeGenerator.py':
21 * https://github.com/cboling/OMCI-parser/README.md
22 */
23
24package generated
25
26import "github.com/deckarep/golang-set"
27
28// Vdsl2LineInventoryAndStatusDataPart3ClassID is the 16-bit ID for the OMCI
29// Managed entity VDSL2 line inventory and status data part 3
30const Vdsl2LineInventoryAndStatusDataPart3ClassID ClassID = ClassID(170)
31
32var vdsl2lineinventoryandstatusdatapart3BME *ManagedEntityDefinition
33
34// Vdsl2LineInventoryAndStatusDataPart3 (class ID #170)
35// This ME extends the other xDSL line inventory and status data MEs with attributes specific to
36// VDSL2. This ME contains per-band attributes for both directions. These same attributes are
37// defined in the xDSL line inventory and status data part 2 ME, but only for a single band. [ITUT
38// G.993.2] allows for VDSL2 to have as many as five bands upstream and as many as five bands
39// downstream.
40//
41// Relationships
42// This is one of the status data MEs associated with an xDSL UNI. It is required only if VDSL2 is
43// supported by the PPTP. The ONU automatically creates or deletes an instance of this ME upon
44// creation or deletion of a PPTP xDSL UNI part 1 that supports these attributes.
45//
46// Attributes
47// Managed Entity Id
48// Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
49// identical ID, this ME is implicitly linked to an instance of the PPTP xDSL UNI part 1 ME. (R)
50// (mandatory) (2-bytes)
51//
52// Downstream Line Attenuation Per Band
53// Downstream line attenuation per band: The LATNds attribute is defined per usable band. It is the
54// squared magnitude of the channel characteristics function, H(f), averaged over this band, and
55// measured during loop diagnostic mode and initialization. The exact definition is included in the
56// relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
57// 1270 (+127.0-dB). The special value 0xFFFF indicates that the line attenuation per band is out
58// of the range to be represented. (R) (mandatory) (3-bands * 2-bytes-=-6-bytes)
59//
60// Upstream Line Attenuation Per Band
61// Upstream line attenuation per band: The LATNus attribute is defined per usable band. It is the
62// squared magnitude of the channel characteristics function H(f) averaged over this band, and
63// measured during loop diagnostic mode and initialization. The exact definition is included in the
64// relevant xDSL Recommendation. The upstream line attenuation per band ranges from 0 (0.0-dB) to
65// 1270 (+127.0-dB). The special value 0xFFFF indicates that line attenuation per band is out of
66// range to be represented. (R) (mandatory) (4-bands * 2-bytes-=-8-bytes)
67//
68// Downstream Signal Attenuation Per Band
69// NOTE 1 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-C, as
70// compared to loop diagnostic mode and initialization. Therefore, the downstream signal
71// attenuation value during showtime may be significantly lower than the downstream signal
72// attenuation value during loop diagnostic mode and initialization.
73//
74// Upstream Signal Attenuation Per Band
75// NOTE 2 - During showtime, only a subset of the subcarriers may be transmitted by the xTU-R, as
76// compared to loop diagnostic mode and initialization. Therefore, the upstream signal attenuation
77// value during showtime may be significantly lower than the upstream signal attenuation value
78// during loop diagnostic mode and initialization.
79//
80// Downstream Snr Margin Per Band
81// Downstream SNR margin per band: The SNRMpbds attribute is defined per usable band. The
82// downstream SNR margin per band is the maximum increase of noise power received at the xTU-R,
83// such that the BER requirements are met for all downstream bearer channels. Each array value
84// ranges from 0 (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the
85// attribute is out of range to be represented. (R) (mandatory) (3 bands * 2-bytes-=-6-bytes)
86//
87// Upstream Snr Margin Per Band
88// Upstream SNR margin per band: The SNRMpbus attribute is defined per usable band. The upstream
89// SNR margin per band is the maximum increase of noise power received at the xTU-C, such that the
90// BER requirements are met for all upstream bearer channels. Each array value ranges from 0
91// (-64.0-dB) to 1270 (+63.0-dB). The special value 0xFFFF indicates that the attribute is out of
92// range to be represented. (R) (mandatory) (4 bands * 2-bytes-= 8-bytes)
93//
94type Vdsl2LineInventoryAndStatusDataPart3 struct {
95 ManagedEntityDefinition
96 Attributes AttributeValueMap
97}
98
99func init() {
100 vdsl2lineinventoryandstatusdatapart3BME = &ManagedEntityDefinition{
101 Name: "Vdsl2LineInventoryAndStatusDataPart3",
102 ClassID: 170,
103 MessageTypes: mapset.NewSetWith(
104 Get,
105 ),
106 AllowedAttributeMask: 0xfc00,
107 AttributeDefinitions: AttributeDefinitionMap{
108 0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
109 1: MultiByteField("DownstreamLineAttenuationPerBand", OctetsAttributeType, 0x8000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 1),
110 2: Uint32Field("UpstreamLineAttenuationPerBand", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
111 3: MultiByteField("DownstreamSignalAttenuationPerBand", OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
112 4: Uint32Field("UpstreamSignalAttenuationPerBand", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
113 5: MultiByteField("DownstreamSnrMarginPerBand", OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
114 6: Uint32Field("UpstreamSnrMarginPerBand", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
115 },
116 Access: CreatedByOnu,
117 Support: UnknownSupport,
118 }
119}
120
121// NewVdsl2LineInventoryAndStatusDataPart3 (class ID 170) creates the basic
122// Managed Entity definition that is used to validate an ME of this type that
123// is received from or transmitted to the OMCC.
124func NewVdsl2LineInventoryAndStatusDataPart3(params ...ParamData) (*ManagedEntity, OmciErrors) {
125 return NewManagedEntity(*vdsl2lineinventoryandstatusdatapart3BME, params...)
126}