Skip to content

Commit

Permalink
feat: add enumeration metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
dopry committed Mar 8, 2018
1 parent 4777725 commit 1735ee8
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions lib/enum.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,84 @@
'use strict';

// SEE: ASHRAE 135-2016, 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS
// for a detailed reference of all enumerations.

module.exports.Meta = {
// Metadata for non-exensible enumerations
Segmentations: { extensible: false, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 3 } ], max: 3 },
ServicesSupported: { extensible: false, used: [ { min: 0, max: 40 } ], reserved: [ { min: 0, max: 40 } ], max: 40 },
UnconfirmedServices: { extensible: false, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 10 } ], max: 10 },
ConfirmedServices: { extensible: false, used: [ { min: 0, max: 29 } ], reserved: [ { min: 0, max: 29 } ], max: 29 },
ApplicationTags: { extensible: false, used: [ { min: 0, max: 16 } ], reserved: [ { min: 0, max: 16 } ], max: 16 },
BvlcFunctions: { extensible: false, used: [ { min: 0, max: 12 } ], reserved: [ { min: 0, max: 12 } ], max: 12 },
BackupState: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
ProgramChange: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
ReasonForHalt: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
ResultFlags: { extensible: false, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 4 } ], max: 4 },
StatusFlags: { extensible: false, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 8 } ], max: 8 },
Units: { extensible: false, used: [ { min: 0, max: 253 } ], reserved: [ { min: 0, max: 253 } ], max: 253 },
Polarity: { extensible: false, used: [ { min: 0, max: 1 } ], reserved: [ { min: 0, max: 1 } ], max: 1 },
MaxSegments: { extensible: false, used: [ { min: 0, max: 0x70 } ], reserved: [ { min: 0, max: 0x70 } ], max: 0x70 },
MaxAdpu: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
NodeTypes: { extensible: false, used: [ { min: 0, max: 11 } ], reserved: [ { min: 0, max: 11 } ], max: 11 },
BvleResults: { extensible: false, used: [ { min: 0, max: 0x0060 } ], reserved: [ { min: 0, max: 0x0060 } ], max: 0x0060 },
NpduControls: { extensible: false, used: [ { min: 0, max: 128 } ], reserved: [ { min: 0, max: 128 } ], max: 128 },
NetworkMessageTypes: { extensible: false, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 9 } ], max: 9 },
ReinitializedStates: { extensible: false, used: [ { min: 0, max: 255 } ], reserved: [ { min: 0, max: 255 } ], max: 255 },
CharacterStringEncodings: { extensible: false, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 5 } ], max: 5 },
ReadRangeRequestTypes: { extensible: false, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 8 } ], max: 8 },
EnableDisable: { extensible: false, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 2 } ], max: 2 },
NotifyTypes: { extensible: false, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 2 } ], max: 2 },
COVTypes: { extensible: false, used: [ { min: 0, max: 1 } ], reserved: [ { min: 0, max: 1 } ], max: 1 },
TimestampTags: { extensible: false, used: [ { min:-1, max: 2 } ], reserved: [ { min:-1, max: 2 } ], max: 2 },

// MetaData for extensible enumerations.
ErrorClass: { extensible: true, used: [ { min: 0, max: 7 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
ErrorCode: { extensible: true, used: [ { min: 0, max: 136 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
AbortReason: { extensible: true, used: [ { min: 0, max: 11 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
AccessAuthenticationFactorDisable: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
AccessCredentialDisable: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
AccessCredentialDisableReason: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
AccessEvent: { extensible: true, used: [ { min: 0, max: 16 }, { min: 128, max: 164 }], reserved: [ { min: 0, max: 511 } ], max: 65535 },
AccessUserType: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
AccessZoneOccupancyState: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
AuthorizationExemption: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
AuthorizationMode: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
BinaryLightingPV: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
DeviceStatus: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
DoorAlarmState: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
DoorStatus: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
EngineeringUnits: { extensible: true, used: [ { min: 0, max: 254 }, { min: 47808, max: 47815 } ], reserved: [ { min: 0, max: 255 }, {min: 47808, max: 49999} ], max: 65535 },
EscalatorFault: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
EscalatorMode: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
EscalatorOperationDirection: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
EventState: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
EventType: { extensible: true, used: [ { min: 0, max: 22 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
LifeSafetyMode: { extensible: true, used: [ { min: 0, max: 14 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
LifeSafetyOperation: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
LifeSafetyState: { extensible: true, used: [ { min: 0, max: 23 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
LiftCarDirection: { extensible: true, used: [ { min: 0, max: 5 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
LiftCarDriveStatus: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
LiftCarMode: { extensible: true, used: [ { min: 0, max: 13 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
LiftFault: { extensible: true, used: [ { min: 0, max: 16 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
LightingOperation: { extensible: true, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
LightingTransition: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
LoggingType: { extensible: true, used: [ { min: 0, max: 2 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
Maintenance: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 255 } ], max: 65535 },
NetworkPortCommand: { extensible: true, used: [ { min: 0, max: 7 } ], reserved: [ { min: 0, max: 127 } ], max: 255 },
NetworkType: { extensible: true, used: [ { min: 0, max: 10 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
ObjectType: { extensible: true, used: [ { min: 0, max: 59 } ], reserved: [ { min: 0, max: 127 } ], max: 1023 },
ProgramError: { extensible: true, used: [ { min: 0, max: 4 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
PropertyIdentifier: { extensible: true, used: [ { min: 0, max: 491 } ], reserved: [ { min: 0, max: 511 } ], max: 4194303 },
PropertyStates: { extensible: true, used: [ { min: 0, max: 58 } ], reserved: [ { min: 0, max: 63 } ], max: 254 },
RejectReason: { extensible: true, used: [ { min: 0, max: 9 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
Relationship: { extensible: true, used: [ { min: 0, max: 29 } ], reserved: [ { min: 0, max: 1023 } ], max: 65535 },
Reliability: { extensible: true, used: [ { min: 0, max: 24 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
RestartReason: { extensible: true, used: [ { min: 0, max: 8 } ], reserved: [ { min: 0, max: 63 } ], max: 255 },
SilencedState: { extensible: true, used: [ { min: 0, max: 3 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
VTClass: { extensible: true, used: [ { min: 0, max: 6 } ], reserved: [ { min: 0, max: 63 } ], max: 65535 },
}

module.exports.PduTypes = {
PDU_TYPE_CONFIRMED_SERVICE_REQUEST: 0,
SERVER: 1,
Expand Down

0 comments on commit 1735ee8

Please sign in to comment.