@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
TypeScript
/// <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;
}