icom-wlan-node
Version:
Icom WLAN (CI‑V, audio) protocol implementation for Node.js/TypeScript.
105 lines (104 loc) • 4.22 kB
TypeScript
export declare const Sizes: {
readonly CONTROL: 16;
readonly WATCHDOG: 20;
readonly PING: 21;
readonly OPENCLOSE: 22;
readonly RETRANSMIT_RANGE: 24;
readonly TOKEN: 64;
readonly STATUS: 80;
readonly LOGIN_RESPONSE: 96;
readonly LOGIN: 128;
readonly CONNINFO: 144;
readonly CAP: 66;
readonly RADIO_CAP: 102;
readonly CAP_CAP: 168;
readonly AUDIO_HEAD: 24;
};
export declare const Cmd: {
readonly NULL: 0;
readonly RETRANSMIT: 1;
readonly ARE_YOU_THERE: 3;
readonly I_AM_HERE: 4;
readonly DISCONNECT: 5;
readonly ARE_YOU_READY: 6;
readonly I_AM_READY: 6;
readonly PING: 7;
};
export declare const TokenType: {
readonly DELETE: 1;
readonly CONFIRM: 2;
readonly DISCONNECT: 4;
readonly RENEWAL: 5;
};
export declare const AUDIO_SAMPLE_RATE = 12000;
export declare const TX_BUFFER_SIZE = 240;
export declare const XIEGU_TX_BUFFER_SIZE = 150;
export declare const ControlPacket: {
toBytes(type: number, seq: number, sentId: number, rcvdId: number): Buffer;
getType(buf: Buffer): number;
getSeq(buf: Buffer): number;
getSentId(buf: Buffer): number;
getRcvdId(buf: Buffer): number;
setSeq(buf: Buffer, seq: number): void;
};
export declare const PingPacket: {
isPing(buf: Buffer): boolean;
getReply(buf: Buffer): number;
buildPing(localId: number, remoteId: number, seq: number): Buffer;
buildReply(from: Buffer, localId: number, remoteId: number): Buffer;
};
export declare const TokenPacket: {
build(seq: number, localId: number, remoteId: number, requestType: number, innerSeq: number, tokRequest: number, token: number): Buffer;
getRequestType(b: Buffer): number;
getRequestReply(b: Buffer): number;
getResponse(b: Buffer): number;
getTokRequest(b: Buffer): number;
getToken(b: Buffer): number;
};
export declare const LoginPacket: {
passCode(input: string): Buffer;
build(seq: number, localId: number, remoteId: number, innerSeq: number, tokRequest: number, token: number, userName: string, password: string, name: string): Buffer;
};
export declare const LoginResponsePacket: {
authOK(b: Buffer): boolean;
errorNum(b: Buffer): number;
getToken(b: Buffer): number;
getConnection(b: Buffer): string;
};
export declare const StatusPacket: {
authOK(b: Buffer): boolean;
getIsConnected(b: Buffer): boolean;
getRigCivPort(b: Buffer): number;
getRigAudioPort(b: Buffer): number;
};
export declare const CapCapabilitiesPacket: {
getRadioCapPacket(b: Buffer, idx: number): Buffer | null;
};
export declare const RadioCapPacket: {
getRigName(b: Buffer): string;
getAudioName(b: Buffer): string;
getCivAddress(b: Buffer): number;
getRxSupportSample(b: Buffer): number;
getTxSupportSample(b: Buffer): number;
getSupportTX(b: Buffer): boolean;
};
export declare const CivPacket: {
isCiv(b: Buffer): boolean;
getCivData(b: Buffer): Buffer;
setCivData(seq: number, sentId: number, rcvdId: number, civSeq: number, data: Buffer): Buffer;
};
export declare const OpenClosePacket: {
toBytes(seq: number, sentId: number, rcvdId: number, civSeq: number, magic: number): Buffer;
};
export declare const ConnInfoPacket: {
getBusy(b: Buffer): boolean;
getMacAddress(b: Buffer): Buffer;
getRigName(b: Buffer): string;
connectRequestPacket(seq: number, localSID: number, remoteSID: number, requestReply: number, requestType: number, innerSeq: number, tokRequest: number, token: number, macAddress: Buffer, rigName: string, userName: string, sampleRate: number, civPort: number, audioPort: number, txBufferSize: number): Buffer;
connInfoPacketData(rigData: Buffer, seq: number, localSID: number, remoteSID: number, requestReply: number, requestType: number, innerSeq: number, tokRequest: number, token: number, rigName: string, userName: string, rxSampleRate: number, txSampleRate: number, civPort: number, audioPort: number, txBufferSize: number): Buffer;
};
export declare const AudioPacket: {
isAudioPacket(b: Buffer): boolean;
getAudioData(b: Buffer): Buffer;
getTxAudioPacket(audio: Buffer, seq: number, sentId: number, rcvdId: number, sendSeq: number): Buffer;
};