UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

193 lines (192 loc) 10.5 kB
import * as VScript from "vscript"; import * as _Primitives from "./Primitives"; import * as _PTP from "./PTP"; import * as _Time from "./Time"; export declare const lift: { readonly Stretcher: (kwl: string | null, socket: VScript.VSocket) => Stretcher | null; readonly Shifter: (kwl: string | null, socket: VScript.VSocket) => Shifter | null; readonly DriftConverter: (kwl: string | null, socket: VScript.VSocket) => DriftConverter | null; readonly Detonator: (kwl: string | null, socket: VScript.VSocket) => Detonator | null; readonly Combinator: (kwl: string | null, socket: VScript.VSocket) => Combinator | null; readonly CombinatorInputs: (kwl: string | null, socket: VScript.VSocket) => CombinatorInputs | null; readonly Aligner: (kwl: string | null, socket: VScript.VSocket) => Aligner | null; }; export declare const lower: { readonly Stretcher: (ref: Stretcher | null) => string | null; readonly Shifter: (ref: Shifter | null) => string | null; readonly DriftConverter: (ref: DriftConverter | null) => string | null; readonly Detonator: (ref: Detonator | null) => string | null; readonly Combinator: (ref: Combinator | null) => string | null; readonly CombinatorInputs: (ref: CombinatorInputs | null) => string | null; readonly Aligner: (ref: Aligner | null) => string | null; }; /** ideally, all inputs to a clock combinator should use the same reference frame as the clock combinator itself. If this is not the case, mismatching inputs will be discarded by default. By setting `on_reference_frame_mismatch` to `Convert`, inputs can also be converted to the combinator's own reference frame. Note, however, that this generally incurs a loss in precision */ export declare type ReferenceFrameMismatchPolicy = "Discard" | "Convert"; export declare type PTPSourceTypeFilter = "UseHighest" | "UseAtomicClock" | "UseGPSOrBetter" | "UseTerrestrialRadioOrBetter" | "UsePTPOrBetter" | "UseNTPOrBetter" | "UseHandSetOrBetter" | "UseInternalOscillatorOrBetter"; export declare class Aligner { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get alert_level(): VScript.rKeyword<_Primitives.AlertLevel, _Primitives.AlertLevel, Aligner>; get absolute_input(): VScript.duplexKeyword<string | null, _Time.Source | null, Aligner>; get grain_accurate_input(): VScript.duplexKeyword<string | null, _Time.Source | null, Aligner>; get warning_threshold(): VScript.rwKeyword<number, number, Aligner>; get holdover_grains(): VScript.rwKeyword<number, number, Aligner>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class AlignerAsNamedTableRow extends Aligner { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<Aligner>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Aligner>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } export declare type CombinatorType = "AbsoluteTime"; declare class CombinatorInputs { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get selected(): VScript.rKeyword<boolean, boolean, CombinatorInputs>; get source(): VScript.duplexKeyword<string | null, _Time.Source | null, CombinatorInputs>; } export declare class Combinator { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get required_offset_type(): VScript.rwKeyword<"AbsoluteTime", "AbsoluteTime", Combinator>; get required_ptp_source_type(): VScript.rwKeyword<PTPSourceTypeFilter, PTPSourceTypeFilter, Combinator>; get drift_reference(): VScript.rwKeyword<_Time.ReferenceFrame, _Time.ReferenceFrame, Combinator>; get min_drift_tolerance(): VScript.rwKeyword<number, number, Combinator>; get min_offset_tolerance(): VScript.rwKeyword<number, number, Combinator>; get quorum(): VScript.duplexKeyword<number, number, Combinator>; get session_length(): VScript.duplexKeyword<number, number, Combinator>; get inputs(): VScript.StronglyTypedArray<Combinator, CombinatorInputs, VScript.RowView<CombinatorInputs>>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class CombinatorAsNamedTableRow extends Combinator { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<Combinator>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Combinator>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } export declare class Detonator { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get max_drift_blast(): VScript.rwKeyword<number, number, Detonator>; get max_offset_blast(): VScript.rwKeyword<number, number, Detonator>; /** Discharge */ get discharge(): VScript.wKeyword<"Click", "Click", Detonator>; /** Realign */ get realign(): VScript.wKeyword<"Click", "Click", Detonator>; get friction(): VScript.rwKeyword<number, number, Detonator>; get stiffness(): VScript.rwKeyword<number, number, Detonator>; get input(): VScript.duplexKeyword<string | null, _Time.Source | null, Detonator>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class DetonatorAsNamedTableRow extends Detonator { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<Detonator>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Detonator>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } export declare class DriftConverter { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get drift_reference(): VScript.rwKeyword<_Time.ReferenceFrame, _Time.ReferenceFrame, DriftConverter>; /** ideally, all inputs to a clock combinator should use the same reference frame as the clock combinator itself. If this is not the case, mismatching inputs will be discarded by default. By setting `on_reference_frame_mismatch` to `Convert`, inputs can also be converted to the combinator's own reference frame. Note, however, that this generally incurs a loss in precision */ get on_drift_reference_mismatch(): VScript.rwKeyword<ReferenceFrameMismatchPolicy, ReferenceFrameMismatchPolicy, DriftConverter>; get input(): VScript.duplexKeyword<string | null, _Time.Source | null, DriftConverter>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class DriftConverterAsNamedTableRow extends DriftConverter { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<DriftConverter>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<DriftConverter>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } export declare class Shifter { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get shift(): VScript.rwKeyword<number, number, Shifter>; get input(): VScript.duplexKeyword<string | null, _Time.Source | null, Shifter>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class ShifterAsNamedTableRow extends Shifter { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<Shifter>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Shifter>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } /** stretchers shift their input source's measured drift by a user-defined amount (note that this demotes `Absolute` and `GrainAccurate` time sources to class `FrequencyOnly`). Stretchers are probably useless in a production setting, but can be helpful in simulating failure scenarios. */ export declare class Stretcher { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get frequency_shift(): VScript.rwKeyword<number, number, Stretcher>; get input(): VScript.duplexKeyword<string | null, _Time.Source | null, Stretcher>; get output(): _Time.Source; get ptp_traits(): _PTP.Traits; } export declare class StretcherAsNamedTableRow extends Stretcher { private readonly raw_row; readonly enclosing_table: VScript.StronglyTypedNamedTable<Stretcher>; readonly index: number; constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Stretcher>); rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>; delete(opts?: VScript.CommonWriteOptions): Promise<void>; } export declare class All { readonly raw: VScript.Subtree; constructor(raw: VScript.Subtree); get aligners(): VScript.StronglyTypedNamedTable<Aligner, VScript.NamedTableRowView<Aligner>>; get combinators(): VScript.StronglyTypedNamedTable<Combinator, VScript.NamedTableRowView<Combinator>>; get detonators(): VScript.StronglyTypedNamedTable<Detonator, VScript.NamedTableRowView<Detonator>>; get drift_converters(): VScript.StronglyTypedNamedTable<DriftConverter, VScript.NamedTableRowView<DriftConverter>>; get shifters(): VScript.StronglyTypedNamedTable<Shifter, VScript.NamedTableRowView<Shifter>>; /** stretchers shift their input source's measured drift by a user-defined amount (note that this demotes `Absolute` and `GrainAccurate` time sources to class `FrequencyOnly`). Stretchers are probably useless in a production setting, but can be helpful in simulating failure scenarios. */ get stretchers(): VScript.StronglyTypedNamedTable<Stretcher, VScript.NamedTableRowView<Stretcher>>; } export declare const Enums: { readonly CombinatorType: "AbsoluteTime"[]; readonly PTPSourceTypeFilter: PTPSourceTypeFilter[]; readonly ReferenceFrameMismatchPolicy: ReferenceFrameMismatchPolicy[]; }; export {};