njs-modbus 1.2.0 → 1.3.1

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/dist/index.d.ts CHANGED
@@ -156,35 +156,68 @@ interface AbstractApplicationLayerEvents {
156
156
  }, response: (data: Buffer) => Promise<void>];
157
157
  }
158
158
  declare abstract class AbstractApplicationLayer extends EventEmitter<AbstractApplicationLayerEvents> {
159
+ abstract startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
160
+ buffer: Buffer;
161
+ }) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
162
+ buffer: Buffer;
163
+ }) => void): void;
164
+ abstract stopWaitingResponse(): void;
159
165
  abstract encode(data: ApplicationDataUnit): Buffer;
160
166
  abstract destroy(): void;
161
167
  }
162
168
 
163
169
  declare class RtuApplicationLayer extends AbstractApplicationLayer {
170
+ private _waitingResponse?;
164
171
  private _timerThreePointFive?;
165
172
  private _bufferRx;
166
173
  private _removeAllListeners;
167
- constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer, bitsBetweenFrames?: number);
174
+ constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer,
175
+ /**
176
+ * The time interval between two frames, support two formats:
177
+ * - bit: `48bit` as default
178
+ * - millisecond: `20ms`
179
+ */
180
+ intervalBetweenFrames?: `${number}bit` | `${number}ms`);
168
181
  private framing;
182
+ startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
183
+ buffer: Buffer;
184
+ }) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
185
+ buffer: Buffer;
186
+ }) => void): void;
187
+ stopWaitingResponse(): void;
169
188
  encode(data: ApplicationDataUnit): Buffer;
170
189
  destroy(): void;
171
190
  }
172
191
 
173
192
  declare class AsciiApplicationLayer extends AbstractApplicationLayer {
193
+ private _waitingResponse?;
174
194
  private _status;
175
195
  private _frame;
176
196
  private _removeAllListeners;
177
197
  constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer);
178
198
  private framing;
199
+ startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
200
+ buffer: Buffer;
201
+ }) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
202
+ buffer: Buffer;
203
+ }) => void): void;
204
+ stopWaitingResponse(): void;
179
205
  encode(data: ApplicationDataUnit): Buffer;
180
206
  destroy(): void;
181
207
  }
182
208
 
183
209
  declare class TcpApplicationLayer extends AbstractApplicationLayer {
210
+ private _waitingResponse?;
184
211
  private _transactionId;
185
212
  private _removeAllListeners;
186
213
  constructor(physicalLayer: TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer);
187
214
  private framing;
215
+ startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
216
+ buffer: Buffer;
217
+ }) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
218
+ buffer: Buffer;
219
+ }) => void): void;
220
+ stopWaitingResponse(): void;
188
221
  encode(data: ApplicationDataUnit): Buffer;
189
222
  destroy(): void;
190
223
  }
@@ -204,42 +237,41 @@ declare class ModbusMaster<A extends AbstractApplicationLayer, P extends Abstrac
204
237
  private applicationLayer;
205
238
  private physicalLayer;
206
239
  timeout: number;
207
- private _responses;
208
240
  get isOpen(): boolean;
209
241
  get destroyed(): boolean;
210
242
  constructor(applicationLayer: A, physicalLayer: P, timeout?: number);
211
243
  private waitResponse;
212
244
  private writeFC1Or2;
213
245
  writeFC1: this['readCoils'];
214
- readCoils(unit: 0, address: number, length: number, timeout?: number): void;
246
+ readCoils(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
215
247
  readCoils(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>;
216
248
  writeFC2: this['readDiscreteInputs'];
217
- readDiscreteInputs(unit: 0, address: number, length: number, timeout?: number): void;
249
+ readDiscreteInputs(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
218
250
  readDiscreteInputs(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>;
219
251
  private writeFC3Or4;
220
252
  writeFC3: this['readHoldingRegisters'];
221
- readHoldingRegisters(unit: 0, address: number, length: number, timeout?: number): void;
253
+ readHoldingRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
222
254
  readHoldingRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>;
223
255
  writeFC4: this['readInputRegisters'];
224
- readInputRegisters(unit: 0, address: number, length: number, timeout?: number): void;
256
+ readInputRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
225
257
  readInputRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>;
226
258
  writeFC5: this['writeSingleCoil'];
227
- writeSingleCoil(unit: 0, address: number, value: boolean, timeout?: number): void;
259
+ writeSingleCoil(unit: 0, address: number, value: boolean, timeout?: number): Promise<void>;
228
260
  writeSingleCoil(unit: number, address: number, value: boolean, timeout?: number): Promise<ReturnValue<boolean>>;
229
261
  writeFC6: this['writeSingleRegister'];
230
- writeSingleRegister(unit: 0, address: number, value: number, timeout?: number): void;
262
+ writeSingleRegister(unit: 0, address: number, value: number, timeout?: number): Promise<void>;
231
263
  writeSingleRegister(unit: number, address: number, value: number, timeout?: number): Promise<ReturnValue<number>>;
232
264
  writeFC15: this['writeMultipleCoils'];
233
- writeMultipleCoils(unit: 0, address: number, value: boolean[], timeout?: number): void;
265
+ writeMultipleCoils(unit: 0, address: number, value: boolean[], timeout?: number): Promise<void>;
234
266
  writeMultipleCoils(unit: number, address: number, value: boolean[], timeout?: number): Promise<ReturnValue<boolean[]>>;
235
267
  writeFC16: this['writeMultipleRegisters'];
236
- writeMultipleRegisters(unit: 0, address: number, value: number[], timeout?: number): void;
268
+ writeMultipleRegisters(unit: 0, address: number, value: number[], timeout?: number): Promise<void>;
237
269
  writeMultipleRegisters(unit: number, address: number, value: number[], timeout?: number): Promise<ReturnValue<number[]>>;
238
270
  handleFC17: this['reportServerId'];
239
- reportServerId(unit: 0, timeout?: number): void;
271
+ reportServerId(unit: 0, timeout?: number): Promise<void>;
240
272
  reportServerId(unit: number, timeout?: number): Promise<ReturnValue<ServerId>>;
241
273
  handleFC22: this['maskWriteRegister'];
242
- maskWriteRegister(unit: 0, address: number, andMask: number, orMask: number, timeout?: number): void;
274
+ maskWriteRegister(unit: 0, address: number, andMask: number, orMask: number, timeout?: number): Promise<void>;
243
275
  maskWriteRegister(unit: number, address: number, andMask: number, orMask: number, timeout?: number): Promise<ReturnValue<{
244
276
  andMask: number;
245
277
  orMask: number;
@@ -251,7 +283,7 @@ declare class ModbusMaster<A extends AbstractApplicationLayer, P extends Abstrac
251
283
  }, write: {
252
284
  address: number;
253
285
  value: number[];
254
- }, timeout?: number): void;
286
+ }, timeout?: number): Promise<void>;
255
287
  readAndWriteMultipleRegisters(unit: number, read: {
256
288
  address: number;
257
289
  length: number;
@@ -260,7 +292,7 @@ declare class ModbusMaster<A extends AbstractApplicationLayer, P extends Abstrac
260
292
  value: number[];
261
293
  }, timeout?: number): Promise<ReturnValue<number[]>>;
262
294
  handleFC43_14: this['readDeviceIdentification'];
263
- readDeviceIdentification(unit: 0, readDeviceIDCode: number, objectId: number, timeout?: number): void;
295
+ readDeviceIdentification(unit: 0, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<void>;
264
296
  readDeviceIdentification(unit: number, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<ReturnValue<DeviceIdentification>>;
265
297
  open(...args: Parameters<P['open']>): Promise<void>;
266
298
  close(): Promise<void>;