@zaber/motion 2.13.0 → 2.13.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/binding/wasm/zaber-motion-lib.wasm +0 -0
- package/dist/lib/ascii/all_axes.js +8 -8
- package/dist/lib/ascii/all_axes.js.map +1 -1
- package/dist/lib/ascii/axis.js +19 -19
- package/dist/lib/ascii/axis.js.map +1 -1
- package/dist/lib/ascii/axis_settings.d.ts +19 -0
- package/dist/lib/ascii/axis_settings.js +48 -4
- package/dist/lib/ascii/axis_settings.js.map +1 -1
- package/dist/lib/ascii/connection.js +11 -11
- package/dist/lib/ascii/connection.js.map +1 -1
- package/dist/lib/ascii/device.js +13 -13
- package/dist/lib/ascii/device.js.map +1 -1
- package/dist/lib/ascii/device_io.js +5 -5
- package/dist/lib/ascii/device_io.js.map +1 -1
- package/dist/lib/ascii/device_settings.d.ts +19 -0
- package/dist/lib/ascii/device_settings.js +45 -4
- package/dist/lib/ascii/device_settings.js.map +1 -1
- package/dist/lib/ascii/lockstep.js +11 -11
- package/dist/lib/ascii/lockstep.js.map +1 -1
- package/dist/lib/ascii/oscilloscope.js +5 -5
- package/dist/lib/ascii/oscilloscope.js.map +1 -1
- package/dist/lib/ascii/oscilloscope_data.d.ts +1 -7
- package/dist/lib/ascii/oscilloscope_data.js +7 -24
- package/dist/lib/ascii/oscilloscope_data.js.map +1 -1
- package/dist/lib/ascii/servo_tuner.js +5 -5
- package/dist/lib/ascii/servo_tuner.js.map +1 -1
- package/dist/lib/ascii/storage.js +10 -10
- package/dist/lib/ascii/storage.js.map +1 -1
- package/dist/lib/ascii/stream.js +19 -19
- package/dist/lib/ascii/stream.js.map +1 -1
- package/dist/lib/ascii/transport.js +2 -2
- package/dist/lib/ascii/transport.js.map +1 -1
- package/dist/lib/binary/connection.js +7 -7
- package/dist/lib/binary/connection.js.map +1 -1
- package/dist/lib/binary/device.js +30 -30
- package/dist/lib/binary/device.js.map +1 -1
- package/dist/lib/binary/device_settings.js +1 -1
- package/dist/lib/binary/device_settings.js.map +1 -1
- package/dist/lib/gcode/offline_translator.js +3 -3
- package/dist/lib/gcode/offline_translator.js.map +1 -1
- package/dist/lib/gcode/translator.js +3 -3
- package/dist/lib/gcode/translator.js.map +1 -1
- package/dist/lib/protobufs/main_pb.d.ts +149 -1681
- package/dist/lib/protobufs/main_pb.js +9610 -21232
- package/dist/lib/protobufs/main_pb.js.map +1 -1
- package/dist/lib/tools.js +1 -1
- package/dist/lib/tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/ascii/storage.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Axis } from './axis';\nimport { Device } from './device';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to axis storage.\n */\nexport class AxisStorage {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Sets the axis value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the axis value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageResponse>(\n 'device/get_storage',\n request,\n gateway.DeviceGetStorageResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageNumberResponse>(\n 'device/get_storage_number',\n request,\n gateway.DeviceGetStorageNumberResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageBoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.DeviceGetStorageBoolResponse);\n return response.getValue();\n }\n}\n\n/**\n * Class providing access to device storage.\n */\nexport class DeviceStorage {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Sets the device value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the device value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageResponse>(\n 'device/get_storage',\n request,\n gateway.DeviceGetStorageResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageNumberResponse>(\n 'device/get_storage_number',\n request,\n gateway.DeviceGetStorageNumberResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DeviceGetStorageBoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.DeviceGetStorageBoolResponse);\n return response.getValue();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/ascii/storage.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Axis } from './axis';\nimport { Device } from './device';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to axis storage.\n */\nexport class AxisStorage {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Sets the axis value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the axis value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceGetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceGetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n}\n\n/**\n * Class providing access to device storage.\n */\nexport class DeviceStorage {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Sets the device value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the device value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceGetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceGetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n}\n"]}
|
package/dist/lib/ascii/stream.js
CHANGED
|
@@ -510,7 +510,7 @@ class Stream {
|
|
|
510
510
|
* You can only cork an idle live stream.
|
|
511
511
|
*/
|
|
512
512
|
async cork() {
|
|
513
|
-
const request = new gateway.
|
|
513
|
+
const request = new gateway.StreamEmptyRequest();
|
|
514
514
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
515
515
|
request.setDevice(this.device.deviceAddress);
|
|
516
516
|
request.setStreamId(this.streamId);
|
|
@@ -521,7 +521,7 @@ class Stream {
|
|
|
521
521
|
* You can only uncork an idle live stream that is corked.
|
|
522
522
|
*/
|
|
523
523
|
async uncork() {
|
|
524
|
-
const request = new gateway.
|
|
524
|
+
const request = new gateway.StreamEmptyRequest();
|
|
525
525
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
526
526
|
request.setDevice(this.device.deviceAddress);
|
|
527
527
|
request.setStreamId(this.streamId);
|
|
@@ -532,12 +532,12 @@ class Stream {
|
|
|
532
532
|
* @return True if the stream is executing a queued action.
|
|
533
533
|
*/
|
|
534
534
|
async isBusy() {
|
|
535
|
-
const request = new gateway.
|
|
535
|
+
const request = new gateway.StreamEmptyRequest();
|
|
536
536
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
537
537
|
request.setDevice(this.device.deviceAddress);
|
|
538
538
|
request.setStreamId(this.streamId);
|
|
539
|
-
const response = await gateway.callAsync('device/stream_is_busy', request, gateway.
|
|
540
|
-
return response.
|
|
539
|
+
const response = await gateway.callAsync('device/stream_is_busy', request, gateway.BoolResponse);
|
|
540
|
+
return response.getValue();
|
|
541
541
|
}
|
|
542
542
|
/**
|
|
543
543
|
* Gets the maximum speed of the live stream.
|
|
@@ -551,8 +551,8 @@ class Stream {
|
|
|
551
551
|
request.setDevice(this.device.deviceAddress);
|
|
552
552
|
request.setStreamId(this.streamId);
|
|
553
553
|
request.setUnit(unit);
|
|
554
|
-
const response = await gateway.callAsync('device/stream_get_max_speed', request, gateway.
|
|
555
|
-
return response.
|
|
554
|
+
const response = await gateway.callAsync('device/stream_get_max_speed', request, gateway.DoubleResponse);
|
|
555
|
+
return response.getValue();
|
|
556
556
|
}
|
|
557
557
|
/**
|
|
558
558
|
* Sets the maximum speed of the live stream.
|
|
@@ -581,8 +581,8 @@ class Stream {
|
|
|
581
581
|
request.setDevice(this.device.deviceAddress);
|
|
582
582
|
request.setStreamId(this.streamId);
|
|
583
583
|
request.setUnit(unit);
|
|
584
|
-
const response = await gateway.callAsync('device/stream_get_max_tangential_acceleration', request, gateway.
|
|
585
|
-
return response.
|
|
584
|
+
const response = await gateway.callAsync('device/stream_get_max_tangential_acceleration', request, gateway.DoubleResponse);
|
|
585
|
+
return response.getValue();
|
|
586
586
|
}
|
|
587
587
|
/**
|
|
588
588
|
* Sets the maximum tangential acceleration of the live stream.
|
|
@@ -611,8 +611,8 @@ class Stream {
|
|
|
611
611
|
request.setDevice(this.device.deviceAddress);
|
|
612
612
|
request.setStreamId(this.streamId);
|
|
613
613
|
request.setUnit(unit);
|
|
614
|
-
const response = await gateway.callAsync('device/stream_get_max_centripetal_acceleration', request, gateway.
|
|
615
|
-
return response.
|
|
614
|
+
const response = await gateway.callAsync('device/stream_get_max_centripetal_acceleration', request, gateway.DoubleResponse);
|
|
615
|
+
return response.getValue();
|
|
616
616
|
}
|
|
617
617
|
/**
|
|
618
618
|
* Sets the maximum centripetal acceleration of the live stream.
|
|
@@ -634,12 +634,12 @@ class Stream {
|
|
|
634
634
|
* @return String which represents the stream.
|
|
635
635
|
*/
|
|
636
636
|
toString() {
|
|
637
|
-
const request = new gateway.
|
|
637
|
+
const request = new gateway.StreamEmptyRequest();
|
|
638
638
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
639
639
|
request.setDevice(this.device.deviceAddress);
|
|
640
640
|
request.setStreamId(this.streamId);
|
|
641
|
-
const response = gateway.callSync('device/stream_to_string', request, gateway.
|
|
642
|
-
return response.
|
|
641
|
+
const response = gateway.callSync('device/stream_to_string', request, gateway.StringResponse);
|
|
642
|
+
return response.getValue();
|
|
643
643
|
}
|
|
644
644
|
/**
|
|
645
645
|
* Disable the stream.
|
|
@@ -648,7 +648,7 @@ class Stream {
|
|
|
648
648
|
* The stream will process the rest of the commands in the queue until it is empty.
|
|
649
649
|
*/
|
|
650
650
|
async disable() {
|
|
651
|
-
const request = new gateway.
|
|
651
|
+
const request = new gateway.StreamEmptyRequest();
|
|
652
652
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
653
653
|
request.setDevice(this.device.deviceAddress);
|
|
654
654
|
request.setStreamId(this.streamId);
|
|
@@ -686,7 +686,7 @@ class Stream {
|
|
|
686
686
|
* @return An array of axis numbers of the axes the stream is set up to control.
|
|
687
687
|
*/
|
|
688
688
|
_retrieveAxes() {
|
|
689
|
-
const request = new gateway.
|
|
689
|
+
const request = new gateway.StreamEmptyRequest();
|
|
690
690
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
691
691
|
request.setDevice(this.device.deviceAddress);
|
|
692
692
|
request.setStreamId(this.streamId);
|
|
@@ -698,12 +698,12 @@ class Stream {
|
|
|
698
698
|
* @return Mode of the stream.
|
|
699
699
|
*/
|
|
700
700
|
_retrieveMode() {
|
|
701
|
-
const request = new gateway.
|
|
701
|
+
const request = new gateway.StreamEmptyRequest();
|
|
702
702
|
request.setInterfaceId(this.device.connection.interfaceId);
|
|
703
703
|
request.setDevice(this.device.deviceAddress);
|
|
704
704
|
request.setStreamId(this.streamId);
|
|
705
|
-
const response = gateway.callSync('device/stream_get_mode', request, gateway.
|
|
706
|
-
return response.
|
|
705
|
+
const response = gateway.callSync('device/stream_get_mode', request, gateway.IntResponse);
|
|
706
|
+
return response.getValue();
|
|
707
707
|
}
|
|
708
708
|
}
|
|
709
709
|
exports.Stream = Stream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/ascii/stream.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Device } from './device';\nimport { Time, Native, Acceleration, AngularAcceleration, AngularVelocity, Velocity, Units } from '../units';\nimport { RotationDirection } from '../rotation_direction';\nimport * as gateway from '../gateway';\nimport { Measurement } from '../measurement';\nimport { StreamBuffer } from './stream_buffer';\nimport { StreamMode } from './stream_mode';\nimport { StreamAxisDefinition } from './stream_axis_definition';\n\n/**\n * A handle for a stream with this ID on the device.\n * Streams provide a way to execute or store a sequence of actions.\n * Stream methods append actions to a queue which executes or stores actions in a first in, first out order.\n */\nexport class Stream {\n /**\n * Device that controls this stream.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * The number that identifies the stream on the device.\n */\n public get streamId(): number {\n return this._streamId;\n }\n private _streamId: number;\n\n /**\n * Current mode of the stream.\n */\n public get mode(): StreamMode {\n return this._retrieveMode();\n }\n\n /**\n * An array of axes definitions the stream is set up to control.\n */\n public get axes(): StreamAxisDefinition[] {\n return this._retrieveAxes();\n }\n\n constructor(device: Device, streamId: number) {\n this._device = device;\n this._streamId = streamId;\n }\n\n /**\n * Setup the stream to control the specified axes and to queue actions on the device.\n * Allows use of lockstep axes in a stream.\n * @param axes Definition of the stream axes.\n */\n public async setupLiveComposite(\n ...axes: StreamAxisDefinition[]\n ): Promise<void> {\n const request = new gateway.StreamSetupLiveCompositeRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setAxesList(axes.map(StreamAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_live_composite', request);\n }\n\n /**\n * Setup the stream to control the specified axes and to queue actions on the device.\n * @param axes Numbers of physical axes to setup the stream on.\n */\n public async setupLive(\n ...axes: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetupLiveRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_live', request);\n }\n\n /**\n * Setup the stream to control the specified axes and queue actions into a stream buffer.\n * Allows use of lockstep axes in a stream.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axes Definition of the stream axes.\n */\n public async setupStoreComposite(\n streamBuffer: StreamBuffer,\n ...axes: StreamAxisDefinition[]\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreCompositeRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesList(axes.map(StreamAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_store_composite', request);\n }\n\n /**\n * Setup the stream to control the specified axes and queue actions into a stream buffer.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axes Numbers of physical axes to setup the stream on.\n */\n public async setupStore(\n streamBuffer: StreamBuffer,\n ...axes: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_store', request);\n }\n\n /**\n * Setup the stream to use a specified number of axes, and to queue actions in a stream buffer.\n * Afterwards, you may call the resulting stream buffer on arbitrary axes.\n * This mode does not allow for unit conversions.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axesCount The number of axes in the stream.\n */\n public async setupStoreArbitraryAxes(\n streamBuffer: StreamBuffer,\n axesCount: number\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreArbitraryAxesRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesCount(axesCount);\n\n await gateway.callAsync('device/stream_setup_store_arbitrary_axes', request);\n }\n\n /**\n * Append the actions in a stream buffer to the queue.\n * @param streamBuffer The stream buffer to call.\n */\n public async call(\n streamBuffer: StreamBuffer\n ): Promise<void> {\n const request = new gateway.StreamCallRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n\n await gateway.callAsync('device/stream_call', request);\n }\n\n /**\n * Queue an absolute line movement in the stream.\n * @param endpoint Positions for the axes to move to, relative to their home positions.\n */\n public async lineAbsolute(\n ...endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.ABS);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue a relative line movement in the stream.\n * @param endpoint Positions for the axes to move to, relative to their positions before movement.\n */\n public async lineRelative(\n ...endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.REL);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue an absolute line movement in the stream, targeting a subset of the stream axes.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param endpoint Positions for the axes to move to, relative to their home positions.\n */\n public async lineAbsoluteOn(\n targetAxesIndices: number[],\n endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue a relative line movement in the stream, targeting a subset of the stream axes.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param endpoint Positions for the axes to move to, relative to their positions before movement.\n */\n public async lineRelativeOn(\n targetAxesIndices: number[],\n endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue an absolute arc movement on the first two axes of the stream.\n * Absolute meaning that the home positions of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcAbsolute(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.ABS);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue a relative arc movement on the first two axes of the stream.\n * Relative meaning that the current position of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcRelative(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.REL);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue an absolute arc movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcAbsoluteOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue a relative arc movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcRelativeOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue an absolute circle movement on the first two axes of the stream.\n * Absolute meaning that the home positions of the axes are treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleAbsolute(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.ABS);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue a relative circle movement on the first two axes of the stream.\n * Relative meaning that the current position of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleRelative(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.REL);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue an absolute circle movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleAbsoluteOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue a relative circle movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleRelativeOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Wait for a digital input channel to reach a given value.\n * @param channelNumber The number of the digital input channel.\n * Channel numbers are numbered from one.\n * @param value The value that the stream should wait for.\n */\n public async waitDigitalInput(\n channelNumber: number,\n value: boolean\n ): Promise<void> {\n const request = new gateway.StreamWaitDigitalInputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_wait_digital_input', request);\n }\n\n /**\n * Wait for the value of a analog input channel to reach a condition concerning a given value.\n * @param channelNumber The number of the analog input channel.\n * Channel numbers are numbered from one.\n * @param condition A condition (e.g. <, <=, ==, !=).\n * @param value The value that the condition concerns, in volts.\n */\n public async waitAnalogInput(\n channelNumber: number,\n condition: string,\n value: number\n ): Promise<void> {\n const request = new gateway.StreamWaitAnalogInputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setCondition(condition);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_wait_analog_input', request);\n }\n\n /**\n * Set the value of a digital output channel.\n * @param channelNumber The number of the digital output channel.\n * Channel numbers are numbered from one.\n * @param value The value to set the channel to.\n */\n public async setDigitalOutput(\n channelNumber: number,\n value: boolean\n ): Promise<void> {\n const request = new gateway.StreamSetDigitalOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_digital_output', request);\n }\n\n /**\n * Set the value of an analog output channel.\n * @param channelNumber The number of the analog output channel.\n * Channel numbers are numbered from one.\n * @param value The value to set the channel to, in volts.\n */\n public async setAnalogOutput(\n channelNumber: number,\n value: number\n ): Promise<void> {\n const request = new gateway.StreamSetAnalogOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_analog_output', request);\n }\n\n /**\n * Toggle the value of a digital output channel.\n * @param channelNumber The number of the digital output channel.\n * Channel numbers are numbered from one.\n */\n public async toggleDigitalOutput(\n channelNumber: number\n ): Promise<void> {\n const request = new gateway.StreamToggleDigitalOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n\n await gateway.callAsync('device/stream_toggle_digital_output', request);\n }\n\n /**\n * Sets values for all digital output channels.\n * @param values True to set the output channel to conducting and false to turn it off.\n */\n public async setAllDigitalOutputs(\n values: boolean[]\n ): Promise<void> {\n const request = new gateway.StreamSetAllDigitalOutputsRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_digital_outputs', request);\n }\n\n /**\n * Sets values for all analog output channels.\n * @param values Voltage values to set the output channels to.\n */\n public async setAllAnalogOutputs(\n values: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetAllAnalogOutputsRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_analog_outputs', request);\n }\n\n /**\n * Wait a specified time.\n * @param time Amount of time to wait.\n * @param unit Units of time.\n */\n public async wait(\n time: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamWaitRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setTime(time);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_wait', request);\n }\n\n /**\n * Waits until the live stream executes all queued actions.\n * @param throwErrorOnFault Determines whether to throw error when fault is observed.\n */\n public async waitUntilIdle(\n throwErrorOnFault: boolean = true\n ): Promise<void> {\n const request = new gateway.StreamWaitUntilIdleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setThrowErrorOnFault(throwErrorOnFault);\n\n await gateway.callAsync('device/stream_wait_until_idle', request);\n }\n\n /**\n * Cork the front of the stream's action queue, blocking execution.\n * Execution resumes upon uncorking the queue, or when the number of queued actions reaches its limit.\n * Corking eliminates discontinuities in motion due to subsequent stream commands reaching the device late.\n * You can only cork an idle live stream.\n */\n public async cork(): Promise<void> {\n const request = new gateway.StreamCorkRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_cork', request);\n }\n\n /**\n * Uncork the front of the queue, unblocking command execution.\n * You can only uncork an idle live stream that is corked.\n */\n public async uncork(): Promise<void> {\n const request = new gateway.StreamUncorkRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_uncork', request);\n }\n\n /**\n * Returns a boolean value indicating whether the live stream is executing a queued action.\n * @return True if the stream is executing a queued action.\n */\n public async isBusy(): Promise<boolean> {\n const request = new gateway.StreamIsBusyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = await gateway.callAsync<gateway.StreamIsBusyResponse>(\n 'device/stream_is_busy',\n request,\n gateway.StreamIsBusyResponse);\n return response.getIsBusy();\n }\n\n /**\n * Gets the maximum speed of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of velocity.\n * @return The maximum speed of the stream.\n */\n public async getMaxSpeed(\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxSpeedRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.StreamGetMaxSpeedResponse>(\n 'device/stream_get_max_speed',\n request,\n gateway.StreamGetMaxSpeedResponse);\n return response.getMaxSpeed();\n }\n\n /**\n * Sets the maximum speed of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxSpeed Maximum speed at which any stream action is executed.\n * @param unit Units of velocity.\n */\n public async setMaxSpeed(\n maxSpeed: number,\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxSpeedRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxSpeed(maxSpeed);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_speed', request);\n }\n\n /**\n * Gets the maximum tangential acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of acceleration.\n * @return The maximum tangential acceleration of the live stream.\n */\n public async getMaxTangentialAcceleration(\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxTangentialAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.StreamGetMaxTangentialAccelerationResponse>(\n 'device/stream_get_max_tangential_acceleration',\n request,\n gateway.StreamGetMaxTangentialAccelerationResponse);\n return response.getMaxTangentialAcceleration();\n }\n\n /**\n * Sets the maximum tangential acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxTangentialAcceleration Maximum tangential acceleration at which any stream action is executed.\n * @param unit Units of acceleration.\n */\n public async setMaxTangentialAcceleration(\n maxTangentialAcceleration: number,\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxTangentialAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxTangentialAcceleration(maxTangentialAcceleration);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_tangential_acceleration', request);\n }\n\n /**\n * Gets the maximum centripetal acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of acceleration.\n * @return The maximum centripetal acceleration of the live stream.\n */\n public async getMaxCentripetalAcceleration(\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxCentripetalAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.StreamGetMaxCentripetalAccelerationResponse>(\n 'device/stream_get_max_centripetal_acceleration',\n request,\n gateway.StreamGetMaxCentripetalAccelerationResponse);\n return response.getMaxCentripetalAcceleration();\n }\n\n /**\n * Sets the maximum centripetal acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxCentripetalAcceleration Maximum centripetal acceleration at which any stream action is executed.\n * @param unit Units of acceleration.\n */\n public async setMaxCentripetalAcceleration(\n maxCentripetalAcceleration: number,\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxCentripetalAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxCentripetalAcceleration(maxCentripetalAcceleration);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_centripetal_acceleration', request);\n }\n\n /**\n * Returns a string which represents the stream.\n * @return String which represents the stream.\n */\n public toString(): string {\n const request = new gateway.StreamToStringRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.StreamToStringResponse>(\n 'device/stream_to_string',\n request,\n gateway.StreamToStringResponse);\n return response.getToStr();\n }\n\n /**\n * Disable the stream.\n * If the stream is not setup, this command does nothing.\n * Once disabled, the stream will no longer accept stream commands.\n * The stream will process the rest of the commands in the queue until it is empty.\n */\n public async disable(): Promise<void> {\n const request = new gateway.StreamDisableRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_disable', request);\n }\n\n /**\n * Sends a generic ASCII command to the stream.\n * Keeps resending the command while the device rejects with AGAIN reason.\n * @param command Command and its parameters.\n */\n public async genericCommand(\n command: string\n ): Promise<void> {\n const request = new gateway.StreamGenericCommandRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setCommand(command);\n\n await gateway.callAsync('device/stream_generic_command', request);\n }\n\n /**\n * Sends a batch of generic ASCII commands to the stream.\n * Keeps resending command while the device rejects with AGAIN reason.\n * The batch is atomic in terms of thread safety.\n * @param batch Array of commands.\n */\n public async genericCommandBatch(\n batch: string[]\n ): Promise<void> {\n const request = new gateway.StreamGenericCommandBatchRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setBatchList(batch);\n\n await gateway.callAsync('device/stream_generic_command_batch', request);\n }\n\n /**\n * Gets the axes of the stream.\n * @return An array of axis numbers of the axes the stream is set up to control.\n */\n private _retrieveAxes(): StreamAxisDefinition[] {\n const request = new gateway.StreamGetAxesRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.StreamGetAxesResponse>(\n 'device/stream_get_axes',\n request,\n gateway.StreamGetAxesResponse);\n return response.toObject().axesList.map(resp => StreamAxisDefinition.fromProtobuf(resp));\n }\n\n /**\n * Get the mode of the stream.\n * @return Mode of the stream.\n */\n private _retrieveMode(): StreamMode {\n const request = new gateway.StreamGetModeRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.StreamGetModeResponse>(\n 'device/stream_get_mode',\n request,\n gateway.StreamGetModeResponse);\n return response.getMode();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/ascii/stream.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Device } from './device';\nimport { Time, Native, Acceleration, AngularAcceleration, AngularVelocity, Velocity, Units } from '../units';\nimport { RotationDirection } from '../rotation_direction';\nimport * as gateway from '../gateway';\nimport { Measurement } from '../measurement';\nimport { StreamBuffer } from './stream_buffer';\nimport { StreamMode } from './stream_mode';\nimport { StreamAxisDefinition } from './stream_axis_definition';\n\n/**\n * A handle for a stream with this ID on the device.\n * Streams provide a way to execute or store a sequence of actions.\n * Stream methods append actions to a queue which executes or stores actions in a first in, first out order.\n */\nexport class Stream {\n /**\n * Device that controls this stream.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * The number that identifies the stream on the device.\n */\n public get streamId(): number {\n return this._streamId;\n }\n private _streamId: number;\n\n /**\n * Current mode of the stream.\n */\n public get mode(): StreamMode {\n return this._retrieveMode();\n }\n\n /**\n * An array of axes definitions the stream is set up to control.\n */\n public get axes(): StreamAxisDefinition[] {\n return this._retrieveAxes();\n }\n\n constructor(device: Device, streamId: number) {\n this._device = device;\n this._streamId = streamId;\n }\n\n /**\n * Setup the stream to control the specified axes and to queue actions on the device.\n * Allows use of lockstep axes in a stream.\n * @param axes Definition of the stream axes.\n */\n public async setupLiveComposite(\n ...axes: StreamAxisDefinition[]\n ): Promise<void> {\n const request = new gateway.StreamSetupLiveCompositeRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setAxesList(axes.map(StreamAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_live_composite', request);\n }\n\n /**\n * Setup the stream to control the specified axes and to queue actions on the device.\n * @param axes Numbers of physical axes to setup the stream on.\n */\n public async setupLive(\n ...axes: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetupLiveRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_live', request);\n }\n\n /**\n * Setup the stream to control the specified axes and queue actions into a stream buffer.\n * Allows use of lockstep axes in a stream.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axes Definition of the stream axes.\n */\n public async setupStoreComposite(\n streamBuffer: StreamBuffer,\n ...axes: StreamAxisDefinition[]\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreCompositeRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesList(axes.map(StreamAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_store_composite', request);\n }\n\n /**\n * Setup the stream to control the specified axes and queue actions into a stream buffer.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axes Numbers of physical axes to setup the stream on.\n */\n public async setupStore(\n streamBuffer: StreamBuffer,\n ...axes: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_store', request);\n }\n\n /**\n * Setup the stream to use a specified number of axes, and to queue actions in a stream buffer.\n * Afterwards, you may call the resulting stream buffer on arbitrary axes.\n * This mode does not allow for unit conversions.\n * @param streamBuffer The stream buffer to queue actions in.\n * @param axesCount The number of axes in the stream.\n */\n public async setupStoreArbitraryAxes(\n streamBuffer: StreamBuffer,\n axesCount: number\n ): Promise<void> {\n const request = new gateway.StreamSetupStoreArbitraryAxesRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n request.setAxesCount(axesCount);\n\n await gateway.callAsync('device/stream_setup_store_arbitrary_axes', request);\n }\n\n /**\n * Append the actions in a stream buffer to the queue.\n * @param streamBuffer The stream buffer to call.\n */\n public async call(\n streamBuffer: StreamBuffer\n ): Promise<void> {\n const request = new gateway.StreamCallRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setStreamBuffer(streamBuffer.bufferId);\n\n await gateway.callAsync('device/stream_call', request);\n }\n\n /**\n * Queue an absolute line movement in the stream.\n * @param endpoint Positions for the axes to move to, relative to their home positions.\n */\n public async lineAbsolute(\n ...endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.ABS);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue a relative line movement in the stream.\n * @param endpoint Positions for the axes to move to, relative to their positions before movement.\n */\n public async lineRelative(\n ...endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.REL);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue an absolute line movement in the stream, targeting a subset of the stream axes.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param endpoint Positions for the axes to move to, relative to their home positions.\n */\n public async lineAbsoluteOn(\n targetAxesIndices: number[],\n endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue a relative line movement in the stream, targeting a subset of the stream axes.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param endpoint Positions for the axes to move to, relative to their positions before movement.\n */\n public async lineRelativeOn(\n targetAxesIndices: number[],\n endpoint: Measurement[]\n ): Promise<void> {\n const request = new gateway.StreamLineRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamLineRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setEndpointList(endpoint.map(Measurement.toProtobuf));\n\n await gateway.callAsync('device/stream_line', request);\n }\n\n /**\n * Queue an absolute arc movement on the first two axes of the stream.\n * Absolute meaning that the home positions of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcAbsolute(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.ABS);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue a relative arc movement on the first two axes of the stream.\n * Relative meaning that the current position of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcRelative(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.REL);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue an absolute arc movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcAbsoluteOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue a relative arc movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimensions of the position of the center of the circle on which the arc exists.\n * @param centerY The second dimensions of the position of the center of the circle on which the arc exists.\n * @param endX The first dimensions of the end position of the arc.\n * @param endY The second dimensions of the end position of the arc.\n */\n public async arcRelativeOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement,\n endX: Measurement,\n endY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamArcRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamArcRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n request.setEndX(Measurement.toProtobuf(endX));\n request.setEndY(Measurement.toProtobuf(endY));\n\n await gateway.callAsync('device/stream_arc', request);\n }\n\n /**\n * Queue an absolute circle movement on the first two axes of the stream.\n * Absolute meaning that the home positions of the axes are treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleAbsolute(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.ABS);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue a relative circle movement on the first two axes of the stream.\n * Relative meaning that the current position of the axes is treated as the origin.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleRelative(\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.REL);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue an absolute circle movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleAbsoluteOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.ABS);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Queue a relative circle movement in the stream.\n * The movement will only target the specified subset of axes in the stream.\n * @param targetAxesIndices Indices of the axes in the stream the movement targets.\n * Refers to the axes provided during the stream setup or further execution.\n * Indices are zero-based.\n * @param rotationDirection The direction of the rotation.\n * @param centerX The first dimension of the position of the center of the circle.\n * @param centerY The second dimension of the position of the center of the circle.\n */\n public async circleRelativeOn(\n targetAxesIndices: number[],\n rotationDirection: RotationDirection,\n centerX: Measurement,\n centerY: Measurement\n ): Promise<void> {\n const request = new gateway.StreamCircleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setType(gateway.StreamCircleRequest.Type.REL);\n request.setTargetAxesIndicesList(targetAxesIndices);\n request.setRotationDirection(rotationDirection as any);\n request.setCenterX(Measurement.toProtobuf(centerX));\n request.setCenterY(Measurement.toProtobuf(centerY));\n\n await gateway.callAsync('device/stream_circle', request);\n }\n\n /**\n * Wait for a digital input channel to reach a given value.\n * @param channelNumber The number of the digital input channel.\n * Channel numbers are numbered from one.\n * @param value The value that the stream should wait for.\n */\n public async waitDigitalInput(\n channelNumber: number,\n value: boolean\n ): Promise<void> {\n const request = new gateway.StreamWaitDigitalInputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_wait_digital_input', request);\n }\n\n /**\n * Wait for the value of a analog input channel to reach a condition concerning a given value.\n * @param channelNumber The number of the analog input channel.\n * Channel numbers are numbered from one.\n * @param condition A condition (e.g. <, <=, ==, !=).\n * @param value The value that the condition concerns, in volts.\n */\n public async waitAnalogInput(\n channelNumber: number,\n condition: string,\n value: number\n ): Promise<void> {\n const request = new gateway.StreamWaitAnalogInputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setCondition(condition);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_wait_analog_input', request);\n }\n\n /**\n * Set the value of a digital output channel.\n * @param channelNumber The number of the digital output channel.\n * Channel numbers are numbered from one.\n * @param value The value to set the channel to.\n */\n public async setDigitalOutput(\n channelNumber: number,\n value: boolean\n ): Promise<void> {\n const request = new gateway.StreamSetDigitalOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_digital_output', request);\n }\n\n /**\n * Set the value of an analog output channel.\n * @param channelNumber The number of the analog output channel.\n * Channel numbers are numbered from one.\n * @param value The value to set the channel to, in volts.\n */\n public async setAnalogOutput(\n channelNumber: number,\n value: number\n ): Promise<void> {\n const request = new gateway.StreamSetAnalogOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_analog_output', request);\n }\n\n /**\n * Toggle the value of a digital output channel.\n * @param channelNumber The number of the digital output channel.\n * Channel numbers are numbered from one.\n */\n public async toggleDigitalOutput(\n channelNumber: number\n ): Promise<void> {\n const request = new gateway.StreamToggleDigitalOutputRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setChannelNumber(channelNumber);\n\n await gateway.callAsync('device/stream_toggle_digital_output', request);\n }\n\n /**\n * Sets values for all digital output channels.\n * @param values True to set the output channel to conducting and false to turn it off.\n */\n public async setAllDigitalOutputs(\n values: boolean[]\n ): Promise<void> {\n const request = new gateway.StreamSetAllDigitalOutputsRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_digital_outputs', request);\n }\n\n /**\n * Sets values for all analog output channels.\n * @param values Voltage values to set the output channels to.\n */\n public async setAllAnalogOutputs(\n values: number[]\n ): Promise<void> {\n const request = new gateway.StreamSetAllAnalogOutputsRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_analog_outputs', request);\n }\n\n /**\n * Wait a specified time.\n * @param time Amount of time to wait.\n * @param unit Units of time.\n */\n public async wait(\n time: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamWaitRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setTime(time);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_wait', request);\n }\n\n /**\n * Waits until the live stream executes all queued actions.\n * @param throwErrorOnFault Determines whether to throw error when fault is observed.\n */\n public async waitUntilIdle(\n throwErrorOnFault: boolean = true\n ): Promise<void> {\n const request = new gateway.StreamWaitUntilIdleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setThrowErrorOnFault(throwErrorOnFault);\n\n await gateway.callAsync('device/stream_wait_until_idle', request);\n }\n\n /**\n * Cork the front of the stream's action queue, blocking execution.\n * Execution resumes upon uncorking the queue, or when the number of queued actions reaches its limit.\n * Corking eliminates discontinuities in motion due to subsequent stream commands reaching the device late.\n * You can only cork an idle live stream.\n */\n public async cork(): Promise<void> {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_cork', request);\n }\n\n /**\n * Uncork the front of the queue, unblocking command execution.\n * You can only uncork an idle live stream that is corked.\n */\n public async uncork(): Promise<void> {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_uncork', request);\n }\n\n /**\n * Returns a boolean value indicating whether the live stream is executing a queued action.\n * @return True if the stream is executing a queued action.\n */\n public async isBusy(): Promise<boolean> {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/stream_is_busy',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Gets the maximum speed of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of velocity.\n * @return The maximum speed of the stream.\n */\n public async getMaxSpeed(\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxSpeedRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/stream_get_max_speed',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the maximum speed of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxSpeed Maximum speed at which any stream action is executed.\n * @param unit Units of velocity.\n */\n public async setMaxSpeed(\n maxSpeed: number,\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxSpeedRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxSpeed(maxSpeed);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_speed', request);\n }\n\n /**\n * Gets the maximum tangential acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of acceleration.\n * @return The maximum tangential acceleration of the live stream.\n */\n public async getMaxTangentialAcceleration(\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxTangentialAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/stream_get_max_tangential_acceleration',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the maximum tangential acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxTangentialAcceleration Maximum tangential acceleration at which any stream action is executed.\n * @param unit Units of acceleration.\n */\n public async setMaxTangentialAcceleration(\n maxTangentialAcceleration: number,\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxTangentialAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxTangentialAcceleration(maxTangentialAcceleration);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_tangential_acceleration', request);\n }\n\n /**\n * Gets the maximum centripetal acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param unit Units of acceleration.\n * @return The maximum centripetal acceleration of the live stream.\n */\n public async getMaxCentripetalAcceleration(\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.StreamGetMaxCentripetalAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/stream_get_max_centripetal_acceleration',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the maximum centripetal acceleration of the live stream.\n * Converts the units using the first axis of the stream.\n * @param maxCentripetalAcceleration Maximum centripetal acceleration at which any stream action is executed.\n * @param unit Units of acceleration.\n */\n public async setMaxCentripetalAcceleration(\n maxCentripetalAcceleration: number,\n unit: Acceleration | AngularAcceleration | Native = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.StreamSetMaxCentripetalAccelerationRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setMaxCentripetalAcceleration(maxCentripetalAcceleration);\n request.setUnit(unit);\n\n await gateway.callAsync('device/stream_set_max_centripetal_acceleration', request);\n }\n\n /**\n * Returns a string which represents the stream.\n * @return String which represents the stream.\n */\n public toString(): string {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.StringResponse>(\n 'device/stream_to_string',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Disable the stream.\n * If the stream is not setup, this command does nothing.\n * Once disabled, the stream will no longer accept stream commands.\n * The stream will process the rest of the commands in the queue until it is empty.\n */\n public async disable(): Promise<void> {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n await gateway.callAsync('device/stream_disable', request);\n }\n\n /**\n * Sends a generic ASCII command to the stream.\n * Keeps resending the command while the device rejects with AGAIN reason.\n * @param command Command and its parameters.\n */\n public async genericCommand(\n command: string\n ): Promise<void> {\n const request = new gateway.StreamGenericCommandRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setCommand(command);\n\n await gateway.callAsync('device/stream_generic_command', request);\n }\n\n /**\n * Sends a batch of generic ASCII commands to the stream.\n * Keeps resending command while the device rejects with AGAIN reason.\n * The batch is atomic in terms of thread safety.\n * @param batch Array of commands.\n */\n public async genericCommandBatch(\n batch: string[]\n ): Promise<void> {\n const request = new gateway.StreamGenericCommandBatchRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n request.setBatchList(batch);\n\n await gateway.callAsync('device/stream_generic_command_batch', request);\n }\n\n /**\n * Gets the axes of the stream.\n * @return An array of axis numbers of the axes the stream is set up to control.\n */\n private _retrieveAxes(): StreamAxisDefinition[] {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.StreamGetAxesResponse>(\n 'device/stream_get_axes',\n request,\n gateway.StreamGetAxesResponse);\n return response.toObject().axesList.map(resp => StreamAxisDefinition.fromProtobuf(resp));\n }\n\n /**\n * Get the mode of the stream.\n * @return Mode of the stream.\n */\n private _retrieveMode(): StreamMode {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.streamId);\n\n const response = gateway.callSync<gateway.IntResponse>(\n 'device/stream_get_mode',\n request,\n gateway.IntResponse);\n return response.getValue();\n }\n}\n"]}
|
|
@@ -87,8 +87,8 @@ class Transport {
|
|
|
87
87
|
async read() {
|
|
88
88
|
const request = new gateway.CustomInterfaceReadRequest();
|
|
89
89
|
request.setTransportId(this.transportId);
|
|
90
|
-
const response = await gateway.callAsync('custom/interface/read', request, gateway.
|
|
91
|
-
return response.
|
|
90
|
+
const response = await gateway.callAsync('custom/interface/read', request, gateway.StringResponse);
|
|
91
|
+
return response.getValue();
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
exports.Transport = Transport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/ascii/transport.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;AAEtD,oDAAsC;AAEtC;;;GAGG;AACH,MAAa,SAAS;IASpB,YAAY,WAAmB;QAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAVD;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAOD;;;OAGG;IACI,MAAM,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAC/B,uBAAuB,EACvB,OAAO,EACP,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACvC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CACzB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAChB,OAAe;QAEf,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACzD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,uBAAuB,EACvB,OAAO,EACP,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/ascii/transport.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;AAEtD,oDAAsC;AAEtC;;;GAGG;AACH,MAAa,SAAS;IASpB,YAAY,WAAmB;QAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAVD;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAOD;;;OAGG;IACI,MAAM,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAC/B,uBAAuB,EACvB,OAAO,EACP,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACvC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CACzB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAChB,OAAe;QAEf,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACzD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,uBAAuB,EACvB,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;CACF;AArFD,8BAqFC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from '../gateway';\n\n/**\n * Connection transport backend allowing to carry Zaber ASCII protocol over arbitrary protocols.\n * Can only be used with a single connection.\n */\nexport class Transport {\n /**\n * The transport ID identifies this transport instance with the underlying library.\n */\n public get transportId(): number {\n return this._transportId;\n }\n private _transportId: number;\n\n constructor(transportId: number) {\n this._transportId = transportId;\n }\n\n /**\n * Creates new instance allowing to read/write messages from/to a single connection.\n * @return New instance of transport.\n */\n public static open(): Transport {\n const request = new gateway.EmptyRequest();\n\n const response = gateway.callSync<gateway.CustomInterfaceOpenResponse>(\n 'custom/interface/open',\n request,\n gateway.CustomInterfaceOpenResponse);\n return new Transport(response.getTransportId());\n }\n\n /**\n * Closes the transport.\n * Also closes the connection using the transport.\n */\n public async close(): Promise<void> {\n const request = new gateway.CustomInterfaceCloseRequest();\n request.setTransportId(this.transportId);\n\n await gateway.callAsync('custom/interface/close', request);\n }\n\n /**\n * Closes the transport with error.\n * Also closes the connection using the transport propagating the error.\n * @param errorMessage Error to be propagated.\n */\n public async closeWithError(\n errorMessage: string\n ): Promise<void> {\n const request = new gateway.CustomInterfaceCloseRequest();\n request.setTransportId(this.transportId);\n request.setErrorMessage(errorMessage);\n\n await gateway.callAsync('custom/interface/close', request);\n }\n\n /**\n * Writes a single message to the connection.\n * The message will be processed as a reply from the device.\n * @param message Single message of Zaber ASCII protocol.\n */\n public async write(\n message: string\n ): Promise<void> {\n const request = new gateway.CustomInterfaceWriteRequest();\n request.setTransportId(this.transportId);\n request.setMessage(message);\n\n await gateway.callAsync('custom/interface/write', request);\n }\n\n /**\n * Reads a single message generated by the connection.\n * The message is a request for the device.\n * Read should be called continuously in a loop to ensure all generated messages are processed.\n * Subsequent read call confirms that previous message was delivered to the device.\n * @return Message generated by the connection.\n */\n public async read(): Promise<string> {\n const request = new gateway.CustomInterfaceReadRequest();\n request.setTransportId(this.transportId);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'custom/interface/read',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n}\n"]}
|
|
@@ -83,7 +83,7 @@ class Connection {
|
|
|
83
83
|
* Close the connection.
|
|
84
84
|
*/
|
|
85
85
|
async close() {
|
|
86
|
-
const request = new gateway.
|
|
86
|
+
const request = new gateway.InterfaceEmptyRequest();
|
|
87
87
|
request.setInterfaceId(this.interfaceId);
|
|
88
88
|
await gateway.callAsync('interface/close', request);
|
|
89
89
|
}
|
|
@@ -151,10 +151,10 @@ class Connection {
|
|
|
151
151
|
* @return Total number of devices that responded to the renumber.
|
|
152
152
|
*/
|
|
153
153
|
async renumberDevices() {
|
|
154
|
-
const request = new gateway.
|
|
154
|
+
const request = new gateway.InterfaceEmptyRequest();
|
|
155
155
|
request.setInterfaceId(this.interfaceId);
|
|
156
|
-
const response = await gateway.callAsync('binary/device/renumber', request, gateway.
|
|
157
|
-
return response.
|
|
156
|
+
const response = await gateway.callAsync('binary/device/renumber', request, gateway.IntResponse);
|
|
157
|
+
return response.getValue();
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
160
160
|
* Attempts to detect any devices present on this connection.
|
|
@@ -185,10 +185,10 @@ class Connection {
|
|
|
185
185
|
* @return A string that represents the connection.
|
|
186
186
|
*/
|
|
187
187
|
toString() {
|
|
188
|
-
const request = new gateway.
|
|
188
|
+
const request = new gateway.InterfaceEmptyRequest();
|
|
189
189
|
request.setInterfaceId(this.interfaceId);
|
|
190
|
-
const response = gateway.callSync('interface/to_string', request, gateway.
|
|
191
|
-
return response.
|
|
190
|
+
const response = gateway.callSync('interface/to_string', request, gateway.StringResponse);
|
|
191
|
+
return response.getValue();
|
|
192
192
|
}
|
|
193
193
|
/**
|
|
194
194
|
* Event invoked when connection is interrupted or closed.
|