@zaber/motion 2.13.0 → 2.14.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.
Files changed (126) hide show
  1. package/dist/binding/wasm/zaber-motion-lib.wasm +0 -0
  2. package/dist/lib/ascii/all_axes.d.ts +5 -0
  3. package/dist/lib/ascii/all_axes.js +25 -9
  4. package/dist/lib/ascii/all_axes.js.map +1 -1
  5. package/dist/lib/ascii/axis.d.ts +5 -0
  6. package/dist/lib/ascii/axis.js +39 -23
  7. package/dist/lib/ascii/axis.js.map +1 -1
  8. package/dist/lib/ascii/axis_settings.d.ts +26 -0
  9. package/dist/lib/ascii/axis_settings.js +67 -5
  10. package/dist/lib/ascii/axis_settings.js.map +1 -1
  11. package/dist/lib/ascii/connection.js +17 -13
  12. package/dist/lib/ascii/connection.js.map +1 -1
  13. package/dist/lib/ascii/conversion_factor.d.ts +21 -0
  14. package/dist/lib/ascii/conversion_factor.js +46 -0
  15. package/dist/lib/ascii/conversion_factor.js.map +1 -0
  16. package/dist/lib/ascii/device.js +21 -17
  17. package/dist/lib/ascii/device.js.map +1 -1
  18. package/dist/lib/ascii/device_io.js +10 -6
  19. package/dist/lib/ascii/device_io.js.map +1 -1
  20. package/dist/lib/ascii/device_settings.d.ts +19 -0
  21. package/dist/lib/ascii/device_settings.js +50 -5
  22. package/dist/lib/ascii/device_settings.js.map +1 -1
  23. package/dist/lib/ascii/index.d.ts +2 -1
  24. package/dist/lib/ascii/index.js +5 -3
  25. package/dist/lib/ascii/index.js.map +1 -1
  26. package/dist/lib/ascii/lockstep.js +18 -14
  27. package/dist/lib/ascii/lockstep.js.map +1 -1
  28. package/dist/lib/ascii/oscilloscope.js +10 -6
  29. package/dist/lib/ascii/oscilloscope.js.map +1 -1
  30. package/dist/lib/ascii/oscilloscope_data.d.ts +1 -7
  31. package/dist/lib/ascii/oscilloscope_data.js +14 -27
  32. package/dist/lib/ascii/oscilloscope_data.js.map +1 -1
  33. package/dist/lib/ascii/servo_tuner.d.ts +2 -2
  34. package/dist/lib/ascii/servo_tuner.js +14 -10
  35. package/dist/lib/ascii/servo_tuner.js.map +1 -1
  36. package/dist/lib/ascii/servo_tuning_param.js +5 -1
  37. package/dist/lib/ascii/servo_tuning_param.js.map +1 -1
  38. package/dist/lib/ascii/setting_constants.d.ts +4 -0
  39. package/dist/lib/ascii/setting_constants.js +4 -0
  40. package/dist/lib/ascii/setting_constants.js.map +1 -1
  41. package/dist/lib/ascii/{simple_tuning_param.d.ts → simple_tuning_param_definition.d.ts} +3 -3
  42. package/dist/lib/ascii/simple_tuning_param_definition.js +20 -0
  43. package/dist/lib/ascii/simple_tuning_param_definition.js.map +1 -0
  44. package/dist/lib/ascii/storage.d.ts +10 -0
  45. package/dist/lib/ascii/storage.js +38 -11
  46. package/dist/lib/ascii/storage.js.map +1 -1
  47. package/dist/lib/ascii/stream.js +25 -21
  48. package/dist/lib/ascii/stream.js.map +1 -1
  49. package/dist/lib/ascii/stream_axis_definition.js +5 -1
  50. package/dist/lib/ascii/stream_axis_definition.js.map +1 -1
  51. package/dist/lib/ascii/stream_buffer.js +5 -1
  52. package/dist/lib/ascii/stream_buffer.js.map +1 -1
  53. package/dist/lib/ascii/transport.js +7 -3
  54. package/dist/lib/ascii/transport.js.map +1 -1
  55. package/dist/lib/ascii/warnings.js +5 -1
  56. package/dist/lib/ascii/warnings.js.map +1 -1
  57. package/dist/lib/ascii_ns.d.ts +4 -2
  58. package/dist/lib/ascii_ns.js +7 -2
  59. package/dist/lib/ascii_ns.js.map +1 -1
  60. package/dist/lib/binary/binary_settings.d.ts +2 -1
  61. package/dist/lib/binary/binary_settings.js +2 -1
  62. package/dist/lib/binary/binary_settings.js.map +1 -1
  63. package/dist/lib/binary/command_code.d.ts +2 -1
  64. package/dist/lib/binary/command_code.js +1 -0
  65. package/dist/lib/binary/command_code.js.map +1 -1
  66. package/dist/lib/binary/connection.js +13 -9
  67. package/dist/lib/binary/connection.js.map +1 -1
  68. package/dist/lib/binary/device.js +37 -33
  69. package/dist/lib/binary/device.js.map +1 -1
  70. package/dist/lib/binary/device_settings.js +6 -2
  71. package/dist/lib/binary/device_settings.js.map +1 -1
  72. package/dist/lib/binary/reply_code.d.ts +1 -0
  73. package/dist/lib/binary/reply_code.js +1 -0
  74. package/dist/lib/binary/reply_code.js.map +1 -1
  75. package/dist/lib/binary_ns.js +5 -1
  76. package/dist/lib/binary_ns.js.map +1 -1
  77. package/dist/lib/can_set_state_axis_response.d.ts +1 -1
  78. package/dist/lib/can_set_state_axis_response.js.map +1 -1
  79. package/dist/lib/can_set_state_device_response.d.ts +2 -2
  80. package/dist/lib/can_set_state_device_response.js +1 -1
  81. package/dist/lib/can_set_state_device_response.js.map +1 -1
  82. package/dist/lib/exceptions/device_db_failed_exception.d.ts +8 -1
  83. package/dist/lib/exceptions/device_db_failed_exception.js +16 -1
  84. package/dist/lib/exceptions/device_db_failed_exception.js.map +1 -1
  85. package/dist/lib/exceptions/device_db_failed_exception_data.d.ts +12 -0
  86. package/dist/lib/exceptions/device_db_failed_exception_data.js +17 -0
  87. package/dist/lib/exceptions/device_db_failed_exception_data.js.map +1 -0
  88. package/dist/lib/exceptions/index.d.ts +1 -0
  89. package/dist/lib/exceptions/index.js +4 -2
  90. package/dist/lib/exceptions/index.js.map +1 -1
  91. package/dist/lib/gateway/convert_exceptions.js +5 -1
  92. package/dist/lib/gateway/convert_exceptions.js.map +1 -1
  93. package/dist/lib/gateway/index.js +5 -1
  94. package/dist/lib/gateway/index.js.map +1 -1
  95. package/dist/lib/gateway/wasm-exec.js +58 -53
  96. package/dist/lib/gateway/wasm-exec.js.map +1 -1
  97. package/dist/lib/gcode/axis_definition.js +5 -1
  98. package/dist/lib/gcode/axis_definition.js.map +1 -1
  99. package/dist/lib/gcode/axis_mapping.js +5 -1
  100. package/dist/lib/gcode/axis_mapping.js.map +1 -1
  101. package/dist/lib/gcode/axis_transformation.js +5 -1
  102. package/dist/lib/gcode/axis_transformation.js.map +1 -1
  103. package/dist/lib/gcode/device_definition.js +5 -1
  104. package/dist/lib/gcode/device_definition.js.map +1 -1
  105. package/dist/lib/gcode/offline_translator.js +8 -4
  106. package/dist/lib/gcode/offline_translator.js.map +1 -1
  107. package/dist/lib/gcode/translator.js +8 -4
  108. package/dist/lib/gcode/translator.js.map +1 -1
  109. package/dist/lib/gcode/translator_config.js +5 -1
  110. package/dist/lib/gcode/translator_config.js.map +1 -1
  111. package/dist/lib/gcode_ns.js +5 -1
  112. package/dist/lib/gcode_ns.js.map +1 -1
  113. package/dist/lib/index.js +5 -1
  114. package/dist/lib/index.js.map +1 -1
  115. package/dist/lib/library.js +5 -1
  116. package/dist/lib/library.js.map +1 -1
  117. package/dist/lib/measurement.js +5 -1
  118. package/dist/lib/measurement.js.map +1 -1
  119. package/dist/lib/protobufs/main_pb.d.ts +352 -1940
  120. package/dist/lib/protobufs/main_pb.js +11166 -23229
  121. package/dist/lib/protobufs/main_pb.js.map +1 -1
  122. package/dist/lib/tools.js +6 -2
  123. package/dist/lib/tools.js.map +1 -1
  124. package/package.json +2 -2
  125. package/dist/lib/ascii/simple_tuning_param.js +0 -20
  126. package/dist/lib/ascii/simple_tuning_param.js.map +0 -1
@@ -3,7 +3,11 @@
3
3
  // ============= DO NOT EDIT DIRECTLY ============= //
4
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
5
  if (k2 === undefined) k2 = k;
6
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
7
11
  }) : (function(o, m, k, k2) {
8
12
  if (k2 === undefined) k2 = k;
9
13
  o[k2] = m[k];
@@ -83,7 +87,7 @@ class Connection {
83
87
  * Close the connection.
84
88
  */
85
89
  async close() {
86
- const request = new gateway.CloseInterfaceRequest();
90
+ const request = new gateway.InterfaceEmptyRequest();
87
91
  request.setInterfaceId(this.interfaceId);
88
92
  await gateway.callAsync('interface/close', request);
89
93
  }
@@ -144,17 +148,17 @@ class Connection {
144
148
  request.setTimeout(timeout);
145
149
  request.setCheckErrors(checkErrors);
146
150
  const response = await gateway.callAsync('binary/interface/generic_command_multi_response', request, gateway.BinaryMessageCollection);
147
- return response.toObject().messagesList.map(resp => message_1.Message.fromProtobuf(resp));
151
+ return response.getMessagesList().map(a => message_1.Message.fromProtobuf(a.toObject()));
148
152
  }
149
153
  /**
150
154
  * Renumbers devices present on this connection. After renumbering, you must identify devices again.
151
155
  * @return Total number of devices that responded to the renumber.
152
156
  */
153
157
  async renumberDevices() {
154
- const request = new gateway.BinaryDeviceRenumberRequest();
158
+ const request = new gateway.InterfaceEmptyRequest();
155
159
  request.setInterfaceId(this.interfaceId);
156
- const response = await gateway.callAsync('binary/device/renumber', request, gateway.BinaryDeviceRenumberResponse);
157
- return response.getNumberDevices();
160
+ const response = await gateway.callAsync('binary/device/renumber', request, gateway.IntResponse);
161
+ return response.getValue();
158
162
  }
159
163
  /**
160
164
  * Attempts to detect any devices present on this connection.
@@ -185,10 +189,10 @@ class Connection {
185
189
  * @return A string that represents the connection.
186
190
  */
187
191
  toString() {
188
- const request = new gateway.ToStringRequest();
192
+ const request = new gateway.InterfaceEmptyRequest();
189
193
  request.setInterfaceId(this.interfaceId);
190
- const response = gateway.callSync('interface/to_string', request, gateway.ToStringResponse);
191
- return response.getToStr();
194
+ const response = gateway.callSync('interface/to_string', request, gateway.StringResponse);
195
+ return response.getValue();
192
196
  }
193
197
  /**
194
198
  * Event invoked when connection is interrupted or closed.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/binary/connection.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map, filter, takeUntil, take } from 'rxjs/operators';\nimport * as gateway from '../gateway';\nimport { events, filterEvent } from '../gateway';\nimport { Device } from './device';\nimport { UnknownResponseEvent } from './unknown_response_event';\nimport { ReplyOnlyEvent } from './reply_only_event';\nimport { CommandCode } from './command_code';\nimport { Message } from './message';\nimport { MotionLibException } from '../exceptions';\n\n/**\n * Class representing access to particular connection (serial port, TCP connection) using the legacy Binary protocol.\n */\nexport class Connection {\n\n /**\n * Event invoked when a response from a device cannot be matched to any known request.\n */\n public unknownResponse!: Observable<UnknownResponseEvent>;\n\n /**\n * Event invoked when a reply-only command such as a move tracking message is received from a device.\n */\n public replyOnly!: Observable<ReplyOnlyEvent>;\n\n /**\n * Default baud rate for serial connections.\n */\n public static readonly DEFAULT_BAUD_RATE: number = 9600;\n\n /**\n * The interface ID identifies thisConnection instance with the underlying library.\n */\n public get interfaceId(): number {\n return this._interfaceId;\n }\n private _interfaceId: number;\n\n constructor(interfaceId: number) {\n this._interfaceId = interfaceId;\n this._subscribe();\n }\n\n /**\n * Opens a serial port.\n * @param portName Name of the port to open.\n * @param baudRate Optional baud rate (defaults to 9600).\n * @param useMessageIds Enable use of message IDs (defaults to disabled).\n * All your devices must be pre-configured to match.\n * @return An object representing the port.\n */\n public static async openSerialPort(\n portName: string,\n baudRate: number = Connection.DEFAULT_BAUD_RATE,\n useMessageIds: boolean = false\n ): Promise<Connection> {\n const request = new gateway.OpenBinaryInterfaceRequest();\n request.setInterfaceType(gateway.InterfaceType.SERIAL_PORT);\n request.setPortName(portName);\n request.setBaudRate(baudRate);\n request.setUseMessageIds(useMessageIds);\n\n const response = await gateway.callAsync<gateway.OpenInterfaceResponse>(\n 'binary/interface/open',\n request,\n gateway.OpenInterfaceResponse);\n return new Connection(response.getInterfaceId());\n }\n\n /**\n * Opens a TCP connection.\n * @param hostName Hostname or IP address.\n * @param port Optional port number (defaults to 8657).\n * @param useMessageIds Enable use of message IDs (defaults to disabled).\n * All your devices must be pre-configured to match.\n * @return An object representing the connection.\n */\n public static async openTcp(\n hostName: string,\n port: number = 0,\n useMessageIds: boolean = false\n ): Promise<Connection> {\n const request = new gateway.OpenBinaryInterfaceRequest();\n request.setInterfaceType(gateway.InterfaceType.TCP);\n request.setHostName(hostName);\n request.setPort(port);\n request.setUseMessageIds(useMessageIds);\n\n const response = await gateway.callAsync<gateway.OpenInterfaceResponse>(\n 'binary/interface/open',\n request,\n gateway.OpenInterfaceResponse);\n return new Connection(response.getInterfaceId());\n }\n\n /**\n * Close the connection.\n */\n public async close(): Promise<void> {\n const request = new gateway.CloseInterfaceRequest();\n request.setInterfaceId(this.interfaceId);\n\n await gateway.callAsync('interface/close', request);\n }\n\n /**\n * Sends a generic Binary command to this connection.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param device Device address to send the command to. Use zero for broadcast.\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when the device rejects the command.\n * @return A response to the command.\n */\n public async genericCommand(\n device: number,\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setDevice(device);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessage>(\n 'binary/interface/generic_command',\n request,\n gateway.BinaryMessage);\n return Message.fromProtobuf(response.toObject());\n }\n\n /**\n * Sends a generic Binary command to this connection without expecting a response.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param device Device address to send the command to. Use zero for broadcast.\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n */\n public async genericCommandNoResponse(\n device: number,\n command: CommandCode,\n data: number = 0\n ): Promise<void> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setDevice(device);\n request.setCommand(command as any);\n request.setData(data);\n\n await gateway.callAsync('binary/interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic Binary command to this connection and expects responses from one or more devices.\n * Responses are returned in order of arrival.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for all responses from the device chain. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when any device rejects the command.\n * @return All responses to the command.\n */\n public async genericCommandMultiResponse(\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message[]> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessageCollection>(\n 'binary/interface/generic_command_multi_response',\n request,\n gateway.BinaryMessageCollection);\n return response.toObject().messagesList.map(resp => Message.fromProtobuf(resp));\n }\n\n /**\n * Renumbers devices present on this connection. After renumbering, you must identify devices again.\n * @return Total number of devices that responded to the renumber.\n */\n public async renumberDevices(): Promise<number> {\n const request = new gateway.BinaryDeviceRenumberRequest();\n request.setInterfaceId(this.interfaceId);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceRenumberResponse>(\n 'binary/device/renumber',\n request,\n gateway.BinaryDeviceRenumberResponse);\n return response.getNumberDevices();\n }\n\n /**\n * Attempts to detect any devices present on this connection.\n * @param identifyDevices Determines whether device identification should be performed as well.\n * @return Array of detected devices.\n */\n public async detectDevices(\n identifyDevices: boolean = true\n ): Promise<Device[]> {\n const request = new gateway.BinaryDeviceDetectRequest();\n request.setInterfaceId(this.interfaceId);\n request.setIdentifyDevices(identifyDevices);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceDetectResponse>(\n 'binary/device/detect',\n request,\n gateway.BinaryDeviceDetectResponse);\n return response.getDevicesList().map(deviceAddress => this.getDevice(deviceAddress));\n }\n\n /**\n * Gets a Device class instance which allows you to control a particular device on this connection.\n * Devices are numbered from 1.\n * @param deviceAddress Address of device intended to control. Address is configured for each device.\n * @return Device instance.\n */\n public getDevice(\n deviceAddress: number\n ): Device {\n if (deviceAddress <= 0) {\n throw new TypeError('Invalid value; physical devices are numbered from 1.');\n }\n return new Device(this, deviceAddress);\n }\n\n /**\n * Returns a string that represents the connection.\n * @return A string that represents the connection.\n */\n public toString(): string {\n const request = new gateway.ToStringRequest();\n request.setInterfaceId(this.interfaceId);\n\n const response = gateway.callSync<gateway.ToStringResponse>(\n 'interface/to_string',\n request,\n gateway.ToStringResponse);\n return response.getToStr();\n }\n\n private _disconnected = new ReplaySubject<MotionLibException>();\n\n /**\n * Event invoked when connection is interrupted or closed.\n */\n public get disconnected(): Observable<MotionLibException> {\n return this._disconnected;\n }\n\n private _subscribe(): void {\n this.unknownResponse = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<gateway.UnknownBinaryResponseEvent.AsObject>('binary/interface/unknown_response'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => UnknownResponseEvent.fromProtobuf(event))\n );\n\n this.replyOnly = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<gateway.BinaryReplyOnlyEvent.AsObject>('binary/interface/reply_only'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => ReplyOnlyEvent.fromProtobuf(event))\n );\n\n events.pipe(\n filterEvent<gateway.DisconnectedEvent.AsObject>('interface/disconnected'),\n filter(event => event.interfaceId === this.interfaceId),\n take(1),\n map(({ errorMessage, errorType }) => gateway.convertToException(errorType, errorMessage))\n ).subscribe(this._disconnected);\n }\n}\n"]}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/binary/connection.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map, filter, takeUntil, take } from 'rxjs/operators';\nimport * as gateway from '../gateway';\nimport { events, filterEvent } from '../gateway';\nimport { Device } from './device';\nimport { UnknownResponseEvent } from './unknown_response_event';\nimport { ReplyOnlyEvent } from './reply_only_event';\nimport { CommandCode } from './command_code';\nimport { Message } from './message';\nimport { MotionLibException } from '../exceptions';\n\n/**\n * Class representing access to particular connection (serial port, TCP connection) using the legacy Binary protocol.\n */\nexport class Connection {\n\n /**\n * Event invoked when a response from a device cannot be matched to any known request.\n */\n public unknownResponse!: Observable<UnknownResponseEvent>;\n\n /**\n * Event invoked when a reply-only command such as a move tracking message is received from a device.\n */\n public replyOnly!: Observable<ReplyOnlyEvent>;\n\n /**\n * Default baud rate for serial connections.\n */\n public static readonly DEFAULT_BAUD_RATE: number = 9600;\n\n /**\n * The interface ID identifies thisConnection instance with the underlying library.\n */\n public get interfaceId(): number {\n return this._interfaceId;\n }\n private _interfaceId: number;\n\n constructor(interfaceId: number) {\n this._interfaceId = interfaceId;\n this._subscribe();\n }\n\n /**\n * Opens a serial port.\n * @param portName Name of the port to open.\n * @param baudRate Optional baud rate (defaults to 9600).\n * @param useMessageIds Enable use of message IDs (defaults to disabled).\n * All your devices must be pre-configured to match.\n * @return An object representing the port.\n */\n public static async openSerialPort(\n portName: string,\n baudRate: number = Connection.DEFAULT_BAUD_RATE,\n useMessageIds: boolean = false\n ): Promise<Connection> {\n const request = new gateway.OpenBinaryInterfaceRequest();\n request.setInterfaceType(gateway.InterfaceType.SERIAL_PORT);\n request.setPortName(portName);\n request.setBaudRate(baudRate);\n request.setUseMessageIds(useMessageIds);\n\n const response = await gateway.callAsync<gateway.OpenInterfaceResponse>(\n 'binary/interface/open',\n request,\n gateway.OpenInterfaceResponse);\n return new Connection(response.getInterfaceId());\n }\n\n /**\n * Opens a TCP connection.\n * @param hostName Hostname or IP address.\n * @param port Optional port number (defaults to 8657).\n * @param useMessageIds Enable use of message IDs (defaults to disabled).\n * All your devices must be pre-configured to match.\n * @return An object representing the connection.\n */\n public static async openTcp(\n hostName: string,\n port: number = 0,\n useMessageIds: boolean = false\n ): Promise<Connection> {\n const request = new gateway.OpenBinaryInterfaceRequest();\n request.setInterfaceType(gateway.InterfaceType.TCP);\n request.setHostName(hostName);\n request.setPort(port);\n request.setUseMessageIds(useMessageIds);\n\n const response = await gateway.callAsync<gateway.OpenInterfaceResponse>(\n 'binary/interface/open',\n request,\n gateway.OpenInterfaceResponse);\n return new Connection(response.getInterfaceId());\n }\n\n /**\n * Close the connection.\n */\n public async close(): Promise<void> {\n const request = new gateway.InterfaceEmptyRequest();\n request.setInterfaceId(this.interfaceId);\n\n await gateway.callAsync('interface/close', request);\n }\n\n /**\n * Sends a generic Binary command to this connection.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param device Device address to send the command to. Use zero for broadcast.\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when the device rejects the command.\n * @return A response to the command.\n */\n public async genericCommand(\n device: number,\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setDevice(device);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessage>(\n 'binary/interface/generic_command',\n request,\n gateway.BinaryMessage);\n return Message.fromProtobuf(response.toObject());\n }\n\n /**\n * Sends a generic Binary command to this connection without expecting a response.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param device Device address to send the command to. Use zero for broadcast.\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n */\n public async genericCommandNoResponse(\n device: number,\n command: CommandCode,\n data: number = 0\n ): Promise<void> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setDevice(device);\n request.setCommand(command as any);\n request.setData(data);\n\n await gateway.callAsync('binary/interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic Binary command to this connection and expects responses from one or more devices.\n * Responses are returned in order of arrival.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for all responses from the device chain. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when any device rejects the command.\n * @return All responses to the command.\n */\n public async genericCommandMultiResponse(\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message[]> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.interfaceId);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessageCollection>(\n 'binary/interface/generic_command_multi_response',\n request,\n gateway.BinaryMessageCollection);\n return response.getMessagesList().map(a => Message.fromProtobuf(a.toObject()));\n }\n\n /**\n * Renumbers devices present on this connection. After renumbering, you must identify devices again.\n * @return Total number of devices that responded to the renumber.\n */\n public async renumberDevices(): Promise<number> {\n const request = new gateway.InterfaceEmptyRequest();\n request.setInterfaceId(this.interfaceId);\n\n const response = await gateway.callAsync<gateway.IntResponse>(\n 'binary/device/renumber',\n request,\n gateway.IntResponse);\n return response.getValue();\n }\n\n /**\n * Attempts to detect any devices present on this connection.\n * @param identifyDevices Determines whether device identification should be performed as well.\n * @return Array of detected devices.\n */\n public async detectDevices(\n identifyDevices: boolean = true\n ): Promise<Device[]> {\n const request = new gateway.BinaryDeviceDetectRequest();\n request.setInterfaceId(this.interfaceId);\n request.setIdentifyDevices(identifyDevices);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceDetectResponse>(\n 'binary/device/detect',\n request,\n gateway.BinaryDeviceDetectResponse);\n return response.getDevicesList().map(deviceAddress => this.getDevice(deviceAddress));\n }\n\n /**\n * Gets a Device class instance which allows you to control a particular device on this connection.\n * Devices are numbered from 1.\n * @param deviceAddress Address of device intended to control. Address is configured for each device.\n * @return Device instance.\n */\n public getDevice(\n deviceAddress: number\n ): Device {\n if (deviceAddress <= 0) {\n throw new TypeError('Invalid value; physical devices are numbered from 1.');\n }\n return new Device(this, deviceAddress);\n }\n\n /**\n * Returns a string that represents the connection.\n * @return A string that represents the connection.\n */\n public toString(): string {\n const request = new gateway.InterfaceEmptyRequest();\n request.setInterfaceId(this.interfaceId);\n\n const response = gateway.callSync<gateway.StringResponse>(\n 'interface/to_string',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n private _disconnected = new ReplaySubject<MotionLibException>();\n\n /**\n * Event invoked when connection is interrupted or closed.\n */\n public get disconnected(): Observable<MotionLibException> {\n return this._disconnected;\n }\n\n private _subscribe(): void {\n this.unknownResponse = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<gateway.UnknownBinaryResponseEvent.AsObject>('binary/interface/unknown_response'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => UnknownResponseEvent.fromProtobuf(event))\n );\n\n this.replyOnly = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<gateway.BinaryReplyOnlyEvent.AsObject>('binary/interface/reply_only'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => ReplyOnlyEvent.fromProtobuf(event))\n );\n\n events.pipe(\n filterEvent<gateway.DisconnectedEvent.AsObject>('interface/disconnected'),\n filter(event => event.interfaceId === this.interfaceId),\n take(1),\n map(({ errorMessage, errorType }) => gateway.convertToException(errorType, errorMessage))\n ).subscribe(this._disconnected);\n }\n}\n"]}
@@ -3,7 +3,11 @@
3
3
  // ============= DO NOT EDIT DIRECTLY ============= //
4
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
5
  if (k2 === undefined) k2 = k;
6
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
7
11
  }) : (function(o, m, k, k2) {
8
12
  if (k2 === undefined) k2 = k;
9
13
  o[k2] = m[k];
@@ -170,8 +174,8 @@ class Device {
170
174
  request.setFromUnit(fromUnit);
171
175
  request.setToUnit(toUnit);
172
176
  request.setTimeout(timeout);
173
- const response = await gateway.callAsync('binary/device/generic_command_with_units', request, gateway.BinaryGenericWithUnitsResponse);
174
- return response.getData();
177
+ const response = await gateway.callAsync('binary/device/generic_command_with_units', request, gateway.DoubleResponse);
178
+ return response.getValue();
175
179
  }
176
180
  /**
177
181
  * Homes device. Device returns to its homing position.
@@ -185,8 +189,8 @@ class Device {
185
189
  request.setDevice(this.deviceAddress);
186
190
  request.setUnit(unit);
187
191
  request.setTimeout(timeout);
188
- const response = await gateway.callAsync('binary/device/home', request, gateway.BinaryDeviceMovementResponse);
189
- return response.getData();
192
+ const response = await gateway.callAsync('binary/device/home', request, gateway.DoubleResponse);
193
+ return response.getValue();
190
194
  }
191
195
  /**
192
196
  * Stops ongoing device movement. Decelerates until zero speed.
@@ -200,8 +204,8 @@ class Device {
200
204
  request.setDevice(this.deviceAddress);
201
205
  request.setUnit(unit);
202
206
  request.setTimeout(timeout);
203
- const response = await gateway.callAsync('binary/device/stop', request, gateway.BinaryDeviceMovementResponse);
204
- return response.getData();
207
+ const response = await gateway.callAsync('binary/device/stop', request, gateway.DoubleResponse);
208
+ return response.getValue();
205
209
  }
206
210
  /**
207
211
  * Move device to absolute position.
@@ -218,8 +222,8 @@ class Device {
218
222
  request.setArg(position);
219
223
  request.setUnit(unit);
220
224
  request.setTimeout(timeout);
221
- const response = await gateway.callAsync('binary/device/move', request, gateway.BinaryDeviceMovementResponse);
222
- return response.getData();
225
+ const response = await gateway.callAsync('binary/device/move', request, gateway.DoubleResponse);
226
+ return response.getValue();
223
227
  }
224
228
  /**
225
229
  * Move device to position relative to current position.
@@ -236,8 +240,8 @@ class Device {
236
240
  request.setArg(position);
237
241
  request.setUnit(unit);
238
242
  request.setTimeout(timeout);
239
- const response = await gateway.callAsync('binary/device/move', request, gateway.BinaryDeviceMovementResponse);
240
- return response.getData();
243
+ const response = await gateway.callAsync('binary/device/move', request, gateway.DoubleResponse);
244
+ return response.getValue();
241
245
  }
242
246
  /**
243
247
  * Begins to move device at specified speed.
@@ -252,14 +256,14 @@ class Device {
252
256
  request.setType(gateway.BinaryDeviceMoveRequest.MoveType.VEL);
253
257
  request.setArg(velocity);
254
258
  request.setUnit(unit);
255
- const response = await gateway.callAsync('binary/device/move', request, gateway.BinaryDeviceMovementResponse);
256
- return response.getData();
259
+ const response = await gateway.callAsync('binary/device/move', request, gateway.DoubleResponse);
260
+ return response.getValue();
257
261
  }
258
262
  /**
259
263
  * Waits until device stops moving.
260
264
  */
261
265
  async waitUntilIdle() {
262
- const request = new gateway.BinaryDeviceWaitUntilIdleRequest();
266
+ const request = new gateway.DeviceEmptyRequest();
263
267
  request.setInterfaceId(this.connection.interfaceId);
264
268
  request.setDevice(this.deviceAddress);
265
269
  await gateway.callAsync('binary/device/wait_until_idle', request);
@@ -269,11 +273,11 @@ class Device {
269
273
  * @return True if the device is currently executing a motion command.
270
274
  */
271
275
  async isBusy() {
272
- const request = new gateway.BinaryDeviceIsBusyRequest();
276
+ const request = new gateway.DeviceEmptyRequest();
273
277
  request.setInterfaceId(this.connection.interfaceId);
274
278
  request.setDevice(this.deviceAddress);
275
- const response = await gateway.callAsync('binary/device/is_busy', request, gateway.BinaryDeviceIsBusyResponse);
276
- return response.getIsBusy();
279
+ const response = await gateway.callAsync('binary/device/is_busy', request, gateway.BoolResponse);
280
+ return response.getValue();
277
281
  }
278
282
  /**
279
283
  * Queries the device and the database, gathering information about the product.
@@ -282,7 +286,7 @@ class Device {
282
286
  * @return Device identification data.
283
287
  */
284
288
  async identify() {
285
- const request = new gateway.BinaryDeviceIdentifyRequest();
289
+ const request = new gateway.DeviceEmptyRequest();
286
290
  request.setInterfaceId(this.connection.interfaceId);
287
291
  request.setDevice(this.deviceAddress);
288
292
  const response = await gateway.callAsync('binary/device/identify', request, gateway.BinaryDeviceIdentity);
@@ -294,7 +298,7 @@ class Device {
294
298
  * It can later be unparked and moved without first having to home it.
295
299
  */
296
300
  async park() {
297
- const request = new gateway.BinaryDeviceParkRequest();
301
+ const request = new gateway.DeviceEmptyRequest();
298
302
  request.setInterfaceId(this.connection.interfaceId);
299
303
  request.setDevice(this.deviceAddress);
300
304
  await gateway.callAsync('binary/device/park', request);
@@ -303,7 +307,7 @@ class Device {
303
307
  * Unparks axis. Axis will now be able to move.
304
308
  */
305
309
  async unpark() {
306
- const request = new gateway.BinaryDeviceParkRequest();
310
+ const request = new gateway.DeviceEmptyRequest();
307
311
  request.setInterfaceId(this.connection.interfaceId);
308
312
  request.setDevice(this.deviceAddress);
309
313
  await gateway.callAsync('binary/device/unpark', request);
@@ -313,11 +317,11 @@ class Device {
313
317
  * @return True if the axis is currently parked. False otherwise.
314
318
  */
315
319
  async isParked() {
316
- const request = new gateway.BinaryDeviceParkRequest();
320
+ const request = new gateway.DeviceEmptyRequest();
317
321
  request.setInterfaceId(this.connection.interfaceId);
318
322
  request.setDevice(this.deviceAddress);
319
- const response = await gateway.callAsync('binary/device/is_parked', request, gateway.BinaryDeviceParkResponse);
320
- return response.getIsParked();
323
+ const response = await gateway.callAsync('binary/device/is_parked', request, gateway.BoolResponse);
324
+ return response.getValue();
321
325
  }
322
326
  /**
323
327
  * Returns current device position.
@@ -330,7 +334,7 @@ class Device {
330
334
  request.setDevice(this.deviceAddress);
331
335
  request.setSetting(binary_settings_1.BinarySettings.CURRENT_POSITION);
332
336
  request.setUnit(unit);
333
- const response = await gateway.callAsync('binary/device/get_setting', request, gateway.BinaryDeviceGetSettingResponse);
337
+ const response = await gateway.callAsync('binary/device/get_setting', request, gateway.DoubleResponse);
334
338
  return response.getValue();
335
339
  }
336
340
  /**
@@ -338,33 +342,33 @@ class Device {
338
342
  * @return A string that represents the device.
339
343
  */
340
344
  toString() {
341
- const request = new gateway.ToStringRequest();
345
+ const request = new gateway.DeviceEmptyRequest();
342
346
  request.setInterfaceId(this.connection.interfaceId);
343
347
  request.setDevice(this.deviceAddress);
344
- const response = gateway.callSync('binary/device/device_to_string', request, gateway.ToStringResponse);
345
- return response.getToStr();
348
+ const response = gateway.callSync('binary/device/device_to_string', request, gateway.StringResponse);
349
+ return response.getValue();
346
350
  }
347
351
  /**
348
352
  * Returns identity.
349
353
  * @return Device identity.
350
354
  */
351
355
  _retrieveIdentity() {
352
- const request = new gateway.BinaryDeviceGetIdentityRequest();
356
+ const request = new gateway.DeviceEmptyRequest();
353
357
  request.setInterfaceId(this.connection.interfaceId);
354
358
  request.setDevice(this.deviceAddress);
355
- const response = gateway.callSync('binary/device/get_identity', request, gateway.BinaryDeviceGetIdentityResponse);
356
- return device_identity_1.DeviceIdentity.fromProtobuf(response.getIdentity().toObject());
359
+ const response = gateway.callSync('binary/device/get_identity', request, gateway.BinaryDeviceIdentity);
360
+ return device_identity_1.DeviceIdentity.fromProtobuf(response.toObject());
357
361
  }
358
362
  /**
359
363
  * Returns whether or not the device have been identified.
360
364
  * @return True if the device has already been identified. False otherwise.
361
365
  */
362
366
  _retrieveIsIdentified() {
363
- const request = new gateway.BinaryDeviceGetIsIdentifiedRequest();
367
+ const request = new gateway.DeviceEmptyRequest();
364
368
  request.setInterfaceId(this.connection.interfaceId);
365
369
  request.setDevice(this.deviceAddress);
366
- const response = gateway.callSync('binary/device/get_is_identified', request, gateway.BinaryDeviceGetIsIdentifiedResponse);
367
- return response.getIsIdentified();
370
+ const response = gateway.callSync('binary/device/get_is_identified', request, gateway.BoolResponse);
371
+ return response.getValue();
368
372
  }
369
373
  }
370
374
  exports.Device = Device;
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/binary/device.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { BinarySettings } from './binary_settings';\nimport { Connection } from './connection';\nimport { DeviceIdentity } from './device_identity';\nimport { DeviceSettings } from './device_settings';\nimport * as gateway from '../gateway';\nimport { CommandCode } from './command_code';\nimport { Message } from './message';\nimport { Angle, Length, Native, AngularVelocity, Velocity, Units } from '../units';\nimport { DeviceType } from './device_type';\nimport { FirmwareVersion } from '../firmware_version';\n\n/**\n * Represents a device using the binary protocol.\n */\nexport class Device {\n /**\n * Default timeout for move commands in seconds.\n */\n public static readonly DEFAULT_MOVEMENT_TIMEOUT: number = 60;\n\n /**\n * Connection of this device.\n */\n public get connection(): Connection {\n return this._connection;\n }\n private _connection: Connection;\n\n /**\n * Settings and properties of this axis.\n */\n public get settings(): DeviceSettings {\n return this._settings;\n }\n private _settings: DeviceSettings;\n\n /**\n * The device address uniquely identifies the device on the connection.\n * It can be configured or automatically assigned by the renumber command.\n */\n public get deviceAddress(): number {\n return this._deviceAddress;\n }\n private _deviceAddress: number;\n\n /**\n * Identity of the device.\n */\n public get identity(): DeviceIdentity {\n return this._retrieveIdentity();\n }\n\n /**\n * Indicates whether or not the device has been identified.\n */\n public get isIdentified(): boolean {\n return this._retrieveIsIdentified();\n }\n\n /**\n * Unique ID of the device hardware.\n */\n public get deviceId(): number {\n return this.identity.deviceId;\n }\n\n /**\n * Serial number of the device.\n */\n public get serialNumber(): number {\n return this.identity.serialNumber;\n }\n\n /**\n * Name of the product.\n */\n public get name(): string {\n return this.identity.name;\n }\n\n /**\n * Version of the firmware.\n */\n public get firmwareVersion(): FirmwareVersion {\n return this.identity.firmwareVersion;\n }\n\n /**\n * Indicates whether the device is a peripheral or part of an integrated device.\n */\n public get isPeripheral(): boolean {\n return this.identity.isPeripheral;\n }\n\n /**\n * Unique ID of the peripheral hardware.\n */\n public get peripheralId(): number {\n return this.identity.peripheralId;\n }\n\n /**\n * Name of the peripheral hardware.\n */\n public get peripheralName(): string {\n return this.identity.peripheralName;\n }\n\n /**\n * Determines the type of an device and units it accepts.\n */\n public get deviceType(): DeviceType {\n return this.identity.deviceType;\n }\n\n constructor(connection: Connection, deviceAddress: number) {\n this._connection = connection;\n this._settings = new DeviceSettings(this);\n this._deviceAddress = deviceAddress;\n }\n\n /**\n * Sends a generic Binary command to this device.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when the device rejects the command.\n * @return A response to the command.\n */\n public async genericCommand(\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessage>(\n 'binary/interface/generic_command',\n request,\n gateway.BinaryMessage);\n return Message.fromProtobuf(response.toObject());\n }\n\n /**\n * Sends a generic Binary command to this device without expecting a response.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n */\n public async genericCommandNoResponse(\n command: CommandCode,\n data: number = 0\n ): Promise<void> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n\n await gateway.callAsync('binary/interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic Binary command to this device with unit conversions for both sent data and retrieved data.\n * @param command Command to send.\n * @param data Data argument to the command. Set to zero if command does not require argument.\n * @param fromUnit Unit to convert sent data from.\n * @param toUnit Unit to convert retrieved data to.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @return Data that has been converted to the provided unit.\n */\n public async genericCommandWithUnits(\n command: CommandCode,\n data: number,\n fromUnit: Units = Units.NATIVE,\n toUnit: Units = Units.NATIVE,\n timeout: number = 0.0\n ): Promise<number> {\n const request = new gateway.BinaryGenericWithUnitsRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n request.setFromUnit(fromUnit);\n request.setToUnit(toUnit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.BinaryGenericWithUnitsResponse>(\n 'binary/device/generic_command_with_units',\n request,\n gateway.BinaryGenericWithUnitsResponse);\n return response.getData();\n }\n\n /**\n * Homes device. Device returns to its homing position.\n * @param unit Unit to convert returned position to.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async home(\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceHomeRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceMovementResponse>(\n 'binary/device/home',\n request,\n gateway.BinaryDeviceMovementResponse);\n return response.getData();\n }\n\n /**\n * Stops ongoing device movement. Decelerates until zero speed.\n * @param unit Unit to convert returned position to.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async stop(\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceStopRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceMovementResponse>(\n 'binary/device/stop',\n request,\n gateway.BinaryDeviceMovementResponse);\n return response.getData();\n }\n\n /**\n * Move device to absolute position.\n * @param position Absolute position.\n * @param unit Unit for the provided position as well as position returned by the device.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async moveAbsolute(\n position: number,\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.ABS);\n request.setArg(position);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceMovementResponse>(\n 'binary/device/move',\n request,\n gateway.BinaryDeviceMovementResponse);\n return response.getData();\n }\n\n /**\n * Move device to position relative to current position.\n * @param position Relative position.\n * @param unit Unit for the provided position as well as position returned by the device.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async moveRelative(\n position: number,\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.REL);\n request.setArg(position);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceMovementResponse>(\n 'binary/device/move',\n request,\n gateway.BinaryDeviceMovementResponse);\n return response.getData();\n }\n\n /**\n * Begins to move device at specified speed.\n * @param velocity Movement velocity.\n * @param unit Unit to convert returned velocity to.\n * @return Device velocity that has been converted to the provided unit.\n */\n public async moveVelocity(\n velocity: number,\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.VEL);\n request.setArg(velocity);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceMovementResponse>(\n 'binary/device/move',\n request,\n gateway.BinaryDeviceMovementResponse);\n return response.getData();\n }\n\n /**\n * Waits until device stops moving.\n */\n public async waitUntilIdle(): Promise<void> {\n const request = new gateway.BinaryDeviceWaitUntilIdleRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/wait_until_idle', request);\n }\n\n /**\n * Check whether the device is moving.\n * @return True if the device is currently executing a motion command.\n */\n public async isBusy(): Promise<boolean> {\n const request = new gateway.BinaryDeviceIsBusyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceIsBusyResponse>(\n 'binary/device/is_busy',\n request,\n gateway.BinaryDeviceIsBusyResponse);\n return response.getIsBusy();\n }\n\n /**\n * Queries the device and the database, gathering information about the product.\n * Without this information features such as unit conversions will not work.\n * Usually, called automatically by detect devices method.\n * @return Device identification data.\n */\n public async identify(): Promise<DeviceIdentity> {\n const request = new gateway.BinaryDeviceIdentifyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceIdentity>(\n 'binary/device/identify',\n request,\n gateway.BinaryDeviceIdentity);\n return DeviceIdentity.fromProtobuf(response.toObject());\n }\n\n /**\n * Parks the axis.\n * Motor drivers remain enabled and hold current continues to be applied until the device is powered off.\n * It can later be unparked and moved without first having to home it.\n */\n public async park(): Promise<void> {\n const request = new gateway.BinaryDeviceParkRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/park', request);\n }\n\n /**\n * Unparks axis. Axis will now be able to move.\n */\n public async unpark(): Promise<void> {\n const request = new gateway.BinaryDeviceParkRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/unpark', request);\n }\n\n /**\n * Returns bool indicating whether the axis is parked or not.\n * @return True if the axis is currently parked. False otherwise.\n */\n public async isParked(): Promise<boolean> {\n const request = new gateway.BinaryDeviceParkRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceParkResponse>(\n 'binary/device/is_parked',\n request,\n gateway.BinaryDeviceParkResponse);\n return response.getIsParked();\n }\n\n /**\n * Returns current device position.\n * @param unit Units of position.\n * @return Axis position.\n */\n public async getPosition(\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceGetSettingRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setSetting(BinarySettings.CURRENT_POSITION);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceGetSettingResponse>(\n 'binary/device/get_setting',\n request,\n gateway.BinaryDeviceGetSettingResponse);\n return response.getValue();\n }\n\n /**\n * Returns a string that represents the device.\n * @return A string that represents the device.\n */\n public toString(): string {\n const request = new gateway.ToStringRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.ToStringResponse>(\n 'binary/device/device_to_string',\n request,\n gateway.ToStringResponse);\n return response.getToStr();\n }\n\n /**\n * Returns identity.\n * @return Device identity.\n */\n private _retrieveIdentity(): DeviceIdentity {\n const request = new gateway.BinaryDeviceGetIdentityRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.BinaryDeviceGetIdentityResponse>(\n 'binary/device/get_identity',\n request,\n gateway.BinaryDeviceGetIdentityResponse);\n return DeviceIdentity.fromProtobuf(response.getIdentity()!.toObject());\n }\n\n /**\n * Returns whether or not the device have been identified.\n * @return True if the device has already been identified. False otherwise.\n */\n private _retrieveIsIdentified(): boolean {\n const request = new gateway.BinaryDeviceGetIsIdentifiedRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.BinaryDeviceGetIsIdentifiedResponse>(\n 'binary/device/get_is_identified',\n request,\n gateway.BinaryDeviceGetIsIdentifiedResponse);\n return response.getIsIdentified();\n }\n}\n"]}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/binary/device.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { BinarySettings } from './binary_settings';\nimport { Connection } from './connection';\nimport { DeviceIdentity } from './device_identity';\nimport { DeviceSettings } from './device_settings';\nimport * as gateway from '../gateway';\nimport { CommandCode } from './command_code';\nimport { Message } from './message';\nimport { Angle, Length, Native, AngularVelocity, Velocity, Units } from '../units';\nimport { DeviceType } from './device_type';\nimport { FirmwareVersion } from '../firmware_version';\n\n/**\n * Represents a device using the binary protocol.\n */\nexport class Device {\n /**\n * Default timeout for move commands in seconds.\n */\n public static readonly DEFAULT_MOVEMENT_TIMEOUT: number = 60;\n\n /**\n * Connection of this device.\n */\n public get connection(): Connection {\n return this._connection;\n }\n private _connection: Connection;\n\n /**\n * Settings and properties of this axis.\n */\n public get settings(): DeviceSettings {\n return this._settings;\n }\n private _settings: DeviceSettings;\n\n /**\n * The device address uniquely identifies the device on the connection.\n * It can be configured or automatically assigned by the renumber command.\n */\n public get deviceAddress(): number {\n return this._deviceAddress;\n }\n private _deviceAddress: number;\n\n /**\n * Identity of the device.\n */\n public get identity(): DeviceIdentity {\n return this._retrieveIdentity();\n }\n\n /**\n * Indicates whether or not the device has been identified.\n */\n public get isIdentified(): boolean {\n return this._retrieveIsIdentified();\n }\n\n /**\n * Unique ID of the device hardware.\n */\n public get deviceId(): number {\n return this.identity.deviceId;\n }\n\n /**\n * Serial number of the device.\n */\n public get serialNumber(): number {\n return this.identity.serialNumber;\n }\n\n /**\n * Name of the product.\n */\n public get name(): string {\n return this.identity.name;\n }\n\n /**\n * Version of the firmware.\n */\n public get firmwareVersion(): FirmwareVersion {\n return this.identity.firmwareVersion;\n }\n\n /**\n * Indicates whether the device is a peripheral or part of an integrated device.\n */\n public get isPeripheral(): boolean {\n return this.identity.isPeripheral;\n }\n\n /**\n * Unique ID of the peripheral hardware.\n */\n public get peripheralId(): number {\n return this.identity.peripheralId;\n }\n\n /**\n * Name of the peripheral hardware.\n */\n public get peripheralName(): string {\n return this.identity.peripheralName;\n }\n\n /**\n * Determines the type of an device and units it accepts.\n */\n public get deviceType(): DeviceType {\n return this.identity.deviceType;\n }\n\n constructor(connection: Connection, deviceAddress: number) {\n this._connection = connection;\n this._settings = new DeviceSettings(this);\n this._deviceAddress = deviceAddress;\n }\n\n /**\n * Sends a generic Binary command to this device.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @param checkErrors Controls whether to throw an exception when the device rejects the command.\n * @return A response to the command.\n */\n public async genericCommand(\n command: CommandCode,\n data: number = 0,\n timeout: number = 0.0,\n checkErrors: boolean = true\n ): Promise<Message> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n request.setTimeout(timeout);\n request.setCheckErrors(checkErrors);\n\n const response = await gateway.callAsync<gateway.BinaryMessage>(\n 'binary/interface/generic_command',\n request,\n gateway.BinaryMessage);\n return Message.fromProtobuf(response.toObject());\n }\n\n /**\n * Sends a generic Binary command to this device without expecting a response.\n * For more information please refer to the\n * [Binary Protocol Manual](https://www.zaber.com/protocol-manual?protocol=Binary#topic_quick_command_reference).\n * @param command Command to send.\n * @param data Optional data argument to the command. Defaults to zero.\n */\n public async genericCommandNoResponse(\n command: CommandCode,\n data: number = 0\n ): Promise<void> {\n const request = new gateway.GenericBinaryRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n\n await gateway.callAsync('binary/interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic Binary command to this device with unit conversions for both sent data and retrieved data.\n * @param command Command to send.\n * @param data Data argument to the command. Set to zero if command does not require argument.\n * @param fromUnit Unit to convert sent data from.\n * @param toUnit Unit to convert retrieved data to.\n * @param timeout Number of seconds to wait for a response from the device. 0 or negative defaults to 0.5s.\n * @return Data that has been converted to the provided unit.\n */\n public async genericCommandWithUnits(\n command: CommandCode,\n data: number,\n fromUnit: Units = Units.NATIVE,\n toUnit: Units = Units.NATIVE,\n timeout: number = 0.0\n ): Promise<number> {\n const request = new gateway.BinaryGenericWithUnitsRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setCommand(command as any);\n request.setData(data);\n request.setFromUnit(fromUnit);\n request.setToUnit(toUnit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/generic_command_with_units',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Homes device. Device returns to its homing position.\n * @param unit Unit to convert returned position to.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async home(\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceHomeRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/home',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Stops ongoing device movement. Decelerates until zero speed.\n * @param unit Unit to convert returned position to.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async stop(\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceStopRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/stop',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Move device to absolute position.\n * @param position Absolute position.\n * @param unit Unit for the provided position as well as position returned by the device.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async moveAbsolute(\n position: number,\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.ABS);\n request.setArg(position);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/move',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Move device to position relative to current position.\n * @param position Relative position.\n * @param unit Unit for the provided position as well as position returned by the device.\n * @param timeout Number of seconds to wait for response from the device chain (defaults to 60s).\n * @return Current position that has been converted to the provided unit.\n */\n public async moveRelative(\n position: number,\n unit: Length | Angle | Native = Units.NATIVE,\n timeout: number = Device.DEFAULT_MOVEMENT_TIMEOUT\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.REL);\n request.setArg(position);\n request.setUnit(unit);\n request.setTimeout(timeout);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/move',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Begins to move device at specified speed.\n * @param velocity Movement velocity.\n * @param unit Unit to convert returned velocity to.\n * @return Device velocity that has been converted to the provided unit.\n */\n public async moveVelocity(\n velocity: number,\n unit: Velocity | AngularVelocity | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceMoveRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setType(gateway.BinaryDeviceMoveRequest.MoveType.VEL);\n request.setArg(velocity);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/move',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Waits until device stops moving.\n */\n public async waitUntilIdle(): Promise<void> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/wait_until_idle', request);\n }\n\n /**\n * Check whether the device is moving.\n * @return True if the device is currently executing a motion command.\n */\n public async isBusy(): Promise<boolean> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'binary/device/is_busy',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Queries the device and the database, gathering information about the product.\n * Without this information features such as unit conversions will not work.\n * Usually, called automatically by detect devices method.\n * @return Device identification data.\n */\n public async identify(): Promise<DeviceIdentity> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceIdentity>(\n 'binary/device/identify',\n request,\n gateway.BinaryDeviceIdentity);\n return DeviceIdentity.fromProtobuf(response.toObject());\n }\n\n /**\n * Parks the axis.\n * Motor drivers remain enabled and hold current continues to be applied until the device is powered off.\n * It can later be unparked and moved without first having to home it.\n */\n public async park(): Promise<void> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/park', request);\n }\n\n /**\n * Unparks axis. Axis will now be able to move.\n */\n public async unpark(): Promise<void> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n await gateway.callAsync('binary/device/unpark', request);\n }\n\n /**\n * Returns bool indicating whether the axis is parked or not.\n * @return True if the axis is currently parked. False otherwise.\n */\n public async isParked(): Promise<boolean> {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'binary/device/is_parked',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Returns current device position.\n * @param unit Units of position.\n * @return Axis position.\n */\n public async getPosition(\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceGetSettingRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n request.setSetting(BinarySettings.CURRENT_POSITION);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/get_setting',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Returns a string that represents the device.\n * @return A string that represents the device.\n */\n public toString(): string {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.StringResponse>(\n 'binary/device/device_to_string',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Returns identity.\n * @return Device identity.\n */\n private _retrieveIdentity(): DeviceIdentity {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.BinaryDeviceIdentity>(\n 'binary/device/get_identity',\n request,\n gateway.BinaryDeviceIdentity);\n return DeviceIdentity.fromProtobuf(response.toObject());\n }\n\n /**\n * Returns whether or not the device have been identified.\n * @return True if the device has already been identified. False otherwise.\n */\n private _retrieveIsIdentified(): boolean {\n const request = new gateway.DeviceEmptyRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setDevice(this.deviceAddress);\n\n const response = gateway.callSync<gateway.BoolResponse>(\n 'binary/device/get_is_identified',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n}\n"]}
@@ -3,7 +3,11 @@
3
3
  // ============= DO NOT EDIT DIRECTLY ============= //
4
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
5
  if (k2 === undefined) k2 = k;
6
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
7
11
  }) : (function(o, m, k, k2) {
8
12
  if (k2 === undefined) k2 = k;
9
13
  o[k2] = m[k];
@@ -43,7 +47,7 @@ class DeviceSettings {
43
47
  request.setDevice(this._device.deviceAddress);
44
48
  request.setSetting(setting);
45
49
  request.setUnit(unit);
46
- const response = await gateway.callAsync('binary/device/get_setting', request, gateway.BinaryDeviceGetSettingResponse);
50
+ const response = await gateway.callAsync('binary/device/get_setting', request, gateway.DoubleResponse);
47
51
  return response.getValue();
48
52
  }
49
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"device_settings.js","sourceRoot":"","sources":["../../../src/binary/device_settings.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;AAItD,oCAAiC;AACjC,oDAAsC;AAEtC;;GAEG;AACH,MAAa,cAAc;IAGzB,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAuB,EACvB,OAAc,aAAK,CAAC,MAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;QAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,2BAA2B,EAC3B,OAAO,EACP,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAuB,EACvB,KAAa,EACb,OAAc,aAAK,CAAC,MAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;QAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAlDD,wCAkDC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Device } from './device';\nimport { BinarySettings } from './binary_settings';\nimport { Units } from '../units';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to various device settings and properties.\n */\nexport class DeviceSettings {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Returns any device setting or property.\n * @param setting Setting to get.\n * @param unit Units of setting.\n * @return Setting value.\n */\n public async get(\n setting: BinarySettings,\n unit: Units = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceGetSettingRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setSetting(setting as any);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.BinaryDeviceGetSettingResponse>(\n 'binary/device/get_setting',\n request,\n gateway.BinaryDeviceGetSettingResponse);\n return response.getValue();\n }\n\n /**\n * Sets any device setting.\n * @param setting Setting to set.\n * @param value Value of the setting.\n * @param unit Units of setting.\n */\n public async set(\n setting: BinarySettings,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.BinaryDeviceSetSettingRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setSetting(setting as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('binary/device/set_setting', request);\n }\n}\n"]}
1
+ {"version":3,"file":"device_settings.js","sourceRoot":"","sources":["../../../src/binary/device_settings.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;AAItD,oCAAiC;AACjC,oDAAsC;AAEtC;;GAEG;AACH,MAAa,cAAc;IAGzB,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAuB,EACvB,OAAc,aAAK,CAAC,MAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;QAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,2BAA2B,EAC3B,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAuB,EACvB,KAAa,EACb,OAAc,aAAK,CAAC,MAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;QAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAlDD,wCAkDC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Device } from './device';\nimport { BinarySettings } from './binary_settings';\nimport { Units } from '../units';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to various device settings and properties.\n */\nexport class DeviceSettings {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Returns any device setting or property.\n * @param setting Setting to get.\n * @param unit Units of setting.\n * @return Setting value.\n */\n public async get(\n setting: BinarySettings,\n unit: Units = Units.NATIVE\n ): Promise<number> {\n const request = new gateway.BinaryDeviceGetSettingRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setSetting(setting as any);\n request.setUnit(unit);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'binary/device/get_setting',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets any device setting.\n * @param setting Setting to set.\n * @param value Value of the setting.\n * @param unit Units of setting.\n */\n public async set(\n setting: BinarySettings,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request = new gateway.BinaryDeviceSetSettingRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setSetting(setting as any);\n request.setValue(value);\n request.setUnit(unit);\n\n await gateway.callAsync('binary/device/set_setting', request);\n }\n}\n"]}
@@ -8,5 +8,6 @@ export declare enum ReplyCode {
8
8
  MANUAL_MOVE = 11,
9
9
  SLIP_TRACKING = 12,
10
10
  UNEXPECTED_POSITION = 13,
11
+ DIAGNOSTIC_TRACKING_REPLY = 240,
11
12
  ERROR = 255
12
13
  }
@@ -14,6 +14,7 @@ var ReplyCode;
14
14
  ReplyCode[ReplyCode["MANUAL_MOVE"] = 11] = "MANUAL_MOVE";
15
15
  ReplyCode[ReplyCode["SLIP_TRACKING"] = 12] = "SLIP_TRACKING";
16
16
  ReplyCode[ReplyCode["UNEXPECTED_POSITION"] = 13] = "UNEXPECTED_POSITION";
17
+ ReplyCode[ReplyCode["DIAGNOSTIC_TRACKING_REPLY"] = 240] = "DIAGNOSTIC_TRACKING_REPLY";
17
18
  ReplyCode[ReplyCode["ERROR"] = 255] = "ERROR";
18
19
  })(ReplyCode = exports.ReplyCode || (exports.ReplyCode = {}));
19
20
  //# sourceMappingURL=reply_code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reply_code.js","sourceRoot":"","sources":["../../../src/binary/reply_code.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAEtD;;GAEG;AACH,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,2DAAiB,CAAA;IACjB,yDAAgB,CAAA;IAChB,0EAAyB,CAAA;IACzB,wDAAgB,CAAA;IAChB,4DAAkB,CAAA;IAClB,wEAAwB,CAAA;IACxB,6CAAW,CAAA;AACb,CAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\n/**\n * Named constants for all Zaber Binary protocol reply-only command codes.\n */\nexport enum ReplyCode {\n MOVE_TRACKING = 8,\n LIMIT_ACTIVE = 9,\n MANUAL_MOVE_TRACKING = 10,\n MANUAL_MOVE = 11,\n SLIP_TRACKING = 12,\n UNEXPECTED_POSITION = 13,\n ERROR = 255,\n}\n"]}
1
+ {"version":3,"file":"reply_code.js","sourceRoot":"","sources":["../../../src/binary/reply_code.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAEtD;;GAEG;AACH,IAAY,SASX;AATD,WAAY,SAAS;IACnB,2DAAiB,CAAA;IACjB,yDAAgB,CAAA;IAChB,0EAAyB,CAAA;IACzB,wDAAgB,CAAA;IAChB,4DAAkB,CAAA;IAClB,wEAAwB,CAAA;IACxB,qFAA+B,CAAA;IAC/B,6CAAW,CAAA;AACb,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\n/**\n * Named constants for all Zaber Binary protocol reply-only command codes.\n */\nexport enum ReplyCode {\n MOVE_TRACKING = 8,\n LIMIT_ACTIVE = 9,\n MANUAL_MOVE_TRACKING = 10,\n MANUAL_MOVE = 11,\n SLIP_TRACKING = 12,\n UNEXPECTED_POSITION = 13,\n DIAGNOSTIC_TRACKING_REPLY = 240,\n ERROR = 255,\n}\n"]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"binary_ns.js","sourceRoot":"","sources":["../../src/binary_ns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,uDAAyC;AAEzC,IAAiB,MAAM,CAyBtB;AAzBD,WAAiB,MAAM;IACR,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,kBAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAEvC,iBAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAErC,aAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAE7B,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,iBAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAErC,gBAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEnC,cAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IAE/B,gBAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEnC,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,2BAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAExE,CAAC,EAzBgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAyBtB","sourcesContent":["\nimport * as binaryImport from './binary';\n\nexport namespace binary {\n export const BinarySettings = binaryImport.BinarySettings;\n export type BinarySettings = binaryImport.BinarySettings;\n export const CommandCode = binaryImport.CommandCode;\n export type CommandCode = binaryImport.CommandCode;\n export const Connection = binaryImport.Connection;\n export type Connection = binaryImport.Connection;\n export const Device = binaryImport.Device;\n export type Device = binaryImport.Device;\n export const DeviceIdentity = binaryImport.DeviceIdentity;\n export type DeviceIdentity = binaryImport.DeviceIdentity;\n export const DeviceSettings = binaryImport.DeviceSettings;\n export type DeviceSettings = binaryImport.DeviceSettings;\n export const DeviceType = binaryImport.DeviceType;\n export type DeviceType = binaryImport.DeviceType;\n export const ErrorCode = binaryImport.ErrorCode;\n export type ErrorCode = binaryImport.ErrorCode;\n export const Message = binaryImport.Message;\n export type Message = binaryImport.Message;\n export const ReplyCode = binaryImport.ReplyCode;\n export type ReplyCode = binaryImport.ReplyCode;\n export const ReplyOnlyEvent = binaryImport.ReplyOnlyEvent;\n export type ReplyOnlyEvent = binaryImport.ReplyOnlyEvent;\n export const UnknownResponseEvent = binaryImport.UnknownResponseEvent;\n export type UnknownResponseEvent = binaryImport.UnknownResponseEvent;\n}\n"]}
1
+ {"version":3,"file":"binary_ns.js","sourceRoot":"","sources":["../../src/binary_ns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uDAAyC;AAEzC,IAAiB,MAAM,CAyBtB;AAzBD,WAAiB,MAAM;IACR,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,kBAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAEvC,iBAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAErC,aAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAE7B,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,iBAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAErC,gBAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEnC,cAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IAE/B,gBAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEnC,qBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,2BAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAExE,CAAC,EAzBgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAyBtB","sourcesContent":["\nimport * as binaryImport from './binary';\n\nexport namespace binary {\n export const BinarySettings = binaryImport.BinarySettings;\n export type BinarySettings = binaryImport.BinarySettings;\n export const CommandCode = binaryImport.CommandCode;\n export type CommandCode = binaryImport.CommandCode;\n export const Connection = binaryImport.Connection;\n export type Connection = binaryImport.Connection;\n export const Device = binaryImport.Device;\n export type Device = binaryImport.Device;\n export const DeviceIdentity = binaryImport.DeviceIdentity;\n export type DeviceIdentity = binaryImport.DeviceIdentity;\n export const DeviceSettings = binaryImport.DeviceSettings;\n export type DeviceSettings = binaryImport.DeviceSettings;\n export const DeviceType = binaryImport.DeviceType;\n export type DeviceType = binaryImport.DeviceType;\n export const ErrorCode = binaryImport.ErrorCode;\n export type ErrorCode = binaryImport.ErrorCode;\n export const Message = binaryImport.Message;\n export type Message = binaryImport.Message;\n export const ReplyCode = binaryImport.ReplyCode;\n export type ReplyCode = binaryImport.ReplyCode;\n export const ReplyOnlyEvent = binaryImport.ReplyOnlyEvent;\n export type ReplyOnlyEvent = binaryImport.ReplyOnlyEvent;\n export const UnknownResponseEvent = binaryImport.UnknownResponseEvent;\n export type UnknownResponseEvent = binaryImport.UnknownResponseEvent;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * An object containing any setup issues that will prevent setting a state to a given peripheral.
2
+ * An object containing any setup issues that will prevent setting a state to a given axis.
3
3
  */
4
4
  export interface CanSetStateAxisResponse {
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"can_set_state_axis_response.js","sourceRoot":"","sources":["../../src/can_set_state_axis_response.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAoBtD,IAAiB,uBAAuB,CAUvC;AAVD,WAAiB,uBAAuB;IACzB,8BAAM,GAAG,yBAAyB,CAAC;IAEhD,gBAAgB;IAChB,SAAgB,YAAY,CAAC,MAAgD;QAC3E,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IALe,oCAAY,eAK3B,CAAA;AACH,CAAC,EAVgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAUvC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\n\n/**\n * An object containing any setup issues that will prevent setting a state to a given peripheral.\n */\nexport interface CanSetStateAxisResponse {\n /**\n * The error blocking applying this state to the given axis.\n */\n error: string;\n\n /**\n * The number of the axis that cannot be set.\n */\n axisNumber: number;\n\n}\n\nexport namespace CanSetStateAxisResponse {\n export const __type = 'CanSetStateAxisResponse';\n\n /** @internal */\n export function fromProtobuf(pbData: gateway.CanSetStateAxisResponse.AsObject): CanSetStateAxisResponse {\n return {\n error: pbData.error,\n axisNumber: pbData.axisNumber,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"can_set_state_axis_response.js","sourceRoot":"","sources":["../../src/can_set_state_axis_response.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAoBtD,IAAiB,uBAAuB,CAUvC;AAVD,WAAiB,uBAAuB;IACzB,8BAAM,GAAG,yBAAyB,CAAC;IAEhD,gBAAgB;IAChB,SAAgB,YAAY,CAAC,MAAgD;QAC3E,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IALe,oCAAY,eAK3B,CAAA;AACH,CAAC,EAVgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAUvC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\n\n/**\n * An object containing any setup issues that will prevent setting a state to a given axis.\n */\nexport interface CanSetStateAxisResponse {\n /**\n * The error blocking applying this state to the given axis.\n */\n error: string;\n\n /**\n * The number of the axis that cannot be set.\n */\n axisNumber: number;\n\n}\n\nexport namespace CanSetStateAxisResponse {\n export const __type = 'CanSetStateAxisResponse';\n\n /** @internal */\n export function fromProtobuf(pbData: gateway.CanSetStateAxisResponse.AsObject): CanSetStateAxisResponse {\n return {\n error: pbData.error,\n axisNumber: pbData.axisNumber,\n };\n }\n}\n"]}
@@ -8,9 +8,9 @@ export interface CanSetStateDeviceResponse {
8
8
  */
9
9
  error: string;
10
10
  /**
11
- * Maps axis numbers to errors that block setting state of that axis.
11
+ * A list of errors that block setting state of device's axes.
12
12
  */
13
- peripheralErrors: CanSetStateAxisResponse[];
13
+ axisErrors: CanSetStateAxisResponse[];
14
14
  }
15
15
  export declare namespace CanSetStateDeviceResponse {
16
16
  const __type = "CanSetStateDeviceResponse";
@@ -11,7 +11,7 @@ var CanSetStateDeviceResponse;
11
11
  function fromProtobuf(pbData) {
12
12
  return {
13
13
  error: pbData.error,
14
- peripheralErrors: pbData.peripheralErrorsList.map(item => can_set_state_axis_response_1.CanSetStateAxisResponse.fromProtobuf(item)),
14
+ axisErrors: pbData.axisErrorsList.map(item => can_set_state_axis_response_1.CanSetStateAxisResponse.fromProtobuf(item)),
15
15
  };
16
16
  }
17
17
  CanSetStateDeviceResponse.fromProtobuf = fromProtobuf;
@@ -1 +1 @@
1
- {"version":3,"file":"can_set_state_device_response.js","sourceRoot":"","sources":["../../src/can_set_state_device_response.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAGtD,+EAAwE;AAkBxE,IAAiB,yBAAyB,CAUzC;AAVD,WAAiB,yBAAyB;IAC3B,gCAAM,GAAG,2BAA2B,CAAC;IAElD,gBAAgB;IAChB,SAAgB,YAAY,CAAC,MAAkD;QAC7E,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtG,CAAC;IACJ,CAAC;IALe,sCAAY,eAK3B,CAAA;AACH,CAAC,EAVgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAUzC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\nimport { CanSetStateAxisResponse } from './can_set_state_axis_response';\n\n/**\n * An object containing any setup issues that will prevent setting a state to a given device.\n */\nexport interface CanSetStateDeviceResponse {\n /**\n * The error blocking applying this state to the given device.\n */\n error: string;\n\n /**\n * Maps axis numbers to errors that block setting state of that axis.\n */\n peripheralErrors: CanSetStateAxisResponse[];\n\n}\n\nexport namespace CanSetStateDeviceResponse {\n export const __type = 'CanSetStateDeviceResponse';\n\n /** @internal */\n export function fromProtobuf(pbData: gateway.CanSetStateDeviceResponse.AsObject): CanSetStateDeviceResponse {\n return {\n error: pbData.error,\n peripheralErrors: pbData.peripheralErrorsList.map(item => CanSetStateAxisResponse.fromProtobuf(item)),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"can_set_state_device_response.js","sourceRoot":"","sources":["../../src/can_set_state_device_response.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;AAGtD,+EAAwE;AAkBxE,IAAiB,yBAAyB,CAUzC;AAVD,WAAiB,yBAAyB;IAC3B,gCAAM,GAAG,2BAA2B,CAAC;IAElD,gBAAgB;IAChB,SAAgB,YAAY,CAAC,MAAkD;QAC7E,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC1F,CAAC;IACJ,CAAC;IALe,sCAAY,eAK3B,CAAA;AACH,CAAC,EAVgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAUzC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\nimport { CanSetStateAxisResponse } from './can_set_state_axis_response';\n\n/**\n * An object containing any setup issues that will prevent setting a state to a given device.\n */\nexport interface CanSetStateDeviceResponse {\n /**\n * The error blocking applying this state to the given device.\n */\n error: string;\n\n /**\n * A list of errors that block setting state of device's axes.\n */\n axisErrors: CanSetStateAxisResponse[];\n\n}\n\nexport namespace CanSetStateDeviceResponse {\n export const __type = 'CanSetStateDeviceResponse';\n\n /** @internal */\n export function fromProtobuf(pbData: gateway.CanSetStateDeviceResponse.AsObject): CanSetStateDeviceResponse {\n return {\n error: pbData.error,\n axisErrors: pbData.axisErrorsList.map(item => CanSetStateAxisResponse.fromProtobuf(item)),\n };\n }\n}\n"]}