@wandelbots/nova-api 25.7.0-dev.27 → 25.7.0-dev.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/v2/api.ts CHANGED
@@ -1724,21 +1724,6 @@ export interface ForwardKinematicsValidationError {
1724
1724
  */
1725
1725
  'data'?: ErrorInvalidJointCount;
1726
1726
  }
1727
- /**
1728
- *
1729
- * @export
1730
- * @interface GetModeResponse
1731
- */
1732
- export interface GetModeResponse {
1733
- /**
1734
- *
1735
- * @type {RobotSystemMode}
1736
- * @memberof GetModeResponse
1737
- */
1738
- 'robot_system_mode': RobotSystemMode;
1739
- }
1740
-
1741
-
1742
1727
  /**
1743
1728
  *
1744
1729
  * @export
@@ -4423,6 +4408,18 @@ export type RobotControllerConfiguration = AbbController | FanucController | Kuk
4423
4408
  * @interface RobotControllerState
4424
4409
  */
4425
4410
  export interface RobotControllerState {
4411
+ /**
4412
+ * Mode of communication and control between NOVA and the robot controller.
4413
+ * @type {RobotSystemMode}
4414
+ * @memberof RobotControllerState
4415
+ */
4416
+ 'mode': RobotSystemMode;
4417
+ /**
4418
+ * Last error stack encountered during initialization process or after a controller disconnect. At this stage, it\'s unclear whether the error is fatal. Evaluate `last_error` to decide whether to remove the controller using `deleteController`. Examples: - Delete required: Host resolution fails repeatedly due to an incorrect IP. - Delete not required: Temporary network delay caused a disconnect; the system will auto-reconnect.
4419
+ * @type {Array<string>}
4420
+ * @memberof RobotControllerState
4421
+ */
4422
+ 'last_error'?: Array<string>;
4426
4423
  /**
4427
4424
  * Timestamp indicating when the represented information was received from the robot controller.
4428
4425
  * @type {string}
@@ -4469,17 +4466,17 @@ export interface RobotControllerState {
4469
4466
 
4470
4467
 
4471
4468
  /**
4472
- * The system mode of the robot system. ### ROBOT_SYSTEM_MODE_UNDEFINED Indicates that the robot controller is currently performing a mode transition. ### ROBOT_SYSTEM_MODE_DISCONNECT There is no communication with the robot controller at all. All connections are closed. No command is sent to the robot controller while in this mode. No input/output interaction is possible in this mode! All move requests will be rejected in this mode! ### ROBOT_SYSTEM_MODE_MONITOR A connection to the robot controller is established to only read the robot controller state. No command is sent to the robot controller while in this mode. It is possible to receive input/output information. All move requests will be rejected in this mode! ### ROBOT_SYSTEM_MODE_CONTROL An active connection is established with the robot controller and the robot system is cyclic commanded to stay in its actual position. The robot controller state is received in the cycle time of the robot controller. Requests via the MotionService and JoggingService will be processed and executed in this mode. Input/Output interaction is possible in this mode! **In this mode the robot system can be commanded to move.** ### ROBOT_SYSTEM_MODE_FREE_DRIVE Like ROBOT_SYSTEM_MODE_MONITOR a connection to the robot controller is established to only read the robot controller state. The difference is that the motion groups can be moved by the user (Free Drive). Thus, the servo motors are turned on. All move requests will be rejected in this mode! **This mode is not supported by every robot!** Use [getSupportedModes](getSupportedModes) to evaluate if the device support free drive.
4469
+ * Defines the current system mode of the robot system, including NOVA communicating with the robot controller. ### MODE_CONTROLLER_NOT_CONFIGURED No controller with the specified identifier is configured. Call [addRobotController](addRobotController) to register a controller. ### MODE_INITIALIZING Indicates that a connection to the robot controller is established or reestablished in case of a disconnect. On success, the controller is set to MODE_MONITOR. On failure, the initialization process is retried until successful or cancelled by the user. ### MODE_MONITOR Read-only mode with an active controller connection. - Receives robot state and I/O signals - Move requests are rejected - No commands are sent to the controller ### MODE_CONTROL Active control mode. **Movement is possible in this mode** The robot is cyclically commanded to hold its current position. The robot state is received in sync with the controller cycle. Motion and jogging requests are accepted and executed. Input/Output interaction is enabled. ### MODE_FREE_DRIVE Read-only mode with servo motors enabled for manual movement (Free Drive). Move requests are rejected. Not supported by all robots: Use [getSupportedModes](getSupportedModes) to check Free Drive availability.
4473
4470
  * @export
4474
4471
  * @enum {string}
4475
4472
  */
4476
4473
 
4477
4474
  export const RobotSystemMode = {
4478
- RobotSystemModeUndefined: 'ROBOT_SYSTEM_MODE_UNDEFINED',
4479
- RobotSystemModeDisconnect: 'ROBOT_SYSTEM_MODE_DISCONNECT',
4480
- RobotSystemModeMonitor: 'ROBOT_SYSTEM_MODE_MONITOR',
4481
- RobotSystemModeControl: 'ROBOT_SYSTEM_MODE_CONTROL',
4482
- RobotSystemModeFreeDrive: 'ROBOT_SYSTEM_MODE_FREE_DRIVE'
4475
+ ModeControllerNotConfigured: 'MODE_CONTROLLER_NOT_CONFIGURED',
4476
+ ModeInitializing: 'MODE_INITIALIZING',
4477
+ ModeMonitor: 'MODE_MONITOR',
4478
+ ModeControl: 'MODE_CONTROL',
4479
+ ModeFreeDrive: 'MODE_FREE_DRIVE'
4483
4480
  } as const;
4484
4481
 
4485
4482
  export type RobotSystemMode = typeof RobotSystemMode[keyof typeof RobotSystemMode];
@@ -8173,52 +8170,6 @@ export const ControllerApiAxiosParamCreator = function (configuration?: Configur
8173
8170
 
8174
8171
 
8175
8172
 
8176
- setSearchParams(localVarUrlObj, localVarQueryParameter);
8177
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
8178
- localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
8179
-
8180
- return {
8181
- url: toPathString(localVarUrlObj),
8182
- options: localVarRequestOptions,
8183
- };
8184
- },
8185
- /**
8186
- * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
8187
- * @summary Current Mode
8188
- * @param {string} cell Unique identifier addressing a cell in all API calls.
8189
- * @param {string} controller Unique identifier to address a controller in the cell.
8190
- * @param {*} [options] Override http request option.
8191
- * @throws {RequiredError}
8192
- */
8193
- getMode: async (cell: string, controller: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
8194
- // verify required parameter 'cell' is not null or undefined
8195
- assertParamExists('getMode', 'cell', cell)
8196
- // verify required parameter 'controller' is not null or undefined
8197
- assertParamExists('getMode', 'controller', controller)
8198
- const localVarPath = `/cells/{cell}/controllers/{controller}/mode`
8199
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
8200
- .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
8201
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
8202
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
8203
- let baseOptions;
8204
- if (configuration) {
8205
- baseOptions = configuration.baseOptions;
8206
- }
8207
-
8208
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
8209
- const localVarHeaderParameter = {} as any;
8210
- const localVarQueryParameter = {} as any;
8211
-
8212
- // authentication BasicAuth required
8213
- // http basic authentication required
8214
- setBasicAuthToObject(localVarRequestOptions, configuration)
8215
-
8216
- // authentication BearerAuth required
8217
- // http bearer authentication required
8218
- await setBearerAuthToObject(localVarHeaderParameter, configuration)
8219
-
8220
-
8221
-
8222
8173
  setSearchParams(localVarUrlObj, localVarQueryParameter);
8223
8174
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
8224
8175
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -8518,15 +8469,16 @@ export const ControllerApiAxiosParamCreator = function (configuration?: Configur
8518
8469
  };
8519
8470
  },
8520
8471
  /**
8521
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
8472
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
8522
8473
  * @summary Stream State
8523
8474
  * @param {string} cell Unique identifier addressing a cell in all API calls.
8524
8475
  * @param {string} controller Unique identifier to address a controller in the cell.
8525
8476
  * @param {number} [responseRate]
8477
+ * @param {number} [addControllerTimeout]
8526
8478
  * @param {*} [options] Override http request option.
8527
8479
  * @throws {RequiredError}
8528
8480
  */
8529
- streamRobotControllerState: async (cell: string, controller: string, responseRate?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
8481
+ streamRobotControllerState: async (cell: string, controller: string, responseRate?: number, addControllerTimeout?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
8530
8482
  // verify required parameter 'cell' is not null or undefined
8531
8483
  assertParamExists('streamRobotControllerState', 'cell', cell)
8532
8484
  // verify required parameter 'controller' is not null or undefined
@@ -8557,6 +8509,10 @@ export const ControllerApiAxiosParamCreator = function (configuration?: Configur
8557
8509
  localVarQueryParameter['response_rate'] = responseRate;
8558
8510
  }
8559
8511
 
8512
+ if (addControllerTimeout !== undefined) {
8513
+ localVarQueryParameter['add_controller_timeout'] = addControllerTimeout;
8514
+ }
8515
+
8560
8516
 
8561
8517
 
8562
8518
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -8723,20 +8679,6 @@ export const ControllerApiFp = function(configuration?: Configuration) {
8723
8679
  const localVarOperationServerBasePath = operationServerMap['ControllerApi.getCurrentRobotControllerState']?.[localVarOperationServerIndex]?.url;
8724
8680
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
8725
8681
  },
8726
- /**
8727
- * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
8728
- * @summary Current Mode
8729
- * @param {string} cell Unique identifier addressing a cell in all API calls.
8730
- * @param {string} controller Unique identifier to address a controller in the cell.
8731
- * @param {*} [options] Override http request option.
8732
- * @throws {RequiredError}
8733
- */
8734
- async getMode(cell: string, controller: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetModeResponse>> {
8735
- const localVarAxiosArgs = await localVarAxiosParamCreator.getMode(cell, controller, options);
8736
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
8737
- const localVarOperationServerBasePath = operationServerMap['ControllerApi.getMode']?.[localVarOperationServerIndex]?.url;
8738
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
8739
- },
8740
8682
  /**
8741
8683
  * Get the configuration for a robot controller.
8742
8684
  * @summary Robot Controller
@@ -8824,16 +8766,17 @@ export const ControllerApiFp = function(configuration?: Configuration) {
8824
8766
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
8825
8767
  },
8826
8768
  /**
8827
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
8769
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
8828
8770
  * @summary Stream State
8829
8771
  * @param {string} cell Unique identifier addressing a cell in all API calls.
8830
8772
  * @param {string} controller Unique identifier to address a controller in the cell.
8831
8773
  * @param {number} [responseRate]
8774
+ * @param {number} [addControllerTimeout]
8832
8775
  * @param {*} [options] Override http request option.
8833
8776
  * @throws {RequiredError}
8834
8777
  */
8835
- async streamRobotControllerState(cell: string, controller: string, responseRate?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RobotControllerState>> {
8836
- const localVarAxiosArgs = await localVarAxiosParamCreator.streamRobotControllerState(cell, controller, responseRate, options);
8778
+ async streamRobotControllerState(cell: string, controller: string, responseRate?: number, addControllerTimeout?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RobotControllerState>> {
8779
+ const localVarAxiosArgs = await localVarAxiosParamCreator.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options);
8837
8780
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
8838
8781
  const localVarOperationServerBasePath = operationServerMap['ControllerApi.streamRobotControllerState']?.[localVarOperationServerIndex]?.url;
8839
8782
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -8934,17 +8877,6 @@ export const ControllerApiFactory = function (configuration?: Configuration, bas
8934
8877
  getCurrentRobotControllerState(cell: string, controller: string, options?: RawAxiosRequestConfig): AxiosPromise<RobotControllerState> {
8935
8878
  return localVarFp.getCurrentRobotControllerState(cell, controller, options).then((request) => request(axios, basePath));
8936
8879
  },
8937
- /**
8938
- * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
8939
- * @summary Current Mode
8940
- * @param {string} cell Unique identifier addressing a cell in all API calls.
8941
- * @param {string} controller Unique identifier to address a controller in the cell.
8942
- * @param {*} [options] Override http request option.
8943
- * @throws {RequiredError}
8944
- */
8945
- getMode(cell: string, controller: string, options?: RawAxiosRequestConfig): AxiosPromise<GetModeResponse> {
8946
- return localVarFp.getMode(cell, controller, options).then((request) => request(axios, basePath));
8947
- },
8948
8880
  /**
8949
8881
  * Get the configuration for a robot controller.
8950
8882
  * @summary Robot Controller
@@ -9014,16 +8946,17 @@ export const ControllerApiFactory = function (configuration?: Configuration, bas
9014
8946
  return localVarFp.streamFreeDrive(cell, controller, responseRate, options).then((request) => request(axios, basePath));
9015
8947
  },
9016
8948
  /**
9017
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
8949
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
9018
8950
  * @summary Stream State
9019
8951
  * @param {string} cell Unique identifier addressing a cell in all API calls.
9020
8952
  * @param {string} controller Unique identifier to address a controller in the cell.
9021
8953
  * @param {number} [responseRate]
8954
+ * @param {number} [addControllerTimeout]
9022
8955
  * @param {*} [options] Override http request option.
9023
8956
  * @throws {RequiredError}
9024
8957
  */
9025
- streamRobotControllerState(cell: string, controller: string, responseRate?: number, options?: RawAxiosRequestConfig): AxiosPromise<RobotControllerState> {
9026
- return localVarFp.streamRobotControllerState(cell, controller, responseRate, options).then((request) => request(axios, basePath));
8958
+ streamRobotControllerState(cell: string, controller: string, responseRate?: number, addControllerTimeout?: number, options?: RawAxiosRequestConfig): AxiosPromise<RobotControllerState> {
8959
+ return localVarFp.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(axios, basePath));
9027
8960
  },
9028
8961
  /**
9029
8962
  * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
@@ -9130,19 +9063,6 @@ export class ControllerApi extends BaseAPI {
9130
9063
  return ControllerApiFp(this.configuration).getCurrentRobotControllerState(cell, controller, options).then((request) => request(this.axios, this.basePath));
9131
9064
  }
9132
9065
 
9133
- /**
9134
- * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
9135
- * @summary Current Mode
9136
- * @param {string} cell Unique identifier addressing a cell in all API calls.
9137
- * @param {string} controller Unique identifier to address a controller in the cell.
9138
- * @param {*} [options] Override http request option.
9139
- * @throws {RequiredError}
9140
- * @memberof ControllerApi
9141
- */
9142
- public getMode(cell: string, controller: string, options?: RawAxiosRequestConfig) {
9143
- return ControllerApiFp(this.configuration).getMode(cell, controller, options).then((request) => request(this.axios, this.basePath));
9144
- }
9145
-
9146
9066
  /**
9147
9067
  * Get the configuration for a robot controller.
9148
9068
  * @summary Robot Controller
@@ -9224,17 +9144,18 @@ export class ControllerApi extends BaseAPI {
9224
9144
  }
9225
9145
 
9226
9146
  /**
9227
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
9147
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
9228
9148
  * @summary Stream State
9229
9149
  * @param {string} cell Unique identifier addressing a cell in all API calls.
9230
9150
  * @param {string} controller Unique identifier to address a controller in the cell.
9231
9151
  * @param {number} [responseRate]
9152
+ * @param {number} [addControllerTimeout]
9232
9153
  * @param {*} [options] Override http request option.
9233
9154
  * @throws {RequiredError}
9234
9155
  * @memberof ControllerApi
9235
9156
  */
9236
- public streamRobotControllerState(cell: string, controller: string, responseRate?: number, options?: RawAxiosRequestConfig) {
9237
- return ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));
9157
+ public streamRobotControllerState(cell: string, controller: string, responseRate?: number, addControllerTimeout?: number, options?: RawAxiosRequestConfig) {
9158
+ return ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(this.axios, this.basePath));
9238
9159
  }
9239
9160
 
9240
9161
  /**