tci-client-node 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +33 -13
- package/dist/audio/index.cjs +63 -20
- package/dist/audio/index.cjs.map +1 -1
- package/dist/audio/index.d.cts +18 -3
- package/dist/audio/index.d.ts +18 -3
- package/dist/audio/index.js +63 -20
- package/dist/audio/index.js.map +1 -1
- package/dist/dialect/index.cjs +331 -0
- package/dist/dialect/index.cjs.map +1 -0
- package/dist/dialect/index.d.cts +29 -0
- package/dist/dialect/index.d.ts +29 -0
- package/dist/dialect/index.js +292 -0
- package/dist/dialect/index.js.map +1 -0
- package/dist/{index-CK3XdXP3.d.cts → index-lbK6NGY4.d.cts} +1 -1
- package/dist/{index-Dfmrk2MR.d.ts → index-paj1AOJY.d.ts} +1 -1
- package/dist/index.cjs +890 -224
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +54 -12
- package/dist/index.d.ts +54 -12
- package/dist/index.js +876 -224
- package/dist/index.js.map +1 -1
- package/dist/protocol/index.cjs.map +1 -1
- package/dist/protocol/index.d.cts +1 -1
- package/dist/protocol/index.d.ts +1 -1
- package/dist/protocol/index.js.map +1 -1
- package/dist/testing/index.cjs +77 -25
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +2 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.js +77 -25
- package/dist/testing/index.js.map +1 -1
- package/dist/transport/index.cjs +175 -0
- package/dist/transport/index.cjs.map +1 -0
- package/dist/transport/index.d.cts +37 -0
- package/dist/transport/index.d.ts +37 -0
- package/dist/transport/index.js +138 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types-9seY9Th-.d.ts +63 -0
- package/dist/types-xRotf9gW.d.cts +63 -0
- package/package.json +15 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { Q as QueueCommandOptions, T as TciError } from './index-
|
|
2
|
-
export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-
|
|
1
|
+
import { Q as QueueCommandOptions, T as TciError } from './index-lbK6NGY4.cjs';
|
|
2
|
+
export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-lbK6NGY4.cjs';
|
|
3
3
|
import { EventEmitter } from 'eventemitter3';
|
|
4
4
|
import WebSocket from 'ws';
|
|
5
5
|
import { TciSampleType, TciSampleTypeName, TciStreamFrame, BuildTxAudioFrameOptions } from './audio/index.cjs';
|
|
6
|
-
export { BuildStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.cjs';
|
|
6
|
+
export { BuildStreamFrameOptions, ParseStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.cjs';
|
|
7
7
|
import { T as TciCommand } from './text-BwCWY1k1.cjs';
|
|
8
8
|
export { a as TciCommandInput, c as commandKey, e as escapeTciText, f as formatTciCommand, i as isCommandReplyTo, n as normalizeCommandName, p as parseTciCommand, b as parseTciText, u as unescapeTciText } from './text-BwCWY1k1.cjs';
|
|
9
|
+
import { T as TciDialectId, a as TciHandshakeResult, b as TciDialectSelection, c as TciWriteResult } from './types-xRotf9gW.cjs';
|
|
10
|
+
export { B as BuiltInTciDialectId, d as TciDialect, e as TciDialectDetection, f as TciDialectDetectionContext, g as TciDialectScore, h as TciDriveState, i as TciProtocolIdentity, j as TciStreamLengthSemantics } from './types-xRotf9gW.cjs';
|
|
11
|
+
import { TciDialectRegistry } from './dialect/index.cjs';
|
|
12
|
+
export { aetherSdrDialect, assertValidTciHandshake, builtInDialects, compareTciVersion, defaultTciDialectRegistry, expertSdr14Dialect, expertSdrLegacyDialect, expertSdrModernDialect, genericObservedDialect, parseProtocolIdentity, parseTciVersion, thetisDialect } from './dialect/index.cjs';
|
|
13
|
+
import { TciTransportFactory } from './transport/index.cjs';
|
|
14
|
+
export { TciTransport, TciTransportEvents, WebSocketTciTransport } from './transport/index.cjs';
|
|
9
15
|
|
|
10
16
|
interface TciClientOptions {
|
|
11
17
|
url: string;
|
|
@@ -13,12 +19,16 @@ interface TciClientOptions {
|
|
|
13
19
|
trx?: number;
|
|
14
20
|
vfo?: number;
|
|
15
21
|
connectTimeoutMs?: number;
|
|
22
|
+
handshakeTimeoutMs?: number;
|
|
16
23
|
commandTimeoutMs?: number;
|
|
17
24
|
writeAckMode?: TciWriteAckMode;
|
|
18
25
|
writeTimeoutMs?: number;
|
|
19
26
|
writeSettleMs?: number;
|
|
20
27
|
frequencyWriteSettleMs?: number;
|
|
28
|
+
dialect?: TciDialectSelection;
|
|
29
|
+
dialectRegistry?: TciDialectRegistry;
|
|
21
30
|
WebSocketImpl?: typeof WebSocket;
|
|
31
|
+
transportFactory?: TciTransportFactory;
|
|
22
32
|
}
|
|
23
33
|
interface TciAudioConfig {
|
|
24
34
|
sampleRate: 8_000 | 12_000 | 24_000 | 48_000 | number;
|
|
@@ -47,11 +57,17 @@ interface TciTxChronoRequest {
|
|
|
47
57
|
channels: number;
|
|
48
58
|
sampleType: TciSampleType;
|
|
49
59
|
sampleCount: number;
|
|
60
|
+
frameCount: number;
|
|
50
61
|
}
|
|
51
62
|
interface TciClientState {
|
|
52
63
|
connected: boolean;
|
|
53
64
|
ready: boolean;
|
|
54
65
|
protocol?: string;
|
|
66
|
+
protocolName?: string;
|
|
67
|
+
protocolVersion?: string;
|
|
68
|
+
dialectId?: TciDialectId;
|
|
69
|
+
dialectConfidence?: TciHandshakeResult['dialect']['confidence'];
|
|
70
|
+
dialectWarnings: string[];
|
|
55
71
|
device?: string;
|
|
56
72
|
receiveOnly?: boolean;
|
|
57
73
|
trxCount?: number;
|
|
@@ -65,6 +81,7 @@ interface TciClientState {
|
|
|
65
81
|
pttSource: Record<string, string | undefined>;
|
|
66
82
|
tune: Record<string, boolean>;
|
|
67
83
|
drive: Record<string, number>;
|
|
84
|
+
tuneDrive: Record<string, number>;
|
|
68
85
|
split: Record<string, boolean>;
|
|
69
86
|
rxSensors: Record<string, Record<string, number | string | boolean>>;
|
|
70
87
|
txSensors: Record<string, Record<string, number | string | boolean>>;
|
|
@@ -77,6 +94,7 @@ interface TciClientEvents {
|
|
|
77
94
|
connected: () => void;
|
|
78
95
|
disconnected: (reason?: unknown) => void;
|
|
79
96
|
ready: (state: TciClientState) => void;
|
|
97
|
+
handshake: (result: TciHandshakeResult) => void;
|
|
80
98
|
state: (state: TciClientState) => void;
|
|
81
99
|
command: (command: TciCommand) => void;
|
|
82
100
|
binary: (frame: TciStreamFrame) => void;
|
|
@@ -92,16 +110,27 @@ interface SendCommandOptions extends QueueCommandOptions {
|
|
|
92
110
|
waitForReply?: boolean;
|
|
93
111
|
}
|
|
94
112
|
declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
95
|
-
readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'
|
|
113
|
+
readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'handshakeTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'> & {
|
|
114
|
+
dialect: TciDialectSelection;
|
|
115
|
+
};
|
|
96
116
|
private readonly WebSocketImpl;
|
|
97
|
-
private
|
|
117
|
+
private readonly transportFactory;
|
|
118
|
+
private transport?;
|
|
98
119
|
private readonly queue;
|
|
99
120
|
private readonly state;
|
|
121
|
+
private readonly stateReducers;
|
|
122
|
+
private readonly dialectRegistry;
|
|
123
|
+
private activeDialect?;
|
|
124
|
+
private handshakeResult?;
|
|
125
|
+
private handshakeError?;
|
|
126
|
+
private initializationCommands;
|
|
127
|
+
private handshakeWaiter?;
|
|
100
128
|
constructor(options: TciClientOptions);
|
|
101
|
-
connect(): Promise<
|
|
129
|
+
connect(): Promise<TciHandshakeResult>;
|
|
102
130
|
disconnect(code?: number, reason?: string): Promise<void>;
|
|
103
131
|
isConnected(): boolean;
|
|
104
132
|
getState(): TciClientState;
|
|
133
|
+
getHandshakeResult(): TciHandshakeResult | undefined;
|
|
105
134
|
sendCommand(name: string, args?: readonly unknown[], options?: SendCommandOptions): Promise<TciCommand | undefined>;
|
|
106
135
|
request(name: string, args?: readonly unknown[], options?: QueueCommandOptions): Promise<TciCommand>;
|
|
107
136
|
sendStateWrite(name: string, args: readonly unknown[], isApplied: (state: TciClientState) => boolean, description?: string, options?: TciWriteOptions): Promise<void>;
|
|
@@ -111,31 +140,44 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
|
111
140
|
getMode(receiver?: number): Promise<string | undefined>;
|
|
112
141
|
setPtt(enabled: boolean, options?: TciPttOptions): Promise<void>;
|
|
113
142
|
getPtt(trx?: number): Promise<boolean | undefined>;
|
|
114
|
-
setTune(enabled: boolean, trx?: number): Promise<void>;
|
|
143
|
+
setTune(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
|
|
115
144
|
setDrive(value: number, trx?: number): Promise<void>;
|
|
116
|
-
|
|
145
|
+
setDriveWithResult(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
|
|
146
|
+
getDrive(trx?: number): Promise<number | undefined>;
|
|
147
|
+
setTuneDrive(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
|
|
148
|
+
getTuneDrive(trx?: number): Promise<number | undefined>;
|
|
149
|
+
setSplit(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
|
|
117
150
|
configureAudio(config: TciAudioConfig): Promise<void>;
|
|
118
151
|
startAudio(receiver?: number): Promise<void>;
|
|
119
152
|
stopAudio(receiver?: number): Promise<void>;
|
|
120
153
|
sendTxAudio(options: BuildTxAudioFrameOptions): void;
|
|
154
|
+
sendTxAudioForChrono(request: TciTxChronoRequest, samples: Float32Array | readonly number[]): void;
|
|
121
155
|
setRxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
|
|
122
156
|
setTxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
|
|
123
157
|
sendCwMacro(index: number): Promise<void>;
|
|
124
158
|
sendCwMessage(message: string): Promise<void>;
|
|
125
159
|
stopCw(): Promise<void>;
|
|
126
160
|
private waitForState;
|
|
127
|
-
private
|
|
128
|
-
private
|
|
161
|
+
private waitForCommand;
|
|
162
|
+
private resetHandshake;
|
|
163
|
+
private waitForHandshake;
|
|
164
|
+
private finalizeHandshake;
|
|
165
|
+
private rejectHandshake;
|
|
166
|
+
private requireDialect;
|
|
167
|
+
private attachTransport;
|
|
129
168
|
private sendRaw;
|
|
130
169
|
private sendRawBinary;
|
|
131
|
-
private
|
|
170
|
+
private handleText;
|
|
132
171
|
private handleBinary;
|
|
133
172
|
private applyCommand;
|
|
173
|
+
private createStateReducers;
|
|
134
174
|
private applyVfo;
|
|
135
175
|
private applyModulation;
|
|
136
176
|
private applyTrx;
|
|
137
177
|
private applyBooleanByFirstArg;
|
|
138
178
|
private applyDrive;
|
|
179
|
+
private applyTuneDrive;
|
|
180
|
+
private updateAudioState;
|
|
139
181
|
private applyRxChannelSensors;
|
|
140
182
|
private applyRxSensors;
|
|
141
183
|
private applyTxSensors;
|
|
@@ -145,4 +187,4 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
|
145
187
|
}
|
|
146
188
|
declare function createTciClient(options: TciClientOptions): TciClient;
|
|
147
189
|
|
|
148
|
-
export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciError, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, createTciClient };
|
|
190
|
+
export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciDialectId, TciDialectRegistry, TciDialectSelection, TciError, TciHandshakeResult, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, TciTransportFactory, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, TciWriteResult, createTciClient };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { Q as QueueCommandOptions, T as TciError } from './index-
|
|
2
|
-
export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-
|
|
1
|
+
import { Q as QueueCommandOptions, T as TciError } from './index-paj1AOJY.js';
|
|
2
|
+
export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-paj1AOJY.js';
|
|
3
3
|
import { EventEmitter } from 'eventemitter3';
|
|
4
4
|
import WebSocket from 'ws';
|
|
5
5
|
import { TciSampleType, TciSampleTypeName, TciStreamFrame, BuildTxAudioFrameOptions } from './audio/index.js';
|
|
6
|
-
export { BuildStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.js';
|
|
6
|
+
export { BuildStreamFrameOptions, ParseStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.js';
|
|
7
7
|
import { T as TciCommand } from './text-BwCWY1k1.js';
|
|
8
8
|
export { a as TciCommandInput, c as commandKey, e as escapeTciText, f as formatTciCommand, i as isCommandReplyTo, n as normalizeCommandName, p as parseTciCommand, b as parseTciText, u as unescapeTciText } from './text-BwCWY1k1.js';
|
|
9
|
+
import { T as TciDialectId, a as TciHandshakeResult, b as TciDialectSelection, c as TciWriteResult } from './types-9seY9Th-.js';
|
|
10
|
+
export { B as BuiltInTciDialectId, d as TciDialect, e as TciDialectDetection, f as TciDialectDetectionContext, g as TciDialectScore, h as TciDriveState, i as TciProtocolIdentity, j as TciStreamLengthSemantics } from './types-9seY9Th-.js';
|
|
11
|
+
import { TciDialectRegistry } from './dialect/index.js';
|
|
12
|
+
export { aetherSdrDialect, assertValidTciHandshake, builtInDialects, compareTciVersion, defaultTciDialectRegistry, expertSdr14Dialect, expertSdrLegacyDialect, expertSdrModernDialect, genericObservedDialect, parseProtocolIdentity, parseTciVersion, thetisDialect } from './dialect/index.js';
|
|
13
|
+
import { TciTransportFactory } from './transport/index.js';
|
|
14
|
+
export { TciTransport, TciTransportEvents, WebSocketTciTransport } from './transport/index.js';
|
|
9
15
|
|
|
10
16
|
interface TciClientOptions {
|
|
11
17
|
url: string;
|
|
@@ -13,12 +19,16 @@ interface TciClientOptions {
|
|
|
13
19
|
trx?: number;
|
|
14
20
|
vfo?: number;
|
|
15
21
|
connectTimeoutMs?: number;
|
|
22
|
+
handshakeTimeoutMs?: number;
|
|
16
23
|
commandTimeoutMs?: number;
|
|
17
24
|
writeAckMode?: TciWriteAckMode;
|
|
18
25
|
writeTimeoutMs?: number;
|
|
19
26
|
writeSettleMs?: number;
|
|
20
27
|
frequencyWriteSettleMs?: number;
|
|
28
|
+
dialect?: TciDialectSelection;
|
|
29
|
+
dialectRegistry?: TciDialectRegistry;
|
|
21
30
|
WebSocketImpl?: typeof WebSocket;
|
|
31
|
+
transportFactory?: TciTransportFactory;
|
|
22
32
|
}
|
|
23
33
|
interface TciAudioConfig {
|
|
24
34
|
sampleRate: 8_000 | 12_000 | 24_000 | 48_000 | number;
|
|
@@ -47,11 +57,17 @@ interface TciTxChronoRequest {
|
|
|
47
57
|
channels: number;
|
|
48
58
|
sampleType: TciSampleType;
|
|
49
59
|
sampleCount: number;
|
|
60
|
+
frameCount: number;
|
|
50
61
|
}
|
|
51
62
|
interface TciClientState {
|
|
52
63
|
connected: boolean;
|
|
53
64
|
ready: boolean;
|
|
54
65
|
protocol?: string;
|
|
66
|
+
protocolName?: string;
|
|
67
|
+
protocolVersion?: string;
|
|
68
|
+
dialectId?: TciDialectId;
|
|
69
|
+
dialectConfidence?: TciHandshakeResult['dialect']['confidence'];
|
|
70
|
+
dialectWarnings: string[];
|
|
55
71
|
device?: string;
|
|
56
72
|
receiveOnly?: boolean;
|
|
57
73
|
trxCount?: number;
|
|
@@ -65,6 +81,7 @@ interface TciClientState {
|
|
|
65
81
|
pttSource: Record<string, string | undefined>;
|
|
66
82
|
tune: Record<string, boolean>;
|
|
67
83
|
drive: Record<string, number>;
|
|
84
|
+
tuneDrive: Record<string, number>;
|
|
68
85
|
split: Record<string, boolean>;
|
|
69
86
|
rxSensors: Record<string, Record<string, number | string | boolean>>;
|
|
70
87
|
txSensors: Record<string, Record<string, number | string | boolean>>;
|
|
@@ -77,6 +94,7 @@ interface TciClientEvents {
|
|
|
77
94
|
connected: () => void;
|
|
78
95
|
disconnected: (reason?: unknown) => void;
|
|
79
96
|
ready: (state: TciClientState) => void;
|
|
97
|
+
handshake: (result: TciHandshakeResult) => void;
|
|
80
98
|
state: (state: TciClientState) => void;
|
|
81
99
|
command: (command: TciCommand) => void;
|
|
82
100
|
binary: (frame: TciStreamFrame) => void;
|
|
@@ -92,16 +110,27 @@ interface SendCommandOptions extends QueueCommandOptions {
|
|
|
92
110
|
waitForReply?: boolean;
|
|
93
111
|
}
|
|
94
112
|
declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
95
|
-
readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'
|
|
113
|
+
readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'handshakeTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'> & {
|
|
114
|
+
dialect: TciDialectSelection;
|
|
115
|
+
};
|
|
96
116
|
private readonly WebSocketImpl;
|
|
97
|
-
private
|
|
117
|
+
private readonly transportFactory;
|
|
118
|
+
private transport?;
|
|
98
119
|
private readonly queue;
|
|
99
120
|
private readonly state;
|
|
121
|
+
private readonly stateReducers;
|
|
122
|
+
private readonly dialectRegistry;
|
|
123
|
+
private activeDialect?;
|
|
124
|
+
private handshakeResult?;
|
|
125
|
+
private handshakeError?;
|
|
126
|
+
private initializationCommands;
|
|
127
|
+
private handshakeWaiter?;
|
|
100
128
|
constructor(options: TciClientOptions);
|
|
101
|
-
connect(): Promise<
|
|
129
|
+
connect(): Promise<TciHandshakeResult>;
|
|
102
130
|
disconnect(code?: number, reason?: string): Promise<void>;
|
|
103
131
|
isConnected(): boolean;
|
|
104
132
|
getState(): TciClientState;
|
|
133
|
+
getHandshakeResult(): TciHandshakeResult | undefined;
|
|
105
134
|
sendCommand(name: string, args?: readonly unknown[], options?: SendCommandOptions): Promise<TciCommand | undefined>;
|
|
106
135
|
request(name: string, args?: readonly unknown[], options?: QueueCommandOptions): Promise<TciCommand>;
|
|
107
136
|
sendStateWrite(name: string, args: readonly unknown[], isApplied: (state: TciClientState) => boolean, description?: string, options?: TciWriteOptions): Promise<void>;
|
|
@@ -111,31 +140,44 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
|
111
140
|
getMode(receiver?: number): Promise<string | undefined>;
|
|
112
141
|
setPtt(enabled: boolean, options?: TciPttOptions): Promise<void>;
|
|
113
142
|
getPtt(trx?: number): Promise<boolean | undefined>;
|
|
114
|
-
setTune(enabled: boolean, trx?: number): Promise<void>;
|
|
143
|
+
setTune(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
|
|
115
144
|
setDrive(value: number, trx?: number): Promise<void>;
|
|
116
|
-
|
|
145
|
+
setDriveWithResult(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
|
|
146
|
+
getDrive(trx?: number): Promise<number | undefined>;
|
|
147
|
+
setTuneDrive(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
|
|
148
|
+
getTuneDrive(trx?: number): Promise<number | undefined>;
|
|
149
|
+
setSplit(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
|
|
117
150
|
configureAudio(config: TciAudioConfig): Promise<void>;
|
|
118
151
|
startAudio(receiver?: number): Promise<void>;
|
|
119
152
|
stopAudio(receiver?: number): Promise<void>;
|
|
120
153
|
sendTxAudio(options: BuildTxAudioFrameOptions): void;
|
|
154
|
+
sendTxAudioForChrono(request: TciTxChronoRequest, samples: Float32Array | readonly number[]): void;
|
|
121
155
|
setRxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
|
|
122
156
|
setTxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
|
|
123
157
|
sendCwMacro(index: number): Promise<void>;
|
|
124
158
|
sendCwMessage(message: string): Promise<void>;
|
|
125
159
|
stopCw(): Promise<void>;
|
|
126
160
|
private waitForState;
|
|
127
|
-
private
|
|
128
|
-
private
|
|
161
|
+
private waitForCommand;
|
|
162
|
+
private resetHandshake;
|
|
163
|
+
private waitForHandshake;
|
|
164
|
+
private finalizeHandshake;
|
|
165
|
+
private rejectHandshake;
|
|
166
|
+
private requireDialect;
|
|
167
|
+
private attachTransport;
|
|
129
168
|
private sendRaw;
|
|
130
169
|
private sendRawBinary;
|
|
131
|
-
private
|
|
170
|
+
private handleText;
|
|
132
171
|
private handleBinary;
|
|
133
172
|
private applyCommand;
|
|
173
|
+
private createStateReducers;
|
|
134
174
|
private applyVfo;
|
|
135
175
|
private applyModulation;
|
|
136
176
|
private applyTrx;
|
|
137
177
|
private applyBooleanByFirstArg;
|
|
138
178
|
private applyDrive;
|
|
179
|
+
private applyTuneDrive;
|
|
180
|
+
private updateAudioState;
|
|
139
181
|
private applyRxChannelSensors;
|
|
140
182
|
private applyRxSensors;
|
|
141
183
|
private applyTxSensors;
|
|
@@ -145,4 +187,4 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
|
|
|
145
187
|
}
|
|
146
188
|
declare function createTciClient(options: TciClientOptions): TciClient;
|
|
147
189
|
|
|
148
|
-
export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciError, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, createTciClient };
|
|
190
|
+
export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciDialectId, TciDialectRegistry, TciDialectSelection, TciError, TciHandshakeResult, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, TciTransportFactory, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, TciWriteResult, createTciClient };
|