@zaber/motion 2.14.0 → 2.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,8 +50,9 @@ export declare class AxisStorage {
50
50
  /**
51
51
  * Erases the axis value stored at the provided key.
52
52
  * @param key Key to erase.
53
+ * @return A boolean indicating if the key existed.
53
54
  */
54
- eraseKey(key: string): Promise<void>;
55
+ eraseKey(key: string): Promise<boolean>;
55
56
  }
56
57
  /**
57
58
  * Class providing access to device storage.
@@ -103,6 +104,7 @@ export declare class DeviceStorage {
103
104
  /**
104
105
  * Erases the device value stored at the provided key.
105
106
  * @param key Key to erase.
107
+ * @return A boolean indicating if the key existed.
106
108
  */
107
- eraseKey(key: string): Promise<void>;
109
+ eraseKey(key: string): Promise<boolean>;
108
110
  }
@@ -128,6 +128,7 @@ class AxisStorage {
128
128
  /**
129
129
  * Erases the axis value stored at the provided key.
130
130
  * @param key Key to erase.
131
+ * @return A boolean indicating if the key existed.
131
132
  */
132
133
  async eraseKey(key) {
133
134
  const request = new gateway.DeviceStorageRequest();
@@ -135,7 +136,8 @@ class AxisStorage {
135
136
  request.setDevice(this._axis.device.deviceAddress);
136
137
  request.setAxis(this._axis.axisNumber);
137
138
  request.setKey(key);
138
- await gateway.callAsync('device/erase_storage', request);
139
+ const response = await gateway.callAsync('device/erase_storage', request, gateway.BoolResponse);
140
+ return response.getValue();
139
141
  }
140
142
  }
141
143
  exports.AxisStorage = AxisStorage;
@@ -234,13 +236,15 @@ class DeviceStorage {
234
236
  /**
235
237
  * Erases the device value stored at the provided key.
236
238
  * @param key Key to erase.
239
+ * @return A boolean indicating if the key existed.
237
240
  */
238
241
  async eraseKey(key) {
239
242
  const request = new gateway.DeviceStorageRequest();
240
243
  request.setInterfaceId(this._device.connection.interfaceId);
241
244
  request.setDevice(this._device.deviceAddress);
242
245
  request.setKey(key);
243
- await gateway.callAsync('device/erase_storage', request);
246
+ const response = await gateway.callAsync('device/erase_storage', request, gateway.BoolResponse);
247
+ return response.getValue();
244
248
  }
245
249
  }
246
250
  exports.DeviceStorage = DeviceStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/ascii/storage.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;AAItD,oDAAsC;AAEtC;;GAEG;AACH,MAAa,WAAW;IAGtB,YAAY,IAAU;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,KAAa,EACb,SAAkB,KAAK;QAEvB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,SAAkB,KAAK;QAEvB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,oBAAoB,EACpB,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,KAAa;QAEb,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;QAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,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;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAClB,GAAW,EACX,KAAc;QAEd,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,OAAO,CAAC,SAAS,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAClB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,yBAAyB,EACzB,OAAO,EACP,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CACnB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,OAAO,CAAC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF;AAvJD,kCAuJC;AAED;;GAEG;AACH,MAAa,aAAa;IAGxB,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,KAAa,EACb,SAAkB,KAAK;QAEvB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACtD,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,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,SAAkB,KAAK;QAEvB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACtD,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,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,oBAAoB,EACpB,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW,EACX,KAAa;QAEb,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,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACpB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,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,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,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;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAClB,GAAW,EACX,KAAc;QAEd,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,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,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,OAAO,CAAC,SAAS,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAClB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,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,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACtC,yBAAyB,EACzB,OAAO,EACP,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CACnB,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,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,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,OAAO,CAAC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF;AAhJD,sCAgJC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Axis } from './axis';\nimport { Device } from './device';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to axis storage.\n */\nexport class AxisStorage {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Sets the axis value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the axis value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Erases the axis value stored at the provided key.\n * @param key Key to erase.\n */\n public async eraseKey(\n key: string\n ): Promise<void> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n await gateway.callAsync('device/erase_storage', request);\n }\n}\n\n/**\n * Class providing access to device storage.\n */\nexport class DeviceStorage {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Sets the device value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the device value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Erases the device value stored at the provided key.\n * @param key Key to erase.\n */\n public async eraseKey(\n key: string\n ): Promise<void> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n await gateway.callAsync('device/erase_storage', request);\n }\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/ascii/storage.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Axis } from './axis';\nimport { Device } from './device';\nimport * as gateway from '../gateway';\n\n/**\n * Class providing access to axis storage.\n */\nexport class AxisStorage {\n private _axis: Axis;\n\n constructor(axis: Axis) {\n this._axis = axis;\n }\n\n /**\n * Sets the axis value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the axis value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Erases the axis value stored at the provided key.\n * @param key Key to erase.\n * @return A boolean indicating if the key existed.\n */\n public async eraseKey(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._axis.device.connection.interfaceId);\n request.setDevice(this._axis.device.deviceAddress);\n request.setAxis(this._axis.axisNumber);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/erase_storage',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n}\n\n/**\n * Class providing access to device storage.\n */\nexport class DeviceStorage {\n private _device: Device;\n\n constructor(device: Device) {\n this._device = device;\n }\n\n /**\n * Sets the device value stored at the provided key.\n * @param key Key to set the value at.\n * @param value Value to set.\n * @param encode Whether the stored value should be base64 encoded before being stored.\n * This makes the string unreadable to humans using the ASCII protocol,\n * however, values stored this way can be of any length and use non-ASCII and protocol reserved characters.\n */\n public async setString(\n key: string,\n value: string,\n encode: boolean = false\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n request.setEncode(encode);\n\n await gateway.callAsync('device/set_storage', request);\n }\n\n /**\n * Gets the device value stored with the provided key.\n * @param key Key to read the value of.\n * @param decode Whether the stored value should be decoded.\n * Only use this when reading values set by storage.set with \"encode\" true.\n * @return Stored value.\n */\n public async getString(\n key: string,\n decode: boolean = false\n ): Promise<string> {\n const request = new gateway.DeviceGetStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setDecode(decode);\n\n const response = await gateway.callAsync<gateway.StringResponse>(\n 'device/get_storage',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided number.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setNumber(\n key: string,\n value: number\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageNumberRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_number', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a number.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getNumber(\n key: string\n ): Promise<number> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.DoubleResponse>(\n 'device/get_storage_number',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the value at the provided key to the provided boolean.\n * @param key Key to set the value at.\n * @param value Value to set.\n */\n public async setBool(\n key: string,\n value: boolean\n ): Promise<void> {\n const request = new gateway.DeviceSetStorageBoolRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n request.setValue(value);\n\n await gateway.callAsync('device/set_storage_bool', request);\n }\n\n /**\n * Gets the value at the provided key interpreted as a boolean.\n * @param key Key to get the value at.\n * @return Stored value.\n */\n public async getBool(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/get_storage_bool',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n\n /**\n * Erases the device value stored at the provided key.\n * @param key Key to erase.\n * @return A boolean indicating if the key existed.\n */\n public async eraseKey(\n key: string\n ): Promise<boolean> {\n const request = new gateway.DeviceStorageRequest();\n request.setInterfaceId(this._device.connection.interfaceId);\n request.setDevice(this._device.deviceAddress);\n request.setKey(key);\n\n const response = await gateway.callAsync<gateway.BoolResponse>(\n 'device/erase_storage',\n request,\n gateway.BoolResponse);\n return response.getValue();\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { DeviceDefinition } from './device_definition';
2
2
  import { TranslatorConfig } from './translator_config';
3
3
  import { TranslateResult } from './translate_result';
4
+ import { Device } from '../ascii/device';
4
5
  import { Angle, Length, Native, AngularVelocity, Velocity } from '../units';
5
6
  /**
6
7
  * Represents an offline G-Code translator.
@@ -26,6 +27,15 @@ export declare class OfflineTranslator {
26
27
  * @return New instance of translator.
27
28
  */
28
29
  static setup(definition: DeviceDefinition, config?: TranslatorConfig): Promise<OfflineTranslator>;
30
+ /**
31
+ * Sets up an offline translator from provided device, axes, and configuration.
32
+ * @param device Device that later performs the command streaming.
33
+ * @param axes Axis numbers that are later used to setup the stream.
34
+ * For a lockstep group specify only the first axis of the group.
35
+ * @param config? Configuration of the translator.
36
+ * @return New instance of translator.
37
+ */
38
+ static setupFromDevice(device: Device, axes: number[], config?: TranslatorConfig): Promise<OfflineTranslator>;
29
39
  /**
30
40
  * Translates a single block (line) of G-code.
31
41
  * @param block Block (line) of G-code.
@@ -67,6 +67,23 @@ class OfflineTranslator {
67
67
  const response = await gateway.callAsync('gcode/create', request, gateway.TranslatorCreateResponse);
68
68
  return new OfflineTranslator(response.getTranslatorId());
69
69
  }
70
+ /**
71
+ * Sets up an offline translator from provided device, axes, and configuration.
72
+ * @param device Device that later performs the command streaming.
73
+ * @param axes Axis numbers that are later used to setup the stream.
74
+ * For a lockstep group specify only the first axis of the group.
75
+ * @param config? Configuration of the translator.
76
+ * @return New instance of translator.
77
+ */
78
+ static async setupFromDevice(device, axes, config) {
79
+ const request = new gateway.TranslatorCreateFromDeviceRequest();
80
+ request.setInterfaceId(device.connection.interfaceId);
81
+ request.setDevice(device.deviceAddress);
82
+ request.setAxesList(axes);
83
+ request.setConfig(translator_config_1.TranslatorConfig.toProtobuf(config));
84
+ const response = await gateway.callAsync('gcode/create_from_device', request, gateway.TranslatorCreateResponse);
85
+ return new OfflineTranslator(response.getTranslatorId());
86
+ }
70
87
  /**
71
88
  * Translates a single block (line) of G-code.
72
89
  * @param block Block (line) of G-code.
@@ -1 +1 @@
1
- {"version":3,"file":"offline_translator.js","sourceRoot":"","sources":["../../../src/gcode/offline_translator.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from '../gateway';\nimport { DeviceDefinition } from './device_definition';\nimport { TranslatorConfig } from './translator_config';\nimport { TranslateResult } from './translate_result';\nimport { Angle, Length, Native, AngularVelocity, Velocity } from '../units';\nimport { registerForFinalization } from '../finalizer';\n\n/**\n * Represents an offline G-Code translator.\n * It allows to translate G-Code blocks to Zaber ASCII protocol stream commands.\n * This translator does not need a connected device to perform translation.\n */\nexport class OfflineTranslator {\n /**\n * The ID of the translator that serves to identify native resources.\n */\n public get translatorId(): number {\n return this._translatorId;\n }\n private _translatorId: number;\n\n /**\n * Current coordinate system.\n */\n public get coordinateSystem(): string {\n return this._getCurrentCoordinateSystem();\n }\n\n constructor(translatorId: number) {\n this._translatorId = translatorId;\n registerForFinalization(this, OfflineTranslator._free.bind(null, translatorId));\n }\n\n /**\n * Sets up translator from provided device definition and configuration.\n * @param definition Definition of device and its peripherals.\n * The definition must match a device that later performs the commands.\n * @param config? Configuration of the translator.\n * @return New instance of translator.\n */\n public static async setup(\n definition: DeviceDefinition,\n config?: TranslatorConfig\n ): Promise<OfflineTranslator> {\n const request = new gateway.TranslatorCreateRequest();\n request.setDefinition(DeviceDefinition.toProtobuf(definition));\n request.setConfig(TranslatorConfig.toProtobuf(config));\n\n const response = await gateway.callAsync<gateway.TranslatorCreateResponse>(\n 'gcode/create',\n request,\n gateway.TranslatorCreateResponse);\n return new OfflineTranslator(response.getTranslatorId());\n }\n\n /**\n * Translates a single block (line) of G-code.\n * @param block Block (line) of G-code.\n * @return Result of translation containing the stream commands.\n */\n public translate(\n block: string\n ): TranslateResult {\n const request = new gateway.TranslatorTranslateRequest();\n request.setTranslatorId(this.translatorId);\n request.setBlock(block);\n\n const response = gateway.callSync<gateway.TranslatorTranslateResponse>(\n 'gcode/translate',\n request,\n gateway.TranslatorTranslateResponse);\n return TranslateResult.fromProtobuf(response.toObject());\n }\n\n /**\n * Flushes the remaining stream commands waiting in optimization buffer.\n * The flush is also performed by M2 and M30 codes.\n * @return The remaining stream commands.\n */\n public flush(): string[] {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n const response = gateway.callSync<gateway.TranslatorFlushResponse>(\n 'gcode/flush',\n request,\n gateway.TranslatorFlushResponse);\n return response.getCommandsList();\n }\n\n /**\n * Sets the speed at which the device moves when traversing (G0).\n * @param traverseRate The traverse rate.\n * @param unit Units of the traverse rate.\n */\n public setTraverseRate(\n traverseRate: number,\n unit: Velocity | AngularVelocity | Native\n ): void {\n const request = new gateway.TranslatorSetTraverseRateRequest();\n request.setTranslatorId(this.translatorId);\n request.setTraverseRate(traverseRate);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_traverse_rate', request);\n }\n\n /**\n * Sets position of translator's axis.\n * Use this method to set position after performing movement outside of the translator.\n * This method does not cause any movement.\n * @param axis Letter of the axis.\n * @param position The position.\n * @param unit Units of position.\n */\n public setAxisPosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_position', request);\n }\n\n /**\n * Gets position of translator's axis.\n * This method does not query device but returns value from translator's state.\n * @param axis Letter of the axis.\n * @param unit Units of position.\n * @return Position of translator's axis.\n */\n public getAxisPosition(\n axis: string,\n unit: Length | Angle | Native\n ): number {\n const request = new gateway.TranslatorGetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setUnit(unit);\n\n const response = gateway.callSync<gateway.DoubleResponse>(\n 'gcode/get_axis_position',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the home position of translator's axis.\n * This position is used by G28.\n * @param axis Letter of the axis.\n * @param position The home position.\n * @param unit Units of position.\n */\n public setAxisHomePosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_home', request);\n }\n\n /**\n * Sets the secondary home position of translator's axis.\n * This position is used by G30.\n * @param axis Letter of the axis.\n * @param position The home position.\n * @param unit Units of position.\n */\n public setAxisSecondaryHomePosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_secondary_home', request);\n }\n\n /**\n * Gets offset of an axis in a given coordinate system.\n * @param coordinateSystem Coordinate system (e.g. G54).\n * @param axis Letter of the axis.\n * @param unit Units of position.\n * @return Offset in translator units of the axis.\n */\n public getAxisCoordinateSystemOffset(\n coordinateSystem: string,\n axis: string,\n unit: Length | Angle | Native\n ): number {\n const request = new gateway.TranslatorGetAxisOffsetRequest();\n request.setTranslatorId(this.translatorId);\n request.setCoordinateSystem(coordinateSystem);\n request.setAxis(axis);\n request.setUnit(unit);\n\n const response = gateway.callSync<gateway.DoubleResponse>(\n 'gcode/get_axis_offset',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Resets internal state after device rejected generated command.\n * Axis positions become uninitialized.\n */\n public resetAfterStreamError(): void {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n gateway.callSync('gcode/reset_after_stream_error', request);\n }\n\n /**\n * Allows to scale feed rate of the translated code by a coefficient.\n * @param coefficient Coefficient of the original feed rate.\n */\n public setFeedRateOverride(\n coefficient: number\n ): void {\n const request = new gateway.TranslatorSetFeedRateOverrideRequest();\n request.setTranslatorId(this.translatorId);\n request.setCoefficient(coefficient);\n\n gateway.callSync('gcode/set_feed_rate_override', request);\n }\n\n /**\n * Releases native resources of a translator.\n * @param translatorId The ID of the translator.\n */\n private static _free(\n translatorId: number\n ): void {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(translatorId);\n\n gateway.callSync('gcode/free', request);\n }\n\n /**\n * Gets current coordinate system (e.g. G54).\n * @return Current coordinate system.\n */\n private _getCurrentCoordinateSystem(): string {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n const response = gateway.callSync<gateway.StringResponse>(\n 'gcode/get_current_coordinate_system',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Releases the native resources of the translator.\n * Should only be called if your environment does not support FinalizationRegistry.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n */\n public free(): void {\n OfflineTranslator._free(this.translatorId);\n }\n}\n"]}
1
+ {"version":3,"file":"offline_translator.js","sourceRoot":"","sources":["../../../src/gcode/offline_translator.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from '../gateway';\nimport { DeviceDefinition } from './device_definition';\nimport { TranslatorConfig } from './translator_config';\nimport { TranslateResult } from './translate_result';\nimport { Device } from '../ascii/device';\nimport { Angle, Length, Native, AngularVelocity, Velocity } from '../units';\nimport { registerForFinalization } from '../finalizer';\n\n/**\n * Represents an offline G-Code translator.\n * It allows to translate G-Code blocks to Zaber ASCII protocol stream commands.\n * This translator does not need a connected device to perform translation.\n */\nexport class OfflineTranslator {\n /**\n * The ID of the translator that serves to identify native resources.\n */\n public get translatorId(): number {\n return this._translatorId;\n }\n private _translatorId: number;\n\n /**\n * Current coordinate system.\n */\n public get coordinateSystem(): string {\n return this._getCurrentCoordinateSystem();\n }\n\n constructor(translatorId: number) {\n this._translatorId = translatorId;\n registerForFinalization(this, OfflineTranslator._free.bind(null, translatorId));\n }\n\n /**\n * Sets up translator from provided device definition and configuration.\n * @param definition Definition of device and its peripherals.\n * The definition must match a device that later performs the commands.\n * @param config? Configuration of the translator.\n * @return New instance of translator.\n */\n public static async setup(\n definition: DeviceDefinition,\n config?: TranslatorConfig\n ): Promise<OfflineTranslator> {\n const request = new gateway.TranslatorCreateRequest();\n request.setDefinition(DeviceDefinition.toProtobuf(definition));\n request.setConfig(TranslatorConfig.toProtobuf(config));\n\n const response = await gateway.callAsync<gateway.TranslatorCreateResponse>(\n 'gcode/create',\n request,\n gateway.TranslatorCreateResponse);\n return new OfflineTranslator(response.getTranslatorId());\n }\n\n /**\n * Sets up an offline translator from provided device, axes, and configuration.\n * @param device Device that later performs the command streaming.\n * @param axes Axis numbers that are later used to setup the stream.\n * For a lockstep group specify only the first axis of the group.\n * @param config? Configuration of the translator.\n * @return New instance of translator.\n */\n public static async setupFromDevice(\n device: Device,\n axes: number[],\n config?: TranslatorConfig\n ): Promise<OfflineTranslator> {\n const request = new gateway.TranslatorCreateFromDeviceRequest();\n request.setInterfaceId(device.connection.interfaceId);\n request.setDevice(device.deviceAddress);\n request.setAxesList(axes);\n request.setConfig(TranslatorConfig.toProtobuf(config));\n\n const response = await gateway.callAsync<gateway.TranslatorCreateResponse>(\n 'gcode/create_from_device',\n request,\n gateway.TranslatorCreateResponse);\n return new OfflineTranslator(response.getTranslatorId());\n }\n\n /**\n * Translates a single block (line) of G-code.\n * @param block Block (line) of G-code.\n * @return Result of translation containing the stream commands.\n */\n public translate(\n block: string\n ): TranslateResult {\n const request = new gateway.TranslatorTranslateRequest();\n request.setTranslatorId(this.translatorId);\n request.setBlock(block);\n\n const response = gateway.callSync<gateway.TranslatorTranslateResponse>(\n 'gcode/translate',\n request,\n gateway.TranslatorTranslateResponse);\n return TranslateResult.fromProtobuf(response.toObject());\n }\n\n /**\n * Flushes the remaining stream commands waiting in optimization buffer.\n * The flush is also performed by M2 and M30 codes.\n * @return The remaining stream commands.\n */\n public flush(): string[] {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n const response = gateway.callSync<gateway.TranslatorFlushResponse>(\n 'gcode/flush',\n request,\n gateway.TranslatorFlushResponse);\n return response.getCommandsList();\n }\n\n /**\n * Sets the speed at which the device moves when traversing (G0).\n * @param traverseRate The traverse rate.\n * @param unit Units of the traverse rate.\n */\n public setTraverseRate(\n traverseRate: number,\n unit: Velocity | AngularVelocity | Native\n ): void {\n const request = new gateway.TranslatorSetTraverseRateRequest();\n request.setTranslatorId(this.translatorId);\n request.setTraverseRate(traverseRate);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_traverse_rate', request);\n }\n\n /**\n * Sets position of translator's axis.\n * Use this method to set position after performing movement outside of the translator.\n * This method does not cause any movement.\n * @param axis Letter of the axis.\n * @param position The position.\n * @param unit Units of position.\n */\n public setAxisPosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_position', request);\n }\n\n /**\n * Gets position of translator's axis.\n * This method does not query device but returns value from translator's state.\n * @param axis Letter of the axis.\n * @param unit Units of position.\n * @return Position of translator's axis.\n */\n public getAxisPosition(\n axis: string,\n unit: Length | Angle | Native\n ): number {\n const request = new gateway.TranslatorGetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setUnit(unit);\n\n const response = gateway.callSync<gateway.DoubleResponse>(\n 'gcode/get_axis_position',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Sets the home position of translator's axis.\n * This position is used by G28.\n * @param axis Letter of the axis.\n * @param position The home position.\n * @param unit Units of position.\n */\n public setAxisHomePosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_home', request);\n }\n\n /**\n * Sets the secondary home position of translator's axis.\n * This position is used by G30.\n * @param axis Letter of the axis.\n * @param position The home position.\n * @param unit Units of position.\n */\n public setAxisSecondaryHomePosition(\n axis: string,\n position: number,\n unit: Length | Angle | Native\n ): void {\n const request = new gateway.TranslatorSetAxisPositionRequest();\n request.setTranslatorId(this.translatorId);\n request.setAxis(axis);\n request.setPosition(position);\n request.setUnit(unit);\n\n gateway.callSync('gcode/set_axis_secondary_home', request);\n }\n\n /**\n * Gets offset of an axis in a given coordinate system.\n * @param coordinateSystem Coordinate system (e.g. G54).\n * @param axis Letter of the axis.\n * @param unit Units of position.\n * @return Offset in translator units of the axis.\n */\n public getAxisCoordinateSystemOffset(\n coordinateSystem: string,\n axis: string,\n unit: Length | Angle | Native\n ): number {\n const request = new gateway.TranslatorGetAxisOffsetRequest();\n request.setTranslatorId(this.translatorId);\n request.setCoordinateSystem(coordinateSystem);\n request.setAxis(axis);\n request.setUnit(unit);\n\n const response = gateway.callSync<gateway.DoubleResponse>(\n 'gcode/get_axis_offset',\n request,\n gateway.DoubleResponse);\n return response.getValue();\n }\n\n /**\n * Resets internal state after device rejected generated command.\n * Axis positions become uninitialized.\n */\n public resetAfterStreamError(): void {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n gateway.callSync('gcode/reset_after_stream_error', request);\n }\n\n /**\n * Allows to scale feed rate of the translated code by a coefficient.\n * @param coefficient Coefficient of the original feed rate.\n */\n public setFeedRateOverride(\n coefficient: number\n ): void {\n const request = new gateway.TranslatorSetFeedRateOverrideRequest();\n request.setTranslatorId(this.translatorId);\n request.setCoefficient(coefficient);\n\n gateway.callSync('gcode/set_feed_rate_override', request);\n }\n\n /**\n * Releases native resources of a translator.\n * @param translatorId The ID of the translator.\n */\n private static _free(\n translatorId: number\n ): void {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(translatorId);\n\n gateway.callSync('gcode/free', request);\n }\n\n /**\n * Gets current coordinate system (e.g. G54).\n * @return Current coordinate system.\n */\n private _getCurrentCoordinateSystem(): string {\n const request = new gateway.TranslatorEmptyRequest();\n request.setTranslatorId(this.translatorId);\n\n const response = gateway.callSync<gateway.StringResponse>(\n 'gcode/get_current_coordinate_system',\n request,\n gateway.StringResponse);\n return response.getValue();\n }\n\n /**\n * Releases the native resources of the translator.\n * Should only be called if your environment does not support FinalizationRegistry.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n */\n public free(): void {\n OfflineTranslator._free(this.translatorId);\n }\n}\n"]}
@@ -5369,6 +5369,42 @@ export namespace TranslatorCreateLiveRequest {
5369
5369
  }
5370
5370
  }
5371
5371
 
5372
+ export class TranslatorCreateFromDeviceRequest extends jspb.Message {
5373
+ getInterfaceId(): number;
5374
+ setInterfaceId(value: number): void;
5375
+
5376
+ getDevice(): number;
5377
+ setDevice(value: number): void;
5378
+
5379
+ clearAxesList(): void;
5380
+ getAxesList(): Array<number>;
5381
+ setAxesList(value: Array<number>): void;
5382
+ addAxes(value: number, index?: number): number;
5383
+
5384
+ hasConfig(): boolean;
5385
+ clearConfig(): void;
5386
+ getConfig(): TranslatorConfig | undefined;
5387
+ setConfig(value?: TranslatorConfig): void;
5388
+
5389
+ serializeBinary(): Uint8Array;
5390
+ toObject(includeInstance?: boolean): TranslatorCreateFromDeviceRequest.AsObject;
5391
+ static toObject(includeInstance: boolean, msg: TranslatorCreateFromDeviceRequest): TranslatorCreateFromDeviceRequest.AsObject;
5392
+ static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
5393
+ static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
5394
+ static serializeBinaryToWriter(message: TranslatorCreateFromDeviceRequest, writer: jspb.BinaryWriter): void;
5395
+ static deserializeBinary(bytes: Uint8Array): TranslatorCreateFromDeviceRequest;
5396
+ static deserializeBinaryFromReader(message: TranslatorCreateFromDeviceRequest, reader: jspb.BinaryReader): TranslatorCreateFromDeviceRequest;
5397
+ }
5398
+
5399
+ export namespace TranslatorCreateFromDeviceRequest {
5400
+ export type AsObject = {
5401
+ interfaceId: number,
5402
+ device: number,
5403
+ axesList: Array<number>,
5404
+ config?: TranslatorConfig.AsObject,
5405
+ }
5406
+ }
5407
+
5372
5408
  export class TranslatorEmptyRequest extends jspb.Message {
5373
5409
  getTranslatorId(): number;
5374
5410
  setTranslatorId(value: number): void;
@@ -199,6 +199,7 @@ goog.exportSymbol('zaber.motion.protobufs.TranslatorAxisDefinition', null, proto
199
199
  goog.exportSymbol('zaber.motion.protobufs.TranslatorAxisMapping', null, proto);
200
200
  goog.exportSymbol('zaber.motion.protobufs.TranslatorAxisTransformation', null, proto);
201
201
  goog.exportSymbol('zaber.motion.protobufs.TranslatorConfig', null, proto);
202
+ goog.exportSymbol('zaber.motion.protobufs.TranslatorCreateFromDeviceRequest', null, proto);
202
203
  goog.exportSymbol('zaber.motion.protobufs.TranslatorCreateLiveRequest', null, proto);
203
204
  goog.exportSymbol('zaber.motion.protobufs.TranslatorCreateRequest', null, proto);
204
205
  goog.exportSymbol('zaber.motion.protobufs.TranslatorCreateResponse', null, proto);
@@ -3890,6 +3891,27 @@ if (goog.DEBUG && !COMPILED) {
3890
3891
  */
3891
3892
  proto.zaber.motion.protobufs.TranslatorCreateLiveRequest.displayName = 'proto.zaber.motion.protobufs.TranslatorCreateLiveRequest';
3892
3893
  }
3894
+ /**
3895
+ * Generated by JsPbCodeGenerator.
3896
+ * @param {Array=} opt_data Optional initial data array, typically from a
3897
+ * server response, or constructed directly in Javascript. The array is used
3898
+ * in place and becomes part of the constructed object. It is not cloned.
3899
+ * If no data is provided, the constructed object will be empty, but still
3900
+ * valid.
3901
+ * @extends {jspb.Message}
3902
+ * @constructor
3903
+ */
3904
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest = function(opt_data) {
3905
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.repeatedFields_, null);
3906
+ };
3907
+ goog.inherits(proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest, jspb.Message);
3908
+ if (goog.DEBUG && !COMPILED) {
3909
+ /**
3910
+ * @public
3911
+ * @override
3912
+ */
3913
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.displayName = 'proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest';
3914
+ }
3893
3915
  /**
3894
3916
  * Generated by JsPbCodeGenerator.
3895
3917
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -41323,6 +41345,275 @@ proto.zaber.motion.protobufs.TranslatorCreateLiveRequest.prototype.hasConfig = f
41323
41345
 
41324
41346
 
41325
41347
 
41348
+ /**
41349
+ * List of repeated fields within this message type.
41350
+ * @private {!Array<number>}
41351
+ * @const
41352
+ */
41353
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.repeatedFields_ = [3];
41354
+
41355
+
41356
+
41357
+ if (jspb.Message.GENERATE_TO_OBJECT) {
41358
+ /**
41359
+ * Creates an object representation of this proto.
41360
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
41361
+ * Optional fields that are not set will be set to undefined.
41362
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
41363
+ * For the list of reserved names please see:
41364
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
41365
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
41366
+ * JSPB instance for transitional soy proto support:
41367
+ * http://goto/soy-param-migration
41368
+ * @return {!Object}
41369
+ */
41370
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.toObject = function(opt_includeInstance) {
41371
+ return proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.toObject(opt_includeInstance, this);
41372
+ };
41373
+
41374
+
41375
+ /**
41376
+ * Static version of the {@see toObject} method.
41377
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
41378
+ * the JSPB instance for transitional soy proto support:
41379
+ * http://goto/soy-param-migration
41380
+ * @param {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} msg The msg instance to transform.
41381
+ * @return {!Object}
41382
+ * @suppress {unusedLocalVariables} f is only used for nested messages
41383
+ */
41384
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.toObject = function(includeInstance, msg) {
41385
+ var f, obj = {
41386
+ interfaceId: jspb.Message.getFieldWithDefault(msg, 1, 0),
41387
+ device: jspb.Message.getFieldWithDefault(msg, 2, 0),
41388
+ axesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
41389
+ config: (f = msg.getConfig()) && proto.zaber.motion.protobufs.TranslatorConfig.toObject(includeInstance, f)
41390
+ };
41391
+
41392
+ if (includeInstance) {
41393
+ obj.$jspbMessageInstance = msg;
41394
+ }
41395
+ return obj;
41396
+ };
41397
+ }
41398
+
41399
+
41400
+ /**
41401
+ * Deserializes binary data (in protobuf wire format).
41402
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
41403
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest}
41404
+ */
41405
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.deserializeBinary = function(bytes) {
41406
+ var reader = new jspb.BinaryReader(bytes);
41407
+ var msg = new proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest;
41408
+ return proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.deserializeBinaryFromReader(msg, reader);
41409
+ };
41410
+
41411
+
41412
+ /**
41413
+ * Deserializes binary data (in protobuf wire format) from the
41414
+ * given reader into the given message object.
41415
+ * @param {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} msg The message object to deserialize into.
41416
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
41417
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest}
41418
+ */
41419
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.deserializeBinaryFromReader = function(msg, reader) {
41420
+ while (reader.nextField()) {
41421
+ if (reader.isEndGroup()) {
41422
+ break;
41423
+ }
41424
+ var field = reader.getFieldNumber();
41425
+ switch (field) {
41426
+ case 1:
41427
+ var value = /** @type {number} */ (reader.readInt32());
41428
+ msg.setInterfaceId(value);
41429
+ break;
41430
+ case 2:
41431
+ var value = /** @type {number} */ (reader.readInt32());
41432
+ msg.setDevice(value);
41433
+ break;
41434
+ case 3:
41435
+ var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
41436
+ for (var i = 0; i < values.length; i++) {
41437
+ msg.addAxes(values[i]);
41438
+ }
41439
+ break;
41440
+ case 4:
41441
+ var value = new proto.zaber.motion.protobufs.TranslatorConfig;
41442
+ reader.readMessage(value,proto.zaber.motion.protobufs.TranslatorConfig.deserializeBinaryFromReader);
41443
+ msg.setConfig(value);
41444
+ break;
41445
+ default:
41446
+ reader.skipField();
41447
+ break;
41448
+ }
41449
+ }
41450
+ return msg;
41451
+ };
41452
+
41453
+
41454
+ /**
41455
+ * Serializes the message to binary data (in protobuf wire format).
41456
+ * @return {!Uint8Array}
41457
+ */
41458
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.serializeBinary = function() {
41459
+ var writer = new jspb.BinaryWriter();
41460
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.serializeBinaryToWriter(this, writer);
41461
+ return writer.getResultBuffer();
41462
+ };
41463
+
41464
+
41465
+ /**
41466
+ * Serializes the given message to binary data (in protobuf wire
41467
+ * format), writing to the given BinaryWriter.
41468
+ * @param {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} message
41469
+ * @param {!jspb.BinaryWriter} writer
41470
+ * @suppress {unusedLocalVariables} f is only used for nested messages
41471
+ */
41472
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.serializeBinaryToWriter = function(message, writer) {
41473
+ var f = undefined;
41474
+ f = message.getInterfaceId();
41475
+ if (f !== 0) {
41476
+ writer.writeInt32(
41477
+ 1,
41478
+ f
41479
+ );
41480
+ }
41481
+ f = message.getDevice();
41482
+ if (f !== 0) {
41483
+ writer.writeInt32(
41484
+ 2,
41485
+ f
41486
+ );
41487
+ }
41488
+ f = message.getAxesList();
41489
+ if (f.length > 0) {
41490
+ writer.writePackedInt32(
41491
+ 3,
41492
+ f
41493
+ );
41494
+ }
41495
+ f = message.getConfig();
41496
+ if (f != null) {
41497
+ writer.writeMessage(
41498
+ 4,
41499
+ f,
41500
+ proto.zaber.motion.protobufs.TranslatorConfig.serializeBinaryToWriter
41501
+ );
41502
+ }
41503
+ };
41504
+
41505
+
41506
+ /**
41507
+ * optional int32 interface_id = 1;
41508
+ * @return {number}
41509
+ */
41510
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.getInterfaceId = function() {
41511
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
41512
+ };
41513
+
41514
+
41515
+ /**
41516
+ * @param {number} value
41517
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41518
+ */
41519
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.setInterfaceId = function(value) {
41520
+ return jspb.Message.setProto3IntField(this, 1, value);
41521
+ };
41522
+
41523
+
41524
+ /**
41525
+ * optional int32 device = 2;
41526
+ * @return {number}
41527
+ */
41528
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.getDevice = function() {
41529
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
41530
+ };
41531
+
41532
+
41533
+ /**
41534
+ * @param {number} value
41535
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41536
+ */
41537
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.setDevice = function(value) {
41538
+ return jspb.Message.setProto3IntField(this, 2, value);
41539
+ };
41540
+
41541
+
41542
+ /**
41543
+ * repeated int32 axes = 3;
41544
+ * @return {!Array<number>}
41545
+ */
41546
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.getAxesList = function() {
41547
+ return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 3));
41548
+ };
41549
+
41550
+
41551
+ /**
41552
+ * @param {!Array<number>} value
41553
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41554
+ */
41555
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.setAxesList = function(value) {
41556
+ return jspb.Message.setField(this, 3, value || []);
41557
+ };
41558
+
41559
+
41560
+ /**
41561
+ * @param {number} value
41562
+ * @param {number=} opt_index
41563
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41564
+ */
41565
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.addAxes = function(value, opt_index) {
41566
+ return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
41567
+ };
41568
+
41569
+
41570
+ /**
41571
+ * Clears the list making it empty but non-null.
41572
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41573
+ */
41574
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.clearAxesList = function() {
41575
+ return this.setAxesList([]);
41576
+ };
41577
+
41578
+
41579
+ /**
41580
+ * optional TranslatorConfig config = 4;
41581
+ * @return {?proto.zaber.motion.protobufs.TranslatorConfig}
41582
+ */
41583
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.getConfig = function() {
41584
+ return /** @type{?proto.zaber.motion.protobufs.TranslatorConfig} */ (
41585
+ jspb.Message.getWrapperField(this, proto.zaber.motion.protobufs.TranslatorConfig, 4));
41586
+ };
41587
+
41588
+
41589
+ /**
41590
+ * @param {?proto.zaber.motion.protobufs.TranslatorConfig|undefined} value
41591
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41592
+ */
41593
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.setConfig = function(value) {
41594
+ return jspb.Message.setWrapperField(this, 4, value);
41595
+ };
41596
+
41597
+
41598
+ /**
41599
+ * Clears the message field making it undefined.
41600
+ * @return {!proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest} returns this
41601
+ */
41602
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.clearConfig = function() {
41603
+ return this.setConfig(undefined);
41604
+ };
41605
+
41606
+
41607
+ /**
41608
+ * Returns whether this field is set.
41609
+ * @return {boolean}
41610
+ */
41611
+ proto.zaber.motion.protobufs.TranslatorCreateFromDeviceRequest.prototype.hasConfig = function() {
41612
+ return jspb.Message.getField(this, 4) != null;
41613
+ };
41614
+
41615
+
41616
+
41326
41617
 
41327
41618
 
41328
41619
  if (jspb.Message.GENERATE_TO_OBJECT) {