UNPKG

@br8kppooint/visca

Version:

Advanced nodejs library for working with VISCA-based PTZ cameras over IP and over serial connections.

54 lines (53 loc) 1.79 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { ViscaCommand } from "./command"; import { Camera } from "./camera"; import { SerialTransport } from './visca-serial'; import { UDPData, ViscaServer } from "./visca-ip"; export interface ViscaCameraConfig { name: string; id: number; ip: string; port: number; } export interface ViscaControllerConfig { viscaSerial: { port: string; baud: number; }; viscaServer: { basePort: number; }; } export declare class ViscaController extends EventEmitter { config: ViscaControllerConfig; serialConnection: SerialTransport; ipServers: ViscaServer[]; serialBroadcastCommands: ViscaCommand[]; cameras: { [index: string]: Camera; }; cameraCount: number; constructor(config: ViscaControllerConfig); init(): void; addIPCamera(c: ViscaCameraConfig, doInquire?: boolean): Camera; restartSerial(): void; closeSerial(): void; startSerial(portname?: string, baudRate?: number, timeout?: number, debug?: boolean): void; onSerialOpen(): void; onSerialClose(): void; onSerialError(e: string): void; onSerialData(viscaCommand: ViscaCommand): void; onUDPData({ uuid, viscaCommand }: UDPData): void; onCameraData(camera: Camera, v: ViscaCommand): void; sendSerial(viscaCommand: ViscaCommand): void; broadcastSerial(viscaCommand: ViscaCommand): void; sendToCamera(camera: Camera, viscaCommand: ViscaCommand): void; enumerateSerial(): void; ifClearAllSerial(): void; inquireAllSerial(): void; inquireAllIP(): void; inquireAll(): void; setupIPProxies(): void; dump(packet: number[], title?: string): void; }