@zaber/motion 3.4.2 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/binding/wasm/zaber-motion-lib.wasm +0 -0
- package/dist/lib/ascii/device_settings.d.ts +7 -0
- package/dist/lib/ascii/device_settings.js +14 -0
- package/dist/lib/ascii/device_settings.js.map +1 -1
- package/dist/lib/ascii/index.d.ts +3 -1
- package/dist/lib/ascii/index.js +7 -3
- package/dist/lib/ascii/index.js.map +1 -1
- package/dist/lib/ascii/io_port_type.d.ts +10 -0
- package/dist/lib/ascii/io_port_type.js +17 -0
- package/dist/lib/ascii/io_port_type.js.map +1 -0
- package/dist/lib/ascii/oscilloscope.d.ts +8 -0
- package/dist/lib/ascii/oscilloscope.js +16 -2
- package/dist/lib/ascii/oscilloscope.js.map +1 -1
- package/dist/lib/ascii/oscilloscope_capture_properties.d.ts +14 -0
- package/dist/lib/ascii/oscilloscope_capture_properties.js +3 -0
- package/dist/lib/ascii/oscilloscope_capture_properties.js.map +1 -1
- package/dist/lib/ascii/oscilloscope_data.d.ts +14 -0
- package/dist/lib/ascii/oscilloscope_data.js +18 -0
- package/dist/lib/ascii/oscilloscope_data.js.map +1 -1
- package/dist/lib/ascii/oscilloscope_data_source.d.ts +7 -0
- package/dist/lib/ascii/oscilloscope_data_source.js +14 -0
- package/dist/lib/ascii/oscilloscope_data_source.js.map +1 -0
- package/dist/lib/ascii/pvt_sequence.d.ts +10 -2
- package/dist/lib/ascii/pvt_sequence.js +8 -0
- package/dist/lib/ascii/pvt_sequence.js.map +1 -1
- package/dist/lib/ascii/stream.d.ts +48 -16
- package/dist/lib/ascii/stream.js +76 -16
- package/dist/lib/ascii/stream.js.map +1 -1
- package/dist/lib/ascii_ns.d.ts +4 -0
- package/dist/lib/ascii_ns.js +2 -0
- package/dist/lib/ascii_ns.js.map +1 -1
- package/dist/lib/measurement.js +1 -0
- package/dist/lib/measurement.js.map +1 -1
- package/dist/lib/protobufs/main_pb.d.ts +61 -7
- package/dist/lib/protobufs/main_pb.js +465 -50
- package/dist/lib/protobufs/main_pb.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pvt_sequence.js","sourceRoot":"","sources":["../../../src/ascii/pvt_sequence.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 * as gateway from '../gateway';\nimport { Measurement } from '../measurement';\nimport { PvtBuffer } from './pvt_buffer';\nimport { PvtMode } from './pvt_mode';\nimport { PvtAxisDefinition } from './pvt_axis_definition';\n\n/**\n * A handle for a PVT sequence with this number on the device.\n * PVT sequences provide a way execute or store trajectory\n * consisting of points with defined position, velocity, and time.\n * PVT sequence methods append actions to a queue which executes\n * or stores actions in a first in, first out order.\n */\nexport class PvtSequence {\n /**\n * Device that controls this PVT sequence.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * The number that identifies the PVT sequence on the device.\n */\n public get pvtId(): number {\n return this._pvtId;\n }\n private _pvtId: number;\n\n /**\n * Current mode of the PVT sequence.\n */\n public get mode(): PvtMode {\n return this._retrieveMode();\n }\n\n /**\n * An array of axes definitions the PVT sequence is set up to control.\n */\n public get axes(): PvtAxisDefinition[] {\n return this._retrieveAxes();\n }\n\n constructor(device: Device, pvtId: number) {\n this._device = device;\n this._pvtId = pvtId;\n }\n\n /**\n * Setup the PVT sequence to control the specified axes and to queue actions on the device.\n * Allows use of lockstep axes in a PVT sequence.\n * @param axes Definition of the PVT sequence axes.\n */\n public async setupLiveComposite(\n ...axes: PvtAxisDefinition[]\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.pvtId);\n request.setPvt(true);\n request.setAxesList(axes.map(PvtAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_live_composite', request);\n }\n\n /**\n * Setup the PVT sequence to control the specified axes and to queue actions on the device.\n * @param axes Numbers of physical axes to setup the PVT sequence 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.pvtId);\n request.setPvt(true);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_live', request);\n }\n\n /**\n * Setup the PVT sequence to use the specified axes and queue actions into a PVT buffer.\n * Allows use of lockstep axes in a PVT sequence.\n * @param pvtBuffer The PVT buffer to queue actions in.\n * @param axes Definition of the PVT sequence axes.\n */\n public async setupStoreComposite(\n pvtBuffer: PvtBuffer,\n ...axes: PvtAxisDefinition[]\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n request.setAxesList(axes.map(PvtAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_store_composite', request);\n }\n\n /**\n * Setup the PVT sequence to use the specified axes and queue actions into a PVT buffer.\n * @param pvtBuffer The PVT buffer to queue actions in.\n * @param axes Numbers of physical axes to setup the PVT sequence on.\n */\n public async setupStore(\n pvtBuffer: PvtBuffer,\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_store', request);\n }\n\n /**\n * Append the actions in a PVT buffer to the sequence's queue.\n * @param pvtBuffer The PVT buffer to call.\n */\n public async call(\n pvtBuffer: PvtBuffer\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n\n await gateway.callAsync('device/stream_call', request);\n }\n\n /**\n * Queues a point with absolute coordinates in the PVT sequence.\n * @param positions Positions for the axes to move through, relative to their home positions.\n * @param velocities The axes velocities at the given point.\n * @param time The duration between the previous point in the sequence and this one.\n */\n public async point(\n positions: Measurement[],\n velocities: Measurement[],\n time: Measurement\n ): Promise<void> {\n const request = new gateway.PvtPointRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setType(gateway.PvtPointRequest.Type.ABS);\n request.setPositionsList(positions.map(Measurement.toProtobuf));\n request.setVelocitiesList(velocities.map(Measurement.toProtobuf));\n request.setTime(Measurement.toProtobuf(time));\n\n await gateway.callAsync('device/stream_point', request);\n }\n\n /**\n * Queues a point with coordinates relative to the previous point in the PVT sequence.\n * @param positions Positions for the axes to move through, relative to the previous point.\n * @param velocities The axes velocities at the given point.\n * @param time The duration between the previous point in the sequence and this one.\n */\n public async pointRelative(\n positions: Measurement[],\n velocities: Measurement[],\n time: Measurement\n ): Promise<void> {\n const request = new gateway.PvtPointRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setType(gateway.PvtPointRequest.Type.REL);\n request.setPositionsList(positions.map(Measurement.toProtobuf));\n request.setVelocitiesList(velocities.map(Measurement.toProtobuf));\n request.setTime(Measurement.toProtobuf(time));\n\n await gateway.callAsync('device/stream_point', 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.pvtId);\n request.setPvt(true);\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.pvtId);\n request.setPvt(true);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_analog_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.pvtId);\n request.setPvt(true);\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 The values to set the output channels to, in Volts.\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.pvtId);\n request.setPvt(true);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_analog_outputs', request);\n }\n\n /**\n * Waits until the live PVT sequence executes all queued actions.\n * @param [options.throwErrorOnFault=true] Determines whether to throw error when fault is observed.\n */\n public async waitUntilIdle(\n options: PvtSequence.WaitUntilIdleOptions = {}\n ): Promise<void> {\n const {\n throwErrorOnFault = true,\n } = options;\n const request = new gateway.StreamWaitUntilIdleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setThrowErrorOnFault(throwErrorOnFault);\n\n await gateway.callAsync('device/stream_wait_until_idle', request);\n }\n\n /**\n * Cork the front of the PVT sequences'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 PVT commands reaching the device late.\n * You can only cork an idle live PVT sequence.\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.pvtId);\n request.setPvt(true);\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 PVT sequence 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.pvtId);\n request.setPvt(true);\n\n await gateway.callAsync('device/stream_uncork', request);\n }\n\n /**\n * Returns a boolean value indicating whether the live PVT sequence is executing a queued action.\n * @returns True if the PVT sequence 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.pvtId);\n request.setPvt(true);\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 * Returns a string which represents the PVT sequence.\n * @returns String which represents the PVT sequence.\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.pvtId);\n request.setPvt(true);\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 * Disables the PVT sequence.\n * If the PVT sequence is not setup, this command does nothing.\n * Once disabled, the PVT sequence will no longer accept PVT commands.\n * The PVT sequence 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.pvtId);\n request.setPvt(true);\n\n await gateway.callAsync('device/stream_disable', request);\n }\n\n /**\n * Sends a generic ASCII command to the PVT sequence.\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.pvtId);\n request.setPvt(true);\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 PVT sequence.\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.pvtId);\n request.setPvt(true);\n request.setBatchList(batch);\n\n await gateway.callAsync('device/stream_generic_command_batch', request);\n }\n\n /**\n * Queries the PVT sequence status from the device\n * and returns boolean indicating whether the PVT sequence is disabled.\n * Useful to determine if execution was interrupted by other movements.\n * @returns True if the PVT sequence is disabled.\n */\n public async checkDisabled(): 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.pvtId);\n request.setPvt(true);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/stream_check_disabled',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Makes the PVT sequence throw PvtDiscontinuityException when it encounters discontinuities (ND warning flag).\n */\n public treatDiscontinuitiesAsError(): void {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n gateway.callSync('device/stream_treat_discontinuities', request);\n }\n\n /**\n * Prevents PvtDiscontinuityException as a result of expected discontinuity when resuming the sequence.\n */\n public ignoreCurrentDiscontinuity(): void {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n gateway.callSync('device/stream_ignore_discontinuity', request);\n }\n\n /**\n * Gets the axes of the PVT sequence.\n * @returns An array of axis numbers of the axes the PVT sequence is set up to control.\n */\n private _retrieveAxes(): PvtAxisDefinition[] {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n const response = gateway.callSync<gateway.StreamGetAxesResponse>(\n 'device/stream_get_axes',\n request,\n gateway.StreamGetAxesResponse);\n return response.getAxesList().map(a => PvtAxisDefinition.fromProtobuf(a.toObject()));\n }\n\n /**\n * Get the mode of the PVT sequence.\n * @returns Mode of the PVT sequence.\n */\n private _retrieveMode(): PvtMode {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\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\nnamespace PvtSequence {\n export interface WaitUntilIdleOptions {\n throwErrorOnFault?: boolean;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pvt_sequence.js","sourceRoot":"","sources":["../../../src/ascii/pvt_sequence.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 * as gateway from '../gateway';\nimport { Measurement } from '../measurement';\nimport { PvtBuffer } from './pvt_buffer';\nimport { PvtMode } from './pvt_mode';\nimport { PvtAxisDefinition } from './pvt_axis_definition';\n\n/**\n * A handle for a PVT sequence with this number on the device.\n * PVT sequences provide a way execute or store trajectory\n * consisting of points with defined position, velocity, and time.\n * PVT sequence methods append actions to a queue which executes\n * or stores actions in a first in, first out order.\n */\nexport class PvtSequence {\n /**\n * Device that controls this PVT sequence.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * The number that identifies the PVT sequence on the device.\n */\n public get pvtId(): number {\n return this._pvtId;\n }\n private _pvtId: number;\n\n /**\n * Current mode of the PVT sequence.\n */\n public get mode(): PvtMode {\n return this._retrieveMode();\n }\n\n /**\n * An array of axes definitions the PVT sequence is set up to control.\n */\n public get axes(): PvtAxisDefinition[] {\n return this._retrieveAxes();\n }\n\n constructor(device: Device, pvtId: number) {\n this._device = device;\n this._pvtId = pvtId;\n }\n\n /**\n * Setup the PVT sequence to control the specified axes and to queue actions on the device.\n * Allows use of lockstep axes in a PVT sequence.\n * @param axes Definition of the PVT sequence axes.\n */\n public async setupLiveComposite(\n ...axes: PvtAxisDefinition[]\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.pvtId);\n request.setPvt(true);\n request.setAxesList(axes.map(PvtAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_live_composite', request);\n }\n\n /**\n * Setup the PVT sequence to control the specified axes and to queue actions on the device.\n * @param axes Numbers of physical axes to setup the PVT sequence 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.pvtId);\n request.setPvt(true);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_live', request);\n }\n\n /**\n * Setup the PVT sequence to use the specified axes and queue actions into a PVT buffer.\n * Allows use of lockstep axes in a PVT sequence.\n * @param pvtBuffer The PVT buffer to queue actions in.\n * @param axes Definition of the PVT sequence axes.\n */\n public async setupStoreComposite(\n pvtBuffer: PvtBuffer,\n ...axes: PvtAxisDefinition[]\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n request.setAxesList(axes.map(PvtAxisDefinition.toProtobuf));\n\n await gateway.callAsync('device/stream_setup_store_composite', request);\n }\n\n /**\n * Setup the PVT sequence to use the specified axes and queue actions into a PVT buffer.\n * @param pvtBuffer The PVT buffer to queue actions in.\n * @param axes Numbers of physical axes to setup the PVT sequence on.\n */\n public async setupStore(\n pvtBuffer: PvtBuffer,\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n request.setAxesList(axes);\n\n await gateway.callAsync('device/stream_setup_store', request);\n }\n\n /**\n * Append the actions in a PVT buffer to the sequence's queue.\n * @param pvtBuffer The PVT buffer to call.\n */\n public async call(\n pvtBuffer: PvtBuffer\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.pvtId);\n request.setPvt(true);\n request.setPvtBuffer(pvtBuffer.bufferId);\n\n await gateway.callAsync('device/stream_call', request);\n }\n\n /**\n * Queues a point with absolute coordinates in the PVT sequence.\n * If some or all velocities are not provided, the sequence calculates the velocities\n * from surrounding points using finite difference.\n * The last point of the sequence must have defined velocity (likely zero).\n * @param positions Positions for the axes to move through, relative to their home positions.\n * @param velocities The axes velocities at the given point.\n * Specify an empty array or null for specific axes to make the sequence calculate the velocity.\n * @param time The duration between the previous point in the sequence and this one.\n */\n public async point(\n positions: Measurement[],\n velocities: (Measurement | null)[],\n time: Measurement\n ): Promise<void> {\n const request = new gateway.PvtPointRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setType(gateway.PvtPointRequest.Type.ABS);\n request.setPositionsList(positions.map(Measurement.toProtobuf));\n request.setVelocitiesList(velocities.map(Measurement.toProtobuf));\n request.setTime(Measurement.toProtobuf(time));\n\n await gateway.callAsync('device/stream_point', request);\n }\n\n /**\n * Queues a point with coordinates relative to the previous point in the PVT sequence.\n * If some or all velocities are not provided, the sequence calculates the velocities\n * from surrounding points using finite difference.\n * The last point of the sequence must have defined velocity (likely zero).\n * @param positions Positions for the axes to move through, relative to the previous point.\n * @param velocities The axes velocities at the given point.\n * Specify an empty array or null for specific axes to make the sequence calculate the velocity.\n * @param time The duration between the previous point in the sequence and this one.\n */\n public async pointRelative(\n positions: Measurement[],\n velocities: (Measurement | null)[],\n time: Measurement\n ): Promise<void> {\n const request = new gateway.PvtPointRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setType(gateway.PvtPointRequest.Type.REL);\n request.setPositionsList(positions.map(Measurement.toProtobuf));\n request.setVelocitiesList(velocities.map(Measurement.toProtobuf));\n request.setTime(Measurement.toProtobuf(time));\n\n await gateway.callAsync('device/stream_point', 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.pvtId);\n request.setPvt(true);\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.pvtId);\n request.setPvt(true);\n request.setChannelNumber(channelNumber);\n request.setValue(value);\n\n await gateway.callAsync('device/stream_set_analog_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.pvtId);\n request.setPvt(true);\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 The values to set the output channels to, in Volts.\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.pvtId);\n request.setPvt(true);\n request.setValuesList(values);\n\n await gateway.callAsync('device/stream_set_all_analog_outputs', request);\n }\n\n /**\n * Waits until the live PVT sequence executes all queued actions.\n * @param [options.throwErrorOnFault=true] Determines whether to throw error when fault is observed.\n */\n public async waitUntilIdle(\n options: PvtSequence.WaitUntilIdleOptions = {}\n ): Promise<void> {\n const {\n throwErrorOnFault = true,\n } = options;\n const request = new gateway.StreamWaitUntilIdleRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n request.setThrowErrorOnFault(throwErrorOnFault);\n\n await gateway.callAsync('device/stream_wait_until_idle', request);\n }\n\n /**\n * Cork the front of the PVT sequences'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 PVT commands reaching the device late.\n * You can only cork an idle live PVT sequence.\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.pvtId);\n request.setPvt(true);\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 PVT sequence 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.pvtId);\n request.setPvt(true);\n\n await gateway.callAsync('device/stream_uncork', request);\n }\n\n /**\n * Returns a boolean value indicating whether the live PVT sequence is executing a queued action.\n * @returns True if the PVT sequence 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.pvtId);\n request.setPvt(true);\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 * Returns a string which represents the PVT sequence.\n * @returns String which represents the PVT sequence.\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.pvtId);\n request.setPvt(true);\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 * Disables the PVT sequence.\n * If the PVT sequence is not setup, this command does nothing.\n * Once disabled, the PVT sequence will no longer accept PVT commands.\n * The PVT sequence 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.pvtId);\n request.setPvt(true);\n\n await gateway.callAsync('device/stream_disable', request);\n }\n\n /**\n * Sends a generic ASCII command to the PVT sequence.\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.pvtId);\n request.setPvt(true);\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 PVT sequence.\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.pvtId);\n request.setPvt(true);\n request.setBatchList(batch);\n\n await gateway.callAsync('device/stream_generic_command_batch', request);\n }\n\n /**\n * Queries the PVT sequence status from the device\n * and returns boolean indicating whether the PVT sequence is disabled.\n * Useful to determine if execution was interrupted by other movements.\n * @returns True if the PVT sequence is disabled.\n */\n public async checkDisabled(): 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.pvtId);\n request.setPvt(true);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/stream_check_disabled',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Makes the PVT sequence throw PvtDiscontinuityException when it encounters discontinuities (ND warning flag).\n */\n public treatDiscontinuitiesAsError(): void {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n gateway.callSync('device/stream_treat_discontinuities', request);\n }\n\n /**\n * Prevents PvtDiscontinuityException as a result of expected discontinuity when resuming the sequence.\n */\n public ignoreCurrentDiscontinuity(): void {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n gateway.callSync('device/stream_ignore_discontinuity', request);\n }\n\n /**\n * Gets the axes of the PVT sequence.\n * @returns An array of axis numbers of the axes the PVT sequence is set up to control.\n */\n private _retrieveAxes(): PvtAxisDefinition[] {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\n\n const response = gateway.callSync<gateway.StreamGetAxesResponse>(\n 'device/stream_get_axes',\n request,\n gateway.StreamGetAxesResponse);\n return response.getAxesList().map(a => PvtAxisDefinition.fromProtobuf(a.toObject()));\n }\n\n /**\n * Get the mode of the PVT sequence.\n * @returns Mode of the PVT sequence.\n */\n private _retrieveMode(): PvtMode {\n const request = new gateway.StreamEmptyRequest();\n request.setInterfaceId(this.device.connection.interfaceId);\n request.setDevice(this.device.deviceAddress);\n request.setStreamId(this.pvtId);\n request.setPvt(true);\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\nnamespace PvtSequence {\n export interface WaitUntilIdleOptions {\n throwErrorOnFault?: boolean;\n }\n}\n"]}
|
|
@@ -99,20 +99,20 @@ export declare class Stream {
|
|
|
99
99
|
* Queue an absolute arc movement on the first two axes of the stream.
|
|
100
100
|
* Absolute meaning that the home positions of the axes is treated as the origin.
|
|
101
101
|
* @param rotationDirection The direction of the rotation.
|
|
102
|
-
* @param centerX The first
|
|
103
|
-
* @param centerY The second
|
|
104
|
-
* @param endX The first
|
|
105
|
-
* @param endY The second
|
|
102
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
103
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
104
|
+
* @param endX The first dimension of the end position of the arc.
|
|
105
|
+
* @param endY The second dimension of the end position of the arc.
|
|
106
106
|
*/
|
|
107
107
|
arcAbsolute(rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement): Promise<void>;
|
|
108
108
|
/**
|
|
109
109
|
* Queue a relative arc movement on the first two axes of the stream.
|
|
110
110
|
* Relative meaning that the current position of the axes is treated as the origin.
|
|
111
111
|
* @param rotationDirection The direction of the rotation.
|
|
112
|
-
* @param centerX The first
|
|
113
|
-
* @param centerY The second
|
|
114
|
-
* @param endX The first
|
|
115
|
-
* @param endY The second
|
|
112
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
113
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
114
|
+
* @param endX The first dimension of the end position of the arc.
|
|
115
|
+
* @param endY The second dimension of the end position of the arc.
|
|
116
116
|
*/
|
|
117
117
|
arcRelative(rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement): Promise<void>;
|
|
118
118
|
/**
|
|
@@ -123,10 +123,10 @@ export declare class Stream {
|
|
|
123
123
|
* Refers to the axes provided during the stream setup or further execution.
|
|
124
124
|
* Indices are zero-based.
|
|
125
125
|
* @param rotationDirection The direction of the rotation.
|
|
126
|
-
* @param centerX The first
|
|
127
|
-
* @param centerY The second
|
|
128
|
-
* @param endX The first
|
|
129
|
-
* @param endY The second
|
|
126
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
127
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
128
|
+
* @param endX The first dimension of the end position of the arc.
|
|
129
|
+
* @param endY The second dimension of the end position of the arc.
|
|
130
130
|
*/
|
|
131
131
|
arcAbsoluteOn(targetAxesIndices: number[], rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement): Promise<void>;
|
|
132
132
|
/**
|
|
@@ -137,12 +137,44 @@ export declare class Stream {
|
|
|
137
137
|
* Refers to the axes provided during the stream setup or further execution.
|
|
138
138
|
* Indices are zero-based.
|
|
139
139
|
* @param rotationDirection The direction of the rotation.
|
|
140
|
-
* @param centerX The first
|
|
141
|
-
* @param centerY The second
|
|
142
|
-
* @param endX The first
|
|
143
|
-
* @param endY The second
|
|
140
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
141
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
142
|
+
* @param endX The first dimension of the end position of the arc.
|
|
143
|
+
* @param endY The second dimension of the end position of the arc.
|
|
144
144
|
*/
|
|
145
145
|
arcRelativeOn(targetAxesIndices: number[], rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Queue an absolute helix movement in the stream.
|
|
148
|
+
* Requires at least Firmware 7.28.
|
|
149
|
+
* @param targetAxesIndices Indices of the axes in the stream the movement targets.
|
|
150
|
+
* Refers to the axes provided during the stream setup or further execution.
|
|
151
|
+
* Indices are zero-based.
|
|
152
|
+
* The first two axes refer to the helix's arc component,
|
|
153
|
+
* while the rest refers to the helix's line component.
|
|
154
|
+
* @param rotationDirection The direction of the rotation.
|
|
155
|
+
* @param centerX The first dimension of the position of the center of the circle on which the helix projects.
|
|
156
|
+
* @param centerY The second dimension of the position of the center of the circle on which the helix projects.
|
|
157
|
+
* @param endX The first dimension of the end position of the helix's arc component.
|
|
158
|
+
* @param endY The second dimension of the end position of the helix's arc component.
|
|
159
|
+
* @param endpoint Positions for the helix's line component axes, relative to their home positions.
|
|
160
|
+
*/
|
|
161
|
+
helixAbsoluteOn(targetAxesIndices: number[], rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement, ...endpoint: Measurement[]): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Queue a relative helix movement in the stream.
|
|
164
|
+
* Requires at least Firmware 7.28.
|
|
165
|
+
* @param targetAxesIndices Indices of the axes in the stream the movement targets.
|
|
166
|
+
* Refers to the axes provided during the stream setup or further execution.
|
|
167
|
+
* Indices are zero-based.
|
|
168
|
+
* The first two axes refer to the helix's arc component,
|
|
169
|
+
* while the rest refers to the helix's line component.
|
|
170
|
+
* @param rotationDirection The direction of the rotation.
|
|
171
|
+
* @param centerX The first dimension of the position of the center of the circle on which the helix projects.
|
|
172
|
+
* @param centerY The second dimension of the position of the center of the circle on which the helix projects.
|
|
173
|
+
* @param endX The first dimension of the end position of the helix's arc component.
|
|
174
|
+
* @param endY The second dimension of the end position of the helix's arc component.
|
|
175
|
+
* @param endpoint Positions for the helix's line component axes, relative to their positions before movement.
|
|
176
|
+
*/
|
|
177
|
+
helixRelativeOn(targetAxesIndices: number[], rotationDirection: RotationDirection, centerX: Measurement, centerY: Measurement, endX: Measurement, endY: Measurement, ...endpoint: Measurement[]): Promise<void>;
|
|
146
178
|
/**
|
|
147
179
|
* Queue an absolute circle movement on the first two axes of the stream.
|
|
148
180
|
* Absolute meaning that the home positions of the axes are treated as the origin.
|
package/dist/lib/ascii/stream.js
CHANGED
|
@@ -212,10 +212,10 @@ class Stream {
|
|
|
212
212
|
* Queue an absolute arc movement on the first two axes of the stream.
|
|
213
213
|
* Absolute meaning that the home positions of the axes is treated as the origin.
|
|
214
214
|
* @param rotationDirection The direction of the rotation.
|
|
215
|
-
* @param centerX The first
|
|
216
|
-
* @param centerY The second
|
|
217
|
-
* @param endX The first
|
|
218
|
-
* @param endY The second
|
|
215
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
216
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
217
|
+
* @param endX The first dimension of the end position of the arc.
|
|
218
|
+
* @param endY The second dimension of the end position of the arc.
|
|
219
219
|
*/
|
|
220
220
|
async arcAbsolute(rotationDirection, centerX, centerY, endX, endY) {
|
|
221
221
|
const request = new gateway.StreamArcRequest();
|
|
@@ -234,10 +234,10 @@ class Stream {
|
|
|
234
234
|
* Queue a relative arc movement on the first two axes of the stream.
|
|
235
235
|
* Relative meaning that the current position of the axes is treated as the origin.
|
|
236
236
|
* @param rotationDirection The direction of the rotation.
|
|
237
|
-
* @param centerX The first
|
|
238
|
-
* @param centerY The second
|
|
239
|
-
* @param endX The first
|
|
240
|
-
* @param endY The second
|
|
237
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
238
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
239
|
+
* @param endX The first dimension of the end position of the arc.
|
|
240
|
+
* @param endY The second dimension of the end position of the arc.
|
|
241
241
|
*/
|
|
242
242
|
async arcRelative(rotationDirection, centerX, centerY, endX, endY) {
|
|
243
243
|
const request = new gateway.StreamArcRequest();
|
|
@@ -260,10 +260,10 @@ class Stream {
|
|
|
260
260
|
* Refers to the axes provided during the stream setup or further execution.
|
|
261
261
|
* Indices are zero-based.
|
|
262
262
|
* @param rotationDirection The direction of the rotation.
|
|
263
|
-
* @param centerX The first
|
|
264
|
-
* @param centerY The second
|
|
265
|
-
* @param endX The first
|
|
266
|
-
* @param endY The second
|
|
263
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
264
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
265
|
+
* @param endX The first dimension of the end position of the arc.
|
|
266
|
+
* @param endY The second dimension of the end position of the arc.
|
|
267
267
|
*/
|
|
268
268
|
async arcAbsoluteOn(targetAxesIndices, rotationDirection, centerX, centerY, endX, endY) {
|
|
269
269
|
const request = new gateway.StreamArcRequest();
|
|
@@ -287,10 +287,10 @@ class Stream {
|
|
|
287
287
|
* Refers to the axes provided during the stream setup or further execution.
|
|
288
288
|
* Indices are zero-based.
|
|
289
289
|
* @param rotationDirection The direction of the rotation.
|
|
290
|
-
* @param centerX The first
|
|
291
|
-
* @param centerY The second
|
|
292
|
-
* @param endX The first
|
|
293
|
-
* @param endY The second
|
|
290
|
+
* @param centerX The first dimension of the position of the center of the circle on which the arc exists.
|
|
291
|
+
* @param centerY The second dimension of the position of the center of the circle on which the arc exists.
|
|
292
|
+
* @param endX The first dimension of the end position of the arc.
|
|
293
|
+
* @param endY The second dimension of the end position of the arc.
|
|
294
294
|
*/
|
|
295
295
|
async arcRelativeOn(targetAxesIndices, rotationDirection, centerX, centerY, endX, endY) {
|
|
296
296
|
const request = new gateway.StreamArcRequest();
|
|
@@ -306,6 +306,66 @@ class Stream {
|
|
|
306
306
|
request.setEndY(measurement_1.Measurement.toProtobuf(endY));
|
|
307
307
|
await gateway.callAsync('device/stream_arc', request);
|
|
308
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Queue an absolute helix movement in the stream.
|
|
311
|
+
* Requires at least Firmware 7.28.
|
|
312
|
+
* @param targetAxesIndices Indices of the axes in the stream the movement targets.
|
|
313
|
+
* Refers to the axes provided during the stream setup or further execution.
|
|
314
|
+
* Indices are zero-based.
|
|
315
|
+
* The first two axes refer to the helix's arc component,
|
|
316
|
+
* while the rest refers to the helix's line component.
|
|
317
|
+
* @param rotationDirection The direction of the rotation.
|
|
318
|
+
* @param centerX The first dimension of the position of the center of the circle on which the helix projects.
|
|
319
|
+
* @param centerY The second dimension of the position of the center of the circle on which the helix projects.
|
|
320
|
+
* @param endX The first dimension of the end position of the helix's arc component.
|
|
321
|
+
* @param endY The second dimension of the end position of the helix's arc component.
|
|
322
|
+
* @param endpoint Positions for the helix's line component axes, relative to their home positions.
|
|
323
|
+
*/
|
|
324
|
+
async helixAbsoluteOn(targetAxesIndices, rotationDirection, centerX, centerY, endX, endY, ...endpoint) {
|
|
325
|
+
const request = new gateway.StreamArcRequest();
|
|
326
|
+
request.setInterfaceId(this.device.connection.interfaceId);
|
|
327
|
+
request.setDevice(this.device.deviceAddress);
|
|
328
|
+
request.setStreamId(this.streamId);
|
|
329
|
+
request.setType(gateway.StreamArcRequest.Type.ABS);
|
|
330
|
+
request.setTargetAxesIndicesList(targetAxesIndices);
|
|
331
|
+
request.setRotationDirection(rotationDirection);
|
|
332
|
+
request.setCenterX(measurement_1.Measurement.toProtobuf(centerX));
|
|
333
|
+
request.setCenterY(measurement_1.Measurement.toProtobuf(centerY));
|
|
334
|
+
request.setEndX(measurement_1.Measurement.toProtobuf(endX));
|
|
335
|
+
request.setEndY(measurement_1.Measurement.toProtobuf(endY));
|
|
336
|
+
request.setEndpointList(endpoint.map(measurement_1.Measurement.toProtobuf));
|
|
337
|
+
await gateway.callAsync('device/stream_helix', request);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Queue a relative helix movement in the stream.
|
|
341
|
+
* Requires at least Firmware 7.28.
|
|
342
|
+
* @param targetAxesIndices Indices of the axes in the stream the movement targets.
|
|
343
|
+
* Refers to the axes provided during the stream setup or further execution.
|
|
344
|
+
* Indices are zero-based.
|
|
345
|
+
* The first two axes refer to the helix's arc component,
|
|
346
|
+
* while the rest refers to the helix's line component.
|
|
347
|
+
* @param rotationDirection The direction of the rotation.
|
|
348
|
+
* @param centerX The first dimension of the position of the center of the circle on which the helix projects.
|
|
349
|
+
* @param centerY The second dimension of the position of the center of the circle on which the helix projects.
|
|
350
|
+
* @param endX The first dimension of the end position of the helix's arc component.
|
|
351
|
+
* @param endY The second dimension of the end position of the helix's arc component.
|
|
352
|
+
* @param endpoint Positions for the helix's line component axes, relative to their positions before movement.
|
|
353
|
+
*/
|
|
354
|
+
async helixRelativeOn(targetAxesIndices, rotationDirection, centerX, centerY, endX, endY, ...endpoint) {
|
|
355
|
+
const request = new gateway.StreamArcRequest();
|
|
356
|
+
request.setInterfaceId(this.device.connection.interfaceId);
|
|
357
|
+
request.setDevice(this.device.deviceAddress);
|
|
358
|
+
request.setStreamId(this.streamId);
|
|
359
|
+
request.setType(gateway.StreamArcRequest.Type.REL);
|
|
360
|
+
request.setTargetAxesIndicesList(targetAxesIndices);
|
|
361
|
+
request.setRotationDirection(rotationDirection);
|
|
362
|
+
request.setCenterX(measurement_1.Measurement.toProtobuf(centerX));
|
|
363
|
+
request.setCenterY(measurement_1.Measurement.toProtobuf(centerY));
|
|
364
|
+
request.setEndX(measurement_1.Measurement.toProtobuf(endX));
|
|
365
|
+
request.setEndY(measurement_1.Measurement.toProtobuf(endY));
|
|
366
|
+
request.setEndpointList(endpoint.map(measurement_1.Measurement.toProtobuf));
|
|
367
|
+
await gateway.callAsync('device/stream_helix', request);
|
|
368
|
+
}
|
|
309
369
|
/**
|
|
310
370
|
* Queue an absolute circle movement on the first two axes of the stream.
|
|
311
371
|
* Absolute meaning that the home positions of the axes are treated as the origin.
|