@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
73 lines (72 loc) • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Enums = exports.Traits = exports.lower = exports.lift = void 0;
const VScript = require("vscript");
exports.lift = {
Traits: (kwl, socket) => kwl ? (new Traits(new VScript.Subtree(socket, kwl))) : null,
ClockQuality: (x, _) => { return x ? { clock_class: x[0], clock_accuracy: x[1], offset_scaled_log_variance: x[2] } : null; },
PortIdentity: (x, _) => { return x ? { clock_identity: x[0], port_number: x[1] } : null; }
};
exports.lower = {
Traits: (ref) => ref ? ref.raw.kwl : null,
ClockQuality: (x) => x ? [x.clock_class, x.clock_accuracy, x.offset_scaled_log_variance] : null,
PortIdentity: (x) => x ? [x.clock_identity, x.port_number] : null
};
class Traits {
constructor(raw) {
this.raw = raw;
}
get domain() {
return new VScript.rKeyword(this, "domain");
}
get alternate_master() {
return new VScript.rKeyword(this, "alternate_master");
}
get leap61() {
return new VScript.rKeyword(this, "leap61");
}
get leap59() {
return new VScript.rKeyword(this, "leap59");
}
get ptp_timescale() {
return new VScript.rKeyword(this, "ptp_timescale");
}
get traceability() {
return new VScript.rKeyword(this, "traceability");
}
get utc_offset_seconds() {
return new VScript.rKeyword(this, "utc_offset_seconds");
}
get source_type() {
return new VScript.rKeyword(this, "source_type");
}
get port_identity() {
return new VScript.rKeyword(this, "port_identity", { lift: exports.lift.PortIdentity, lower: exports.lower.PortIdentity });
}
get grandmaster_priority_1() {
return new VScript.rKeyword(this, "grandmaster_priority_1");
}
get grandmaster_clock_quality() {
return new VScript.rKeyword(this, "grandmaster_clock_quality", { lift: exports.lift.ClockQuality, lower: exports.lower.ClockQuality });
}
get grandmaster_priority_2() {
return new VScript.rKeyword(this, "grandmaster_priority_2");
}
/**
ClockIdentity as defined by the PTP standard, stored in big-endian order.
*/
get grandmaster_identity() {
return new VScript.rKeyword(this, "grandmaster_identity");
}
get steps_removed() {
return new VScript.rKeyword(this, "steps_removed");
}
}
exports.Traits = Traits;
exports.Enums = {
Traceability: ["NotTraceable", "FrequencyTraceable", "Traceable"],
ClockAccuracy: ["Reserved", "AccurateToWithin25ns", "AccurateToWithin100ns", "AccurateToWithin250ns", "AccurateToWithin1000ns", "AccurateToWithin2500ns", "AccurateToWithin10us", "AccurateToWithin25us", "AccurateToWithin100us", "AccurateToWithin250us", "AccurateToWithin1000us", "AccurateToWithin2500us", "AccurateToWithin10ms", "AccurateToWithin25ms", "AccurateToWithin100ms", "AccurateToWithin250ms", "AccurateToWithin1s", "AccurateToWithin10s", "AccuracyBelow10s", "ProfileSpecific", "Unknown"],
ClockClass: ["Reserved", "SynchronizedToPrimary", "WasSynchronizedToPrimaryNowInHoldOver", "SynchronizedToAppSpecific", "WasSynchronizedToAppSpecificNowInHoldOver", "WasSynchronizedToPrimaryDegradAlternativeA", "WasSynchronizedToAppSpecificDegradAlternativeA", "ProfileSpecific", "WasSynchronizedToPrimaryDegradAlternativeB", "WasSynchronizedToAppSpecificDegradAlternativeB", "Default", "ReservedForV1Compatibility", "SlaveOnly"],
TimeScale: ["PTP", "Arbitrary"],
SourceType: ["AtomicClock", "GPS", "TerrestrialRadio", "PTP", "NTP", "HandSet", "Other", "InternalOscillator", "ProfileSpecific", "Reserved"]
};