Skip to content

Commit b094d31

Browse files
committed
feat: add enumeration metadata
1 parent 4777725 commit b094d31

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

lib/enum.js

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,84 @@
11
'use strict';
22

3+
// SEE: ASHRAE 135-2016, 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS
4+
// for a detailed reference of all enumerations.
5+
6+
module.exports.Meta = {
7+
// Metadata for non-exensible enumerations
8+
Segmentations: { extensible: false, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 3 } ], max: 3 },
9+
ServicesSupported: { extensible: false, used: [ { min: 0, max: 40 } ], reserved: [ { min: 0, max: 40 } ], max: 40 },
10+
UnconfirmedServices: { extensible: false, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 10 } ], max: 10 },
11+
ConfirmedServices: { extensible: false, used: [ { min: 0, max: 29 } ], reserved: [ { min: 0, max: 29 } ], max: 29 },
12+
ApplicationTags: { extensible: false, used: [ { min: 0, max: 16 } ], reserved: [ { min: 0, max: 16 } ], max: 16 },
13+
BvlcFunctions: { extensible: false, used: [ { min: 0, max: 12 } ], reserved: [ { min: 0, max: 12 } ], max: 12 },
14+
BackupState: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
15+
ProgramChange: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
16+
ReasonForHalt: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
17+
ResultFlags: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
18+
StatusFlags: { extensible: false, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 8 } ], max: 8 },
19+
Units: { extensible: false, used: [ { min: 0, max: 253 } ], reserved: [ { min: 0, max: 253 } ], max: 253 },
20+
Polarity: { extensible: false, used: [ { min: 0, max: 1 } ], reserved: [ { min: 0, max: 1 } ], max: 1 },
21+
MaxSegments: { extensible: false, used: [ { min: 0, max: 0x70 } ], reserved: [ { min: 0, max: 0x70 } ], max: 0x70 },
22+
MaxAdpu: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
23+
NodeTypes: { extensible: false, used: [ { min: 0, max: 11 } ], reserved: [ { min: 0, max: 11 } ], max: 11 },
24+
BvleResults: { extensible: false, used: [ { min: 0, max: 0x0060 } ], reserved: [ { min: 0, max: 0x0060 } ], max: 0x0060 },
25+
NpduControls: { extensible: false, used: [ { min: 0, max: 128 } ], reserved: [ { min: 0, max: 128 } ], max: 128 },
26+
NetworkMessageTypes: { extensible: false, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 9 } ], max: 9 },
27+
ReinitializedStates: { extensible: false, used: [ { min: 0, max: 255 } ], reserved: [ { min: 0, max: 255 } ], max: 255 },
28+
CharacterStringEncodings: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
29+
ReadRangeRequestTypes: { extensible: false, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 8 } ], max: 8 },
30+
EnableDisable: { extensible: false, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 2 } ], max: 2 },
31+
NotifyTypes: { extensible: false, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 2 } ], max: 2 },
32+
COVTypes: { extensible: false, used: [ { min: 0, max: 1 } ], reserved: [ { min: 0, max: 1 } ], max: 1 },
33+
TimestampTags: { extensible: false, used: [ { min:-1, max: 2 } ], reserved: [ { min:-1, max: 2 } ], max: 2 },
34+
35+
// MetaData for extensible enumerations.
36+
ErrorClass: { extensible: true, used: [ { min: 0, max: 7 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
37+
ErrorCode: { extensible: true, used: [ { min: 0, max: 136 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
38+
AbortReason: { extensible: true, used: [ { min: 0, max: 11 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
39+
AccessAuthenticationFactorDisable: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
40+
AccessCredentialDisable: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
41+
AccessCredentialDisableReason: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
42+
AccessEvent: { extensible: true, used: [ { min: 0, max: 16 }, { min: 128, max: 164 }], reserved: [ { min: 0, max: 511 } ], max: 65535 },
43+
AccessUserType: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
44+
AccessZoneOccupancyState: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
45+
AuthorizationExemption: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
46+
AuthorizationMode: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
47+
BinaryLightingPV: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
48+
DeviceStatus: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
49+
DoorAlarmState: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
50+
DoorStatus: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
51+
EngineeringUnits: { extensible: true, used: [ { min: 0, max: 254 }, { min: 47808, max: 47815 } ], reserved: [ { min: 0, max: 255 }, {min: 47808, max: 49999} ], max: 65535 },
52+
EscalatorFault: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
53+
EscalatorMode: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
54+
EscalatorOperationDirection: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
55+
EventState: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
56+
EventType: { extensible: true, used: [ { min: 0, max: 22 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
57+
LifeSafetyMode: { extensible: true, used: [ { min: 0, max: 14 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
58+
LifeSafetyOperation: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
59+
LifeSafetyState: { extensible: true, used: [ { min: 0, max: 23 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
60+
LiftCarDirection: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
61+
LiftCarDriveStatus: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
62+
LiftCarMode: { extensible: true, used: [ { min: 0, max: 13 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
63+
LiftFault: { extensible: true, used: [ { min: 0, max: 16 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
64+
LightingOperation: { extensible: true, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
65+
LightingTransition: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
66+
LoggingType: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
67+
Maintenance: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
68+
NetworkPortCommand: { extensible: true, used: [ { min: 0, max: 7 } ], reserved: [ { min: 0, max: 127 } ], max: 255 },
69+
NetworkType: { extensible: true, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
70+
ObjectType: { extensible: true, used: [ { min: 0, max: 59 } ], reserved: [ { min: 0, max: 127 } ], max: 1023 },
71+
ProgramError: { extensible: true, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
72+
PropertyIdentifier: { extensible: true, used: [ { min: 0, max: 491 } ], reserved: [ { min: 0, max: 511 } ], max: 4194303 },
73+
PropertyStates: { extensible: true, used: [ { min: 0, max: 58 } ], reserved: [ { min: 0, max: 63 } ], max: 254 },
74+
RejectReason: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
75+
Relationship: { extensible: true, used: [ { min: 0, max: 29 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
76+
Reliability: { extensible: true, used: [ { min: 0, max: 24 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
77+
RestartReason: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
78+
SilencedState: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
79+
VTClass: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
80+
};
81+
382
module.exports.PduTypes = {
483
PDU_TYPE_CONFIRMED_SERVICE_REQUEST: 0,
584
SERVER: 1,

0 commit comments

Comments
 (0)