@zaber/motion 4.2.3 → 4.2.5

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.
@@ -32,4 +32,11 @@ export declare class Library {
32
32
  * @param mode Whether to turn internal mode on or off.
33
33
  */
34
34
  static setInternalMode(mode: boolean): void;
35
+ /**
36
+ * Sets the period between polling for IDLE during movements.
37
+ * Caution: Setting the period too low may cause performance issues.
38
+ * @param period Period in milliseconds.
39
+ * Negative value restores the default period.
40
+ */
41
+ static setIdlePollingPeriod(period: number): void;
35
42
  }
@@ -81,6 +81,17 @@ class Library {
81
81
  request.setMode(mode);
82
82
  gateway.callSync('library/set_internal_mode', request);
83
83
  }
84
+ /**
85
+ * Sets the period between polling for IDLE during movements.
86
+ * Caution: Setting the period too low may cause performance issues.
87
+ * @param period Period in milliseconds.
88
+ * Negative value restores the default period.
89
+ */
90
+ static setIdlePollingPeriod(period) {
91
+ const request = new gateway.IntRequest();
92
+ request.setValue(period);
93
+ gateway.callSync('library/set_idle_polling_period', request);
94
+ }
84
95
  }
85
96
  exports.Library = Library;
86
97
  //# sourceMappingURL=library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,mDAAqC;AAIrC,MAAa,OAAO;IAClB;;;;OAIG;IACI,MAAM,CAAC,YAAY,CACxB,IAAmB,EACnB,WAAmB,EAAE;QAErB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAC7B,UAA8B,EAC9B,gBAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACvD,OAAO,CAAC,aAAa,CAAC,UAAiB,CAAC,CAAC;QACzC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,mBAAmB,CAC/B,gBAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACzD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAEzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAC3B,IAAa;QAEb,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,CAAC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF;AAzED,0BAyEC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\nimport { LogOutputMode } from './log_output_mode';\nimport { DeviceDbSourceType } from './device_db_source_type';\n\nexport class Library {\n /**\n * Sets library logging output.\n * @param mode Logging output mode.\n * @param [filePath=''] Path of the file to open.\n */\n public static setLogOutput(\n mode: LogOutputMode,\n filePath: string = ''\n ): void {\n const request = new gateway.SetLogOutputRequest();\n request.setMode(mode as any);\n request.setFilePath(filePath);\n\n gateway.callSync('logging/set_output', request);\n }\n\n /**\n * Sets source of Device DB data. Allows selection of a web service or a local file.\n * @param sourceType Source type.\n * @param [urlOrFilePath=''] URL of the web service or path to the local file.\n * Leave empty for the default URL of Zaber web service.\n */\n public static setDeviceDbSource(\n sourceType: DeviceDbSourceType,\n urlOrFilePath: string = ''\n ): void {\n const request = new gateway.SetDeviceDbSourceRequest();\n request.setSourceType(sourceType as any);\n request.setUrlOrFilePath(urlOrFilePath);\n\n gateway.callSync('device_db/set_source', request);\n }\n\n /**\n * Enables Device DB store.\n * The store uses filesystem to save information obtained from the Device DB.\n * The stored data are later used instead of the Device DB.\n * @param [storeLocation=''] Specifies relative or absolute path of the folder used by the store.\n * If left empty defaults to a folder in user home directory.\n * Must be accessible by the process.\n */\n public static enableDeviceDbStore(\n storeLocation: string = ''\n ): void {\n const request = new gateway.ToggleDeviceDbStoreRequest();\n request.setToggleOn(true);\n request.setStoreLocation(storeLocation);\n\n gateway.callSync('device_db/toggle_store', request);\n }\n\n /**\n * Disables Device DB store.\n */\n public static disableDeviceDbStore(): void {\n const request = new gateway.ToggleDeviceDbStoreRequest();\n\n gateway.callSync('device_db/toggle_store', request);\n }\n\n /**\n * Disables certain customer checks (like FF flag).\n * @param mode Whether to turn internal mode on or off.\n */\n public static setInternalMode(\n mode: boolean\n ): void {\n const request = new gateway.SetInternalModeRequest();\n request.setMode(mode);\n\n gateway.callSync('library/set_internal_mode', request);\n }\n}\n"]}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,mDAAqC;AAIrC,MAAa,OAAO;IAClB;;;;OAIG;IACI,MAAM,CAAC,YAAY,CACxB,IAAmB,EACnB,WAAmB,EAAE;QAErB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAC7B,UAA8B,EAC9B,gBAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACvD,OAAO,CAAC,aAAa,CAAC,UAAiB,CAAC,CAAC;QACzC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,mBAAmB,CAC/B,gBAAwB,EAAE;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACzD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAEzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAC3B,IAAa;QAEb,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,CAAC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,oBAAoB,CAChC,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,CAAC,QAAQ,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACF;AAxFD,0BAwFC","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from './gateway';\nimport { LogOutputMode } from './log_output_mode';\nimport { DeviceDbSourceType } from './device_db_source_type';\n\nexport class Library {\n /**\n * Sets library logging output.\n * @param mode Logging output mode.\n * @param [filePath=''] Path of the file to open.\n */\n public static setLogOutput(\n mode: LogOutputMode,\n filePath: string = ''\n ): void {\n const request = new gateway.SetLogOutputRequest();\n request.setMode(mode as any);\n request.setFilePath(filePath);\n\n gateway.callSync('logging/set_output', request);\n }\n\n /**\n * Sets source of Device DB data. Allows selection of a web service or a local file.\n * @param sourceType Source type.\n * @param [urlOrFilePath=''] URL of the web service or path to the local file.\n * Leave empty for the default URL of Zaber web service.\n */\n public static setDeviceDbSource(\n sourceType: DeviceDbSourceType,\n urlOrFilePath: string = ''\n ): void {\n const request = new gateway.SetDeviceDbSourceRequest();\n request.setSourceType(sourceType as any);\n request.setUrlOrFilePath(urlOrFilePath);\n\n gateway.callSync('device_db/set_source', request);\n }\n\n /**\n * Enables Device DB store.\n * The store uses filesystem to save information obtained from the Device DB.\n * The stored data are later used instead of the Device DB.\n * @param [storeLocation=''] Specifies relative or absolute path of the folder used by the store.\n * If left empty defaults to a folder in user home directory.\n * Must be accessible by the process.\n */\n public static enableDeviceDbStore(\n storeLocation: string = ''\n ): void {\n const request = new gateway.ToggleDeviceDbStoreRequest();\n request.setToggleOn(true);\n request.setStoreLocation(storeLocation);\n\n gateway.callSync('device_db/toggle_store', request);\n }\n\n /**\n * Disables Device DB store.\n */\n public static disableDeviceDbStore(): void {\n const request = new gateway.ToggleDeviceDbStoreRequest();\n\n gateway.callSync('device_db/toggle_store', request);\n }\n\n /**\n * Disables certain customer checks (like FF flag).\n * @param mode Whether to turn internal mode on or off.\n */\n public static setInternalMode(\n mode: boolean\n ): void {\n const request = new gateway.SetInternalModeRequest();\n request.setMode(mode);\n\n gateway.callSync('library/set_internal_mode', request);\n }\n\n /**\n * Sets the period between polling for IDLE during movements.\n * Caution: Setting the period too low may cause performance issues.\n * @param period Period in milliseconds.\n * Negative value restores the default period.\n */\n public static setIdlePollingPeriod(\n period: number\n ): void {\n const request = new gateway.IntRequest();\n request.setValue(period);\n\n gateway.callSync('library/set_idle_polling_period', request);\n }\n}\n"]}
@@ -50,6 +50,12 @@ export declare class ObjectiveChanger {
50
50
  * Moves the focus stage out of the turret releasing the current objective.
51
51
  */
52
52
  release(): Promise<void>;
53
+ /**
54
+ * Returns current objective number starting from 1.
55
+ * The value of 0 indicates that the position is either unknown or between two objectives.
56
+ * @returns Current objective number starting from 1 or 0 if not applicable.
57
+ */
58
+ getCurrentObjective(): Promise<number>;
53
59
  }
54
60
  declare namespace ObjectiveChanger {
55
61
  interface FindOptions {
@@ -111,6 +111,19 @@ class ObjectiveChanger {
111
111
  request.setFocusAddress(this.focusAddress);
112
112
  await gateway.callAsync('objective_changer/release', request);
113
113
  }
114
+ /**
115
+ * Returns current objective number starting from 1.
116
+ * The value of 0 indicates that the position is either unknown or between two objectives.
117
+ * @returns Current objective number starting from 1 or 0 if not applicable.
118
+ */
119
+ async getCurrentObjective() {
120
+ const request = new gateway.ObjectiveChangerRequest();
121
+ request.setInterfaceId(this.connection.interfaceId);
122
+ request.setTurretAddress(this.turretAddress);
123
+ request.setFocusAddress(this.focusAddress);
124
+ const response = await gateway.callAsync('objective_changer/get_current_objective', request, gateway.ObjectiveChangerGetCurrentResponse);
125
+ return response.getValue();
126
+ }
114
127
  }
115
128
  exports.ObjectiveChanger = ObjectiveChanger;
116
129
  //# sourceMappingURL=objective_changer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objective_changer.js","sourceRoot":"","sources":["../../../src/microscopy/objective_changer.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 { Connection } from '../ascii/connection';\nimport { Device } from '../ascii/device';\nimport { Axis } from '../ascii/axis';\nimport { Measurement } from '../measurement';\n\n/**\n * Represents an objective changer of a microscope.\n * Unstable. Expect breaking changes in future releases.\n * Requires at least Firmware 7.32.\n */\nexport class ObjectiveChanger {\n /**\n * Connection of this device.\n */\n public get connection(): Connection {\n return this._connection;\n }\n private _connection: Connection;\n\n /**\n * Device address of the turret.\n */\n public get turretAddress(): number {\n return this._turretAddress;\n }\n private _turretAddress: number;\n\n /**\n * Device address of the focus.\n */\n public get focusAddress(): number {\n return this._focusAddress;\n }\n private _focusAddress: number;\n\n /**\n * The focus axis.\n */\n public get focusAxis(): Axis {\n return this._focusAxis;\n }\n private _focusAxis: Axis;\n\n constructor(connection: Connection, turretAddress: number, focusAddress: number) {\n this._connection = connection;\n this._turretAddress = turretAddress;\n this._focusAddress = focusAddress;\n this._focusAxis = new Axis(new Device(connection, focusAddress), 1);\n }\n\n /**\n * Finds an objective changer on a connection.\n * In case of conflict, specify the optional device addresses.\n * Devices on the connection must be identified.\n * @param connection Connection on which to detect the objective changer.\n * @param [options.turretAddress=0] Optional device address of the turret device (X-MOR).\n * @param [options.focusAddress=0] Optional device address of the focus device (X-LDA).\n * @returns New instance of objective changer.\n */\n public static async find(\n connection: Connection,\n options: ObjectiveChanger.FindOptions = {}\n ): Promise<ObjectiveChanger> {\n const {\n turretAddress = 0,\n focusAddress = 0,\n } = options;\n const request = new gateway.ObjectiveChangerRequest();\n request.setInterfaceId(connection.interfaceId);\n request.setTurretAddress(turretAddress);\n request.setFocusAddress(focusAddress);\n\n const response = await gateway.callAsync<gateway.ObjectiveChangerCreateResponse>(\n 'objective_changer/detect',\n request,\n gateway.ObjectiveChangerCreateResponse);\n return new ObjectiveChanger(connection, response.getTurret(), response.getFocus());\n }\n\n /**\n * Changes the objective.\n * Runs a sequence of movements switching from the current objective to the new one.\n * @param objective Objective number starting from one.\n * @param options.focusOffset Optional focus offset from the datum.\n * If specified, the focus stage will move to the designated offset.\n */\n public async change(\n objective: number,\n options: ObjectiveChanger.ChangeOptions = {}\n ): Promise<void> {\n const {\n focusOffset,\n } = options;\n const request = new gateway.ObjectiveChangerChangeRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setTurretAddress(this.turretAddress);\n request.setFocusAddress(this.focusAddress);\n request.setObjective(objective);\n request.setFocusOffset(Measurement.toProtobuf(focusOffset));\n\n await gateway.callAsync('objective_changer/change', request);\n }\n\n /**\n * Moves the focus stage out of the turret releasing the current objective.\n */\n public async release(): Promise<void> {\n const request = new gateway.ObjectiveChangerRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setTurretAddress(this.turretAddress);\n request.setFocusAddress(this.focusAddress);\n\n await gateway.callAsync('objective_changer/release', request);\n }\n}\n\nnamespace ObjectiveChanger {\n export interface FindOptions {\n turretAddress?: number;\n focusAddress?: number;\n }\n export interface ChangeOptions {\n focusOffset?: Measurement;\n }\n}\n"]}
1
+ {"version":3,"file":"objective_changer.js","sourceRoot":"","sources":["../../../src/microscopy/objective_changer.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 { Connection } from '../ascii/connection';\nimport { Device } from '../ascii/device';\nimport { Axis } from '../ascii/axis';\nimport { Measurement } from '../measurement';\n\n/**\n * Represents an objective changer of a microscope.\n * Unstable. Expect breaking changes in future releases.\n * Requires at least Firmware 7.32.\n */\nexport class ObjectiveChanger {\n /**\n * Connection of this device.\n */\n public get connection(): Connection {\n return this._connection;\n }\n private _connection: Connection;\n\n /**\n * Device address of the turret.\n */\n public get turretAddress(): number {\n return this._turretAddress;\n }\n private _turretAddress: number;\n\n /**\n * Device address of the focus.\n */\n public get focusAddress(): number {\n return this._focusAddress;\n }\n private _focusAddress: number;\n\n /**\n * The focus axis.\n */\n public get focusAxis(): Axis {\n return this._focusAxis;\n }\n private _focusAxis: Axis;\n\n constructor(connection: Connection, turretAddress: number, focusAddress: number) {\n this._connection = connection;\n this._turretAddress = turretAddress;\n this._focusAddress = focusAddress;\n this._focusAxis = new Axis(new Device(connection, focusAddress), 1);\n }\n\n /**\n * Finds an objective changer on a connection.\n * In case of conflict, specify the optional device addresses.\n * Devices on the connection must be identified.\n * @param connection Connection on which to detect the objective changer.\n * @param [options.turretAddress=0] Optional device address of the turret device (X-MOR).\n * @param [options.focusAddress=0] Optional device address of the focus device (X-LDA).\n * @returns New instance of objective changer.\n */\n public static async find(\n connection: Connection,\n options: ObjectiveChanger.FindOptions = {}\n ): Promise<ObjectiveChanger> {\n const {\n turretAddress = 0,\n focusAddress = 0,\n } = options;\n const request = new gateway.ObjectiveChangerRequest();\n request.setInterfaceId(connection.interfaceId);\n request.setTurretAddress(turretAddress);\n request.setFocusAddress(focusAddress);\n\n const response = await gateway.callAsync<gateway.ObjectiveChangerCreateResponse>(\n 'objective_changer/detect',\n request,\n gateway.ObjectiveChangerCreateResponse);\n return new ObjectiveChanger(connection, response.getTurret(), response.getFocus());\n }\n\n /**\n * Changes the objective.\n * Runs a sequence of movements switching from the current objective to the new one.\n * @param objective Objective number starting from one.\n * @param options.focusOffset Optional focus offset from the datum.\n * If specified, the focus stage will move to the designated offset.\n */\n public async change(\n objective: number,\n options: ObjectiveChanger.ChangeOptions = {}\n ): Promise<void> {\n const {\n focusOffset,\n } = options;\n const request = new gateway.ObjectiveChangerChangeRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setTurretAddress(this.turretAddress);\n request.setFocusAddress(this.focusAddress);\n request.setObjective(objective);\n request.setFocusOffset(Measurement.toProtobuf(focusOffset));\n\n await gateway.callAsync('objective_changer/change', request);\n }\n\n /**\n * Moves the focus stage out of the turret releasing the current objective.\n */\n public async release(): Promise<void> {\n const request = new gateway.ObjectiveChangerRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setTurretAddress(this.turretAddress);\n request.setFocusAddress(this.focusAddress);\n\n await gateway.callAsync('objective_changer/release', request);\n }\n\n /**\n * Returns current objective number starting from 1.\n * The value of 0 indicates that the position is either unknown or between two objectives.\n * @returns Current objective number starting from 1 or 0 if not applicable.\n */\n public async getCurrentObjective(): Promise<number> {\n const request = new gateway.ObjectiveChangerRequest();\n request.setInterfaceId(this.connection.interfaceId);\n request.setTurretAddress(this.turretAddress);\n request.setFocusAddress(this.focusAddress);\n\n const response = await gateway.callAsync<gateway.ObjectiveChangerGetCurrentResponse>(\n 'objective_changer/get_current_objective',\n request,\n gateway.ObjectiveChangerGetCurrentResponse);\n return response.getValue();\n }\n}\n\nnamespace ObjectiveChanger {\n export interface FindOptions {\n turretAddress?: number;\n focusAddress?: number;\n }\n export interface ChangeOptions {\n focusOffset?: Measurement;\n }\n}\n"]}
@@ -92,6 +92,26 @@ export namespace EmptyRequest {
92
92
  }
93
93
  }
94
94
 
95
+ export class IntRequest extends jspb.Message {
96
+ getValue(): number;
97
+ setValue(value: number): void;
98
+
99
+ serializeBinary(): Uint8Array;
100
+ toObject(includeInstance?: boolean): IntRequest.AsObject;
101
+ static toObject(includeInstance: boolean, msg: IntRequest): IntRequest.AsObject;
102
+ static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
103
+ static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
104
+ static serializeBinaryToWriter(message: IntRequest, writer: jspb.BinaryWriter): void;
105
+ static deserializeBinary(bytes: Uint8Array): IntRequest;
106
+ static deserializeBinaryFromReader(message: IntRequest, reader: jspb.BinaryReader): IntRequest;
107
+ }
108
+
109
+ export namespace IntRequest {
110
+ export type AsObject = {
111
+ value: number,
112
+ }
113
+ }
114
+
95
115
  export class BoolResponse extends jspb.Message {
96
116
  getValue(): boolean;
97
117
  setValue(value: boolean): void;
@@ -6475,6 +6495,26 @@ export namespace ObjectiveChangerChangeRequest {
6475
6495
  }
6476
6496
  }
6477
6497
 
6498
+ export class ObjectiveChangerGetCurrentResponse extends jspb.Message {
6499
+ getValue(): number;
6500
+ setValue(value: number): void;
6501
+
6502
+ serializeBinary(): Uint8Array;
6503
+ toObject(includeInstance?: boolean): ObjectiveChangerGetCurrentResponse.AsObject;
6504
+ static toObject(includeInstance: boolean, msg: ObjectiveChangerGetCurrentResponse): ObjectiveChangerGetCurrentResponse.AsObject;
6505
+ static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
6506
+ static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
6507
+ static serializeBinaryToWriter(message: ObjectiveChangerGetCurrentResponse, writer: jspb.BinaryWriter): void;
6508
+ static deserializeBinary(bytes: Uint8Array): ObjectiveChangerGetCurrentResponse;
6509
+ static deserializeBinaryFromReader(message: ObjectiveChangerGetCurrentResponse, reader: jspb.BinaryReader): ObjectiveChangerGetCurrentResponse;
6510
+ }
6511
+
6512
+ export namespace ObjectiveChangerGetCurrentResponse {
6513
+ export type AsObject = {
6514
+ value: number,
6515
+ }
6516
+ }
6517
+
6478
6518
  export class ProcessOn extends jspb.Message {
6479
6519
  getInterfaceId(): number;
6480
6520
  setInterfaceId(value: number): void;
@@ -99,6 +99,7 @@ goog.exportSymbol('zaber.motion.protobufs.GenericCommandRequest', null, proto);
99
99
  goog.exportSymbol('zaber.motion.protobufs.GenericCommandResponse', null, proto);
100
100
  goog.exportSymbol('zaber.motion.protobufs.GenericCommandResponseCollection', null, proto);
101
101
  goog.exportSymbol('zaber.motion.protobufs.GetSimpleTuningParamDefinitionResponse', null, proto);
102
+ goog.exportSymbol('zaber.motion.protobufs.IntRequest', null, proto);
102
103
  goog.exportSymbol('zaber.motion.protobufs.IntResponse', null, proto);
103
104
  goog.exportSymbol('zaber.motion.protobufs.InterfaceEmptyRequest', null, proto);
104
105
  goog.exportSymbol('zaber.motion.protobufs.InterfaceType', null, proto);
@@ -124,6 +125,7 @@ goog.exportSymbol('zaber.motion.protobufs.MovementFailedExceptionData', null, pr
124
125
  goog.exportSymbol('zaber.motion.protobufs.MovementInterruptedExceptionData', null, proto);
125
126
  goog.exportSymbol('zaber.motion.protobufs.ObjectiveChangerChangeRequest', null, proto);
126
127
  goog.exportSymbol('zaber.motion.protobufs.ObjectiveChangerCreateResponse', null, proto);
128
+ goog.exportSymbol('zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse', null, proto);
127
129
  goog.exportSymbol('zaber.motion.protobufs.ObjectiveChangerRequest', null, proto);
128
130
  goog.exportSymbol('zaber.motion.protobufs.OpenBinaryInterfaceRequest', null, proto);
129
131
  goog.exportSymbol('zaber.motion.protobufs.OpenInterfaceRequest', null, proto);
@@ -319,6 +321,27 @@ if (goog.DEBUG && !COMPILED) {
319
321
  */
320
322
  proto.zaber.motion.protobufs.EmptyRequest.displayName = 'proto.zaber.motion.protobufs.EmptyRequest';
321
323
  }
324
+ /**
325
+ * Generated by JsPbCodeGenerator.
326
+ * @param {Array=} opt_data Optional initial data array, typically from a
327
+ * server response, or constructed directly in Javascript. The array is used
328
+ * in place and becomes part of the constructed object. It is not cloned.
329
+ * If no data is provided, the constructed object will be empty, but still
330
+ * valid.
331
+ * @extends {jspb.Message}
332
+ * @constructor
333
+ */
334
+ proto.zaber.motion.protobufs.IntRequest = function(opt_data) {
335
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
336
+ };
337
+ goog.inherits(proto.zaber.motion.protobufs.IntRequest, jspb.Message);
338
+ if (goog.DEBUG && !COMPILED) {
339
+ /**
340
+ * @public
341
+ * @override
342
+ */
343
+ proto.zaber.motion.protobufs.IntRequest.displayName = 'proto.zaber.motion.protobufs.IntRequest';
344
+ }
322
345
  /**
323
346
  * Generated by JsPbCodeGenerator.
324
347
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -4498,6 +4521,27 @@ if (goog.DEBUG && !COMPILED) {
4498
4521
  */
4499
4522
  proto.zaber.motion.protobufs.ObjectiveChangerChangeRequest.displayName = 'proto.zaber.motion.protobufs.ObjectiveChangerChangeRequest';
4500
4523
  }
4524
+ /**
4525
+ * Generated by JsPbCodeGenerator.
4526
+ * @param {Array=} opt_data Optional initial data array, typically from a
4527
+ * server response, or constructed directly in Javascript. The array is used
4528
+ * in place and becomes part of the constructed object. It is not cloned.
4529
+ * If no data is provided, the constructed object will be empty, but still
4530
+ * valid.
4531
+ * @extends {jspb.Message}
4532
+ * @constructor
4533
+ */
4534
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse = function(opt_data) {
4535
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
4536
+ };
4537
+ goog.inherits(proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse, jspb.Message);
4538
+ if (goog.DEBUG && !COMPILED) {
4539
+ /**
4540
+ * @public
4541
+ * @override
4542
+ */
4543
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.displayName = 'proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse';
4544
+ }
4501
4545
  /**
4502
4546
  * Generated by JsPbCodeGenerator.
4503
4547
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -5123,6 +5167,136 @@ proto.zaber.motion.protobufs.EmptyRequest.serializeBinaryToWriter = function(mes
5123
5167
 
5124
5168
 
5125
5169
 
5170
+ if (jspb.Message.GENERATE_TO_OBJECT) {
5171
+ /**
5172
+ * Creates an object representation of this proto.
5173
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
5174
+ * Optional fields that are not set will be set to undefined.
5175
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
5176
+ * For the list of reserved names please see:
5177
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
5178
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
5179
+ * JSPB instance for transitional soy proto support:
5180
+ * http://goto/soy-param-migration
5181
+ * @return {!Object}
5182
+ */
5183
+ proto.zaber.motion.protobufs.IntRequest.prototype.toObject = function(opt_includeInstance) {
5184
+ return proto.zaber.motion.protobufs.IntRequest.toObject(opt_includeInstance, this);
5185
+ };
5186
+
5187
+
5188
+ /**
5189
+ * Static version of the {@see toObject} method.
5190
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
5191
+ * the JSPB instance for transitional soy proto support:
5192
+ * http://goto/soy-param-migration
5193
+ * @param {!proto.zaber.motion.protobufs.IntRequest} msg The msg instance to transform.
5194
+ * @return {!Object}
5195
+ * @suppress {unusedLocalVariables} f is only used for nested messages
5196
+ */
5197
+ proto.zaber.motion.protobufs.IntRequest.toObject = function(includeInstance, msg) {
5198
+ var f, obj = {
5199
+ value: jspb.Message.getFieldWithDefault(msg, 1, 0)
5200
+ };
5201
+
5202
+ if (includeInstance) {
5203
+ obj.$jspbMessageInstance = msg;
5204
+ }
5205
+ return obj;
5206
+ };
5207
+ }
5208
+
5209
+
5210
+ /**
5211
+ * Deserializes binary data (in protobuf wire format).
5212
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
5213
+ * @return {!proto.zaber.motion.protobufs.IntRequest}
5214
+ */
5215
+ proto.zaber.motion.protobufs.IntRequest.deserializeBinary = function(bytes) {
5216
+ var reader = new jspb.BinaryReader(bytes);
5217
+ var msg = new proto.zaber.motion.protobufs.IntRequest;
5218
+ return proto.zaber.motion.protobufs.IntRequest.deserializeBinaryFromReader(msg, reader);
5219
+ };
5220
+
5221
+
5222
+ /**
5223
+ * Deserializes binary data (in protobuf wire format) from the
5224
+ * given reader into the given message object.
5225
+ * @param {!proto.zaber.motion.protobufs.IntRequest} msg The message object to deserialize into.
5226
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
5227
+ * @return {!proto.zaber.motion.protobufs.IntRequest}
5228
+ */
5229
+ proto.zaber.motion.protobufs.IntRequest.deserializeBinaryFromReader = function(msg, reader) {
5230
+ while (reader.nextField()) {
5231
+ if (reader.isEndGroup()) {
5232
+ break;
5233
+ }
5234
+ var field = reader.getFieldNumber();
5235
+ switch (field) {
5236
+ case 1:
5237
+ var value = /** @type {number} */ (reader.readInt32());
5238
+ msg.setValue(value);
5239
+ break;
5240
+ default:
5241
+ reader.skipField();
5242
+ break;
5243
+ }
5244
+ }
5245
+ return msg;
5246
+ };
5247
+
5248
+
5249
+ /**
5250
+ * Serializes the message to binary data (in protobuf wire format).
5251
+ * @return {!Uint8Array}
5252
+ */
5253
+ proto.zaber.motion.protobufs.IntRequest.prototype.serializeBinary = function() {
5254
+ var writer = new jspb.BinaryWriter();
5255
+ proto.zaber.motion.protobufs.IntRequest.serializeBinaryToWriter(this, writer);
5256
+ return writer.getResultBuffer();
5257
+ };
5258
+
5259
+
5260
+ /**
5261
+ * Serializes the given message to binary data (in protobuf wire
5262
+ * format), writing to the given BinaryWriter.
5263
+ * @param {!proto.zaber.motion.protobufs.IntRequest} message
5264
+ * @param {!jspb.BinaryWriter} writer
5265
+ * @suppress {unusedLocalVariables} f is only used for nested messages
5266
+ */
5267
+ proto.zaber.motion.protobufs.IntRequest.serializeBinaryToWriter = function(message, writer) {
5268
+ var f = undefined;
5269
+ f = message.getValue();
5270
+ if (f !== 0) {
5271
+ writer.writeInt32(
5272
+ 1,
5273
+ f
5274
+ );
5275
+ }
5276
+ };
5277
+
5278
+
5279
+ /**
5280
+ * optional int32 value = 1;
5281
+ * @return {number}
5282
+ */
5283
+ proto.zaber.motion.protobufs.IntRequest.prototype.getValue = function() {
5284
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
5285
+ };
5286
+
5287
+
5288
+ /**
5289
+ * @param {number} value
5290
+ * @return {!proto.zaber.motion.protobufs.IntRequest} returns this
5291
+ */
5292
+ proto.zaber.motion.protobufs.IntRequest.prototype.setValue = function(value) {
5293
+ return jspb.Message.setProto3IntField(this, 1, value);
5294
+ };
5295
+
5296
+
5297
+
5298
+
5299
+
5126
5300
  if (jspb.Message.GENERATE_TO_OBJECT) {
5127
5301
  /**
5128
5302
  * Creates an object representation of this proto.
@@ -49540,6 +49714,136 @@ proto.zaber.motion.protobufs.ObjectiveChangerChangeRequest.prototype.hasFocusOff
49540
49714
 
49541
49715
 
49542
49716
 
49717
+ if (jspb.Message.GENERATE_TO_OBJECT) {
49718
+ /**
49719
+ * Creates an object representation of this proto.
49720
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
49721
+ * Optional fields that are not set will be set to undefined.
49722
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
49723
+ * For the list of reserved names please see:
49724
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
49725
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
49726
+ * JSPB instance for transitional soy proto support:
49727
+ * http://goto/soy-param-migration
49728
+ * @return {!Object}
49729
+ */
49730
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.prototype.toObject = function(opt_includeInstance) {
49731
+ return proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.toObject(opt_includeInstance, this);
49732
+ };
49733
+
49734
+
49735
+ /**
49736
+ * Static version of the {@see toObject} method.
49737
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
49738
+ * the JSPB instance for transitional soy proto support:
49739
+ * http://goto/soy-param-migration
49740
+ * @param {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse} msg The msg instance to transform.
49741
+ * @return {!Object}
49742
+ * @suppress {unusedLocalVariables} f is only used for nested messages
49743
+ */
49744
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.toObject = function(includeInstance, msg) {
49745
+ var f, obj = {
49746
+ value: jspb.Message.getFieldWithDefault(msg, 1, 0)
49747
+ };
49748
+
49749
+ if (includeInstance) {
49750
+ obj.$jspbMessageInstance = msg;
49751
+ }
49752
+ return obj;
49753
+ };
49754
+ }
49755
+
49756
+
49757
+ /**
49758
+ * Deserializes binary data (in protobuf wire format).
49759
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
49760
+ * @return {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse}
49761
+ */
49762
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.deserializeBinary = function(bytes) {
49763
+ var reader = new jspb.BinaryReader(bytes);
49764
+ var msg = new proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse;
49765
+ return proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.deserializeBinaryFromReader(msg, reader);
49766
+ };
49767
+
49768
+
49769
+ /**
49770
+ * Deserializes binary data (in protobuf wire format) from the
49771
+ * given reader into the given message object.
49772
+ * @param {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse} msg The message object to deserialize into.
49773
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
49774
+ * @return {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse}
49775
+ */
49776
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.deserializeBinaryFromReader = function(msg, reader) {
49777
+ while (reader.nextField()) {
49778
+ if (reader.isEndGroup()) {
49779
+ break;
49780
+ }
49781
+ var field = reader.getFieldNumber();
49782
+ switch (field) {
49783
+ case 1:
49784
+ var value = /** @type {number} */ (reader.readInt32());
49785
+ msg.setValue(value);
49786
+ break;
49787
+ default:
49788
+ reader.skipField();
49789
+ break;
49790
+ }
49791
+ }
49792
+ return msg;
49793
+ };
49794
+
49795
+
49796
+ /**
49797
+ * Serializes the message to binary data (in protobuf wire format).
49798
+ * @return {!Uint8Array}
49799
+ */
49800
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.prototype.serializeBinary = function() {
49801
+ var writer = new jspb.BinaryWriter();
49802
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.serializeBinaryToWriter(this, writer);
49803
+ return writer.getResultBuffer();
49804
+ };
49805
+
49806
+
49807
+ /**
49808
+ * Serializes the given message to binary data (in protobuf wire
49809
+ * format), writing to the given BinaryWriter.
49810
+ * @param {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse} message
49811
+ * @param {!jspb.BinaryWriter} writer
49812
+ * @suppress {unusedLocalVariables} f is only used for nested messages
49813
+ */
49814
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.serializeBinaryToWriter = function(message, writer) {
49815
+ var f = undefined;
49816
+ f = message.getValue();
49817
+ if (f !== 0) {
49818
+ writer.writeInt32(
49819
+ 1,
49820
+ f
49821
+ );
49822
+ }
49823
+ };
49824
+
49825
+
49826
+ /**
49827
+ * optional int32 value = 1;
49828
+ * @return {number}
49829
+ */
49830
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.prototype.getValue = function() {
49831
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
49832
+ };
49833
+
49834
+
49835
+ /**
49836
+ * @param {number} value
49837
+ * @return {!proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse} returns this
49838
+ */
49839
+ proto.zaber.motion.protobufs.ObjectiveChangerGetCurrentResponse.prototype.setValue = function(value) {
49840
+ return jspb.Message.setProto3IntField(this, 1, value);
49841
+ };
49842
+
49843
+
49844
+
49845
+
49846
+
49543
49847
  if (jspb.Message.GENERATE_TO_OBJECT) {
49544
49848
  /**
49545
49849
  * Creates an object representation of this proto.