/version
Resource Type: N/A
Reports the API version. See Versioning and Compatibility for more information on how this version may change over time.
| Item | Type | Schema | Description |
|---|---|---|---|
| apiVersion | string | | The API version. |
Methods
| Method | Description |
|---|---|
| read | Reads the version resource Example: read /version Example Response: {
"payload": {
"_links": {
"self": {
"href": "/version"
}
},
"apiVersion": "1.0.0"
},
"status": 1,
"type": "response"
} |
/system
Resource Type: N/A
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| runState | integer | readOnly, enum | Running state of the system. Acceptable values are: 0 - Ready, 1 - Running, 2 - Conflict |
| autostart | bool | | Autostart allows the sensor to automatically start running and resume operations after specific GoPxL launch events (such as power cycles and system restarts). When enabled, the system will automatically start as soon as the GoPxL instance is launched. This could happen either on PC, when starting a local instance, or when the device hosting the instance is booted. Note: F or autostart to be successful, the system must be in a state that allows it to start, with no issues or blocking problems present. 1.2.x.x Implemented. |
| autostartTimeout | integer | minimum | The time (after the GoPxL instance is launched) that autostart will attempt to start the system. After the timeout period has lapsed, the system will no longer attempt to autostart until the next instance launch. Timeout is in minutes, and a value of 0 denotes an infinite timeout (autostart will not timeout). 1.2.x.x Added. |
| quickEditEnabled | bool | | Quick edit is a mode where configuration changes can be made without applying the changes immediately to the set of tools in the current system. This means tool configuration changes are not applied to the saved scanned data from the last scan. This mode is effective in reducing the time to make multiple configuration changes in a system with many tools configured. Set to true to enable or enter in the Quick Edit mode. Set to false to exit from the Quick Edit mode. Any configuration changes will now be applied to all configured tools immediately. 1.2.x.x Added. |
Methods
| Method | Description |
|---|---|
| read | Reads the system properties. Example: read /system |
| update | Method Trait: (WearsFlash) Updates system properties. Example : update /system {"autostart" : true } |
Notifications
| Notification | Description |
|---|---|
| updated | Occurs whenever the system properties change (ie. sensor is started, stopped, etc.). Include the payload in the notification as of 1.2.x.x Example: { "eventType" : "updated", "path" : "/system",
"payload" : {system properties} } |
/system/commands/start
Resource Type: (Callable)
Properties
none
Methods
| Method | Description |
|---|---|
| call | Starts the sensor system. Example: call /system/commands/start Example Response: {
"path": "/system/commands/start",
"payload": null
"type": "response"
"status": 1,
} A return status of 'Success' (1) implies that /system resource transitions the /system/#runState property to 1 - Running. A failed /system/commands/start request means that /system/#runstate property may or may not have changed and the final state can not be assumed. Clients should read /system resource to determine the current value of the runstate property. |
/system/commands/stop
Resource Type: (Callable)
Properties
none
Methods
| Method | Description |
|---|---|
| call | Stops the sensor system. Example: call /system/commands/stop Example Response: {
"path": "/system/commands/stop",
"payload": null
"type": "response"
"status": 1,
} A return status of 'Success' (1) implies that /system resource transitions the /system/#runState property to 0 - Ready. A failed /system/commands/stop request means that /system/#runstate property may or may not have changed and the final state can not be assumed. Clients should read /system resource to determine the current value of the runstate property. |
/system/commands/upgrade
/system/commands/factoryRestore
Resource Type: (Callable)
Properties
none
Methods
| Method | Description |
|---|---|
| call | Method Trait: (WearsFlash) ( NoRestart ) Factory restores the sensor configuration. Example: call /system/commands/factoryRestore |
/system/commands/restart
/system/commands/snapshot
Resource Type : (Callable)
Properties
none
Methods
| Method | Description |
|---|---|
| call | Performs a snapshot with the scanner . NOTE: This operation may take a while to execute because the the scanner and sensor(s) involved must accumulate data for a snapshot to be complete. Example: call /system/commands/snapshot |
/system/commands/simulate
Resource Type : (Callable)
Properties
none
Methods
| Method | Description |
|---|---|
| call | Performs a simulate with the scanner, which processes the last frame (if available) through the pipe. Example: call /system/commands/simulate |
/system/commands/archive
Resource Type : (Callable)
Properties
none
Methods
| Method | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| call | Performs a backup operation based on the argument passed. If there is no argument, then get all the files ie Jobs, workspace, global, replay and support. Payload:
Response: The response for this transaction contains additional information besides the standard control message response fields .
Examples: To recreate what the GUI does during Maintenance > Backup: call /system/commands/archive {"contents" : ["global", "allWorkspaces", "alljobs", "replay", "liveJob"]} To recreate what the GUI doesduring Support > Download: call /system/commands/archive {"contents" : ["global", "allWorkspaces", "alljobs", "replay", "support", "liveJob"]} To recreate what the GUI doesduring Replay > Download: call /system/commands/archive {"contents" : ["liveJob", "replay"]} {
"status": 1,
"payload": {
"data": [ <binary data> ]
}
} |
/system/commands/restore
Resource Type : (Callable)
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| call | Performs a restore operation based on the argument and the binary data passed. This will work only with both these fields present. Otherwise, it will return an error. Validation of data is also part of these resources. It means the contents filed are verified with the binary data passed. If any of the content field data is missing then the command will report an error. If contents are specified which are not in the provided archive, the request will fail. Note: Support data can not be restored.
To recreate what the GUI does during Maintenance > Restore and SupportUpload & Apply: call /system/commands/restore {"data":{binary data}, "contents" : ["global", "allWorkspaces", "allJobs", "replay", "liveJob"]} To recreate what the GUI does during Replay > Upload: call /system/commands/restore {"data":{binary data}, "contents" : ["liveJob", "replay"]} |
/system/commands/login
Resource Type : (Callable)
1.2.x.x Added.
Methods
| Method | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| call | Performs a system authentication operation. Authenticates the administrator with the provided login credentials. Payload:
Response: The response for this transaction contains additional information besides the standard control message response fields .
Example: call /system/commands/login {"userPassword": "MyPassword!123"} {
"path": "/system/commands/login",
"payload": {
"passwordMatch": 1
},
"status": 1,
"type": "response"
} |
/system/info
Resource Type : N/A
Provides information about the system itself. Properties on this resource are exclusively read only, and generally contain information such as version numbers and releaseType. These properties never change during run time, as a change would imply a change to the system itself (ie an upgrade or reboot/relaunch).
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| version | string | readOnly | Version of production build.This is based on the contents of AppInfo.xml. If there is no production build orAppInfo.xml file is missing then the default version is 0.0.0.0 |
| firesyncVersion | string | readOnly | Version of underlying Firesync platform. |
| backendVersion | string | readOnly | Version of the Gocator Backend firmware. |
| releaseType | string | readOnly | Release type of production build. This is based on the contents of AppInfo.xml. Expected values are: "Beta" - If the build was built as a beta, or if AppInfo.xml is missing. "Release" - If the build was built as a release If there is no production build or AppInfo.xml file is missing then the default release type is "Beta" |
| appId | string | readOnly | Application ID. 1.1.x.x Added. |
Methods
| Method | Description |
|---|---|
| read | This resource provides various additional information about the GoPxL application system and state. All properties in this resource are readonly and therefore only the read method is acceptable. Example: read /system/info |
/system/metrics
This section does not describe the metrics that may be specific to standard scan engines, e.g. LMILaserLineProfiler . This information can be found on the sections for the LMILaserLineProfiler engine, LMIFringeSnapshot engine, and LMIConfocalLineProfiler engine.
Resource Type: (Streamable)
Contains system metrics. Mapping to Gocator 6.x health indicators are provided where applicable.
| Item | Internal Type | Type | Schema | Description | | Classic IndicatorId | Classic Instance | Classic Name |
|---|---|---|---|---|---|---|---|---|
| upTime | k64u | integer | | Time elapsed since node boot-up or reset (seconds). This is how long the node has been running. Note: On PC, it reflects how long the PC has been running. | | 2017 | N/A | Node/UpTime |
| appUpTime | k64u | integer | | Time elapsed since application start. This is how long the GoPxlService application has been running. | | | | |
| | | | | | | | | |
| memUsed | k64u | integer | | Amount of memory currently used (bytes). | | 2003 | N/A | Memory/TotalUsed |
| memCapacity | k64u | integer | | Total amount of memory available (bytes). | | 2004 | N/A | Memory/TotalCapacity |
| memAvailable | k64u | integer | | Amount of memory currently available (bytes). | | | | |
| | | | | | | | | |
| bootCount | k64s | integer | | Number of boot-ups. | | 2086 | | Node/BootCount |
| | | | | | | | | |
| cpuCores | Array | array | | List of CPU cores available to the sensor. | | | | |
| cpuCores/n | Structure | object | | Single CPU core object. | | | | |
| cpuCores/n/used | k64u | integer | | Individual CPU core utilization (percent). | | 2052 | Cpu core index | Node/Cpu<instance>Used |
| cpuCoresUsedMax | k64u | integer | | Max CPU core utilization (percent). | | | | |
| cpuCoresUsedAvg | k64u | integer | | Average CPU core utilization (percent). | | | | |
| | | | | | | | | |
| storageVolumes | Array | array | | List of available storage volumes. There should only ever be two: | | | | |
| storageVolumes/n | Structure | object | | Storage volume object. Entry 0 is User | | | | |
| storageVolumes/n/used | k64s | integer | | Amount of non-volatile storage used (bytes). | | 2005 | 0 - User | StorageVolume/User/Used StorageVolume/System/Used |
| storageVolumes/n/capacity | k64s | integer | | Amount of non-volatile storage capacity (bytes). | | 2006 | 0 - User 1 - System | StorageVolume/User/Capacity StorageVolume/System/Capacity |
| storageVolumes/n/available | k64s | integer | | Amount of non-volatile storage available (bytes). | | | | |
| | | | | | | | | |
| pipeBacklogSize | k64u | integer | | Number of bytes enqueued for processing. | | 2041 | N/A | Pipe/BacklogSize |
| pipeBacklogCount | k64u | integer | | Number of messages enqueued for processing. | | 2050 | N/A | Pipe/BacklogCount |
| | | | | | | | | |
| networkIfs | Array | array | | List of available network interfaces. | | | | |
| networkIfs/n | Structure | object | | Network interface object. | | | | |
| networkIfs/n/linkStatus | k32s | integer | | Current Ethernet link status. (0x0000) - No link, or speed unknown. | | 2034 | netInterface | NetInterface/<netInterface>/LinkStatus |
| networkIfs/n/linkCapacity | k64u | integer | | Total available outbound network throughput (bytes/s). | | 2009 | netInterface | NetInterface/<netInterface>/LinkCapacity |
| networkIfs/n/txRate | k64u | integer | | Network output transmission rate (bytes/s) | | 2076 | netInterface | NetInterface/<netInterface>/TxRate |
| networkIfs/n/rxRate | k64u | integer | | Network output transmission rate (bytes/s) | | 2077 | netInterface | NetInterface/<netInterface>/RxRate |
| networkIfs/n/txBytes | k64u | integer | | Total number of bytes sent on network. | | 2078 | netInterface | NetInterface/<netInterface>/TxBytes |
| networkIfs/n/rxBytes | k64u | integer | | Total number of bytes received on network. | | 2079 | netInterface | NetInterface/<netInterface>/RxBytes |
| | | | | | | | | |
| processingDrops | k64u | integer | | Total number of scan processing pipe drops | | 21000 | n/a | No direct equivalent. Processing Drops in classic was an aggregate of several indicators. |
| | | | | | | | | |
| replay/frameCount | k64u | integer | | The number of frames currently recorded. | | | | |
| replay/memoryUsed | k64u | integer | | The amount of memory used by the recorded data (bytes). | | | | |
| replay/memoryCapacity | k64u | integer | | The total amount of memory available for recording (bytes). | | | | |
| replay/frameIndex | k64u | integer | | The frame index of the current playback cursor. | | | | |
| replay/frameTime | k64u | integer | | The frame timestamp at the current playback cursor. 0 if the index is invalid. | | | | |
| | | | | | | | | |
| platformErrorLogs | k64u | integer | | Number of platform error logs. 1.2.x.x Added. | | | | |
| platformWarnLogs | k64u | integer | | Number of platform warn logs. 1.2.x.x Added. | | | | |
| platformInfoLogs | k64u | integer | | Number of platform info logs. 1.2.x.x Added. | | | | |
| platformLogsSkipped | k64u | integer | | Number of skipped platform logs. 1.2.x.x Added. | | | | |
| appErrorLogs | k64u | integer | | Number of app error logs. 1.2.x.x Added. | | | | |
| appWarnLogs | k64u | integer | | Number of app warn logs. 1.2.x.x Added. | | | | |
| appInfoLogs | k64u | integer | | Number of app info logs. 1.2.x.x Added. | | | | |
| appLogsSkipped | k64u | integer | | Number of user error logs. 1.2.x.x Added. | | | | |
| userErrorLogs | k64u | integer | | Number of user error logs. 1.2.x.x Added. | | | | |
| userWarnLogs | k64u | integer | | Number of user warn logs. 1.2.x.x Added. | | | | |
| userInfoLogs | k64u | integer | | Number of user info logs. 1.2.x.x Added. | | | | |
| userLogsSkipped | k64u | integer | | Number of skipped user logs. 1.2.x.x Added. | | | | |
| unknownLogsSkipped | k64u | integer | | Number of skipped unknown logs. 1.2.x.x Added. | | | | |
| directLogs | k64u | integer | | Number of direct logs. 1.2.x.x Added. | | | | |
| directLogsSkipped | k64u | integer | | Number of skipped direct logs. 1.2.x.x Added. | | | | |
| | | | | | | | | |
| advanced/hostPorts | Array | array | | List of host ports. | | | | |
| advanced/hostPorts/n | Structure | object | | Single host port object. | | | | |
| advanced/hostPorts/n/port | k32u | integer | | Host port number (usually async server port 3600 by default) | | | | |
Methods
| Method | Description |
|---|---|
| read | Reads the latest system metrics. Example: read /system/metrics Example response: {
"payload": {
"_links": {
"self": {
"href": "/system/metrics"
}
},
"advanced": {
"hostPorts": [
{
"notificationCount": 0,
"port": 3600,
"queuedMetricsCount": 0,
"queuedNotificationCount": 0,
"queuedResponseCount": 0,
"queuedStreamCount": 0,
"requestCount": 0,
"responseDataDropCount": 0,
"sentMessageCount": 0,
"streamDataDropCount": 0,
"streamDataSkipCount": 0,
"streamQueueSizeExceededCount": 0
}
],
"maxSafeInteger": 9007199254740991,
"maxSafeIntegerPlus": 9007199254740992,
"runCount": 0
},
"appUpTime": 6,
"cpuCores": [
{
"used": 0
},
{
"used": 0
}
],
"cpuCoresUsedAvg": 0,
"cpuCoresUsedMax": 0,
"memCapacity": 1053257728,
"memUsed": 127340960,
"networkIfs": [
{
"linkCapacity": 125000000,
"linkStatus": 32,
"rxBytes": 8038,
"rxRate": 305,
"txBytes": 43550,
"txRate": 788
}
],
"pipeBacklogCount": -9223372036854775808,
"pipeBacklogSize": -9223372036854775808,
"processingDrops": 0,
"processingLatencyLast": 0,
"processingLatencyMax": 0,
"storageVolumes": [
{
"capacity": 251133952,
"used": 87003136
},
{
"capacity": 6762496,
"used": 2347008
}
],
"upTime": 24
},
"status": 1,
"type": "response"
} |
| stream | Receive continuous stream of system metrics. Example: stream /system/metrics |
| cancelStream | Cancel continuous stream of system metrics. Example: cancelStream /system/metrics |
/system/auth
Resource Type : N/A
Provides information about the system authentication feature.
1.2.x.x Added.
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| username | string | readOnly | The administrator username. This value is a placeholder for future expansion and currently hard coded to admin. This value cannot be changed. |
| userPassword | string | | The admin password to restrict the usage of the UI. Read always returns an empty string to prevent users from viewing the current password text. The current password is not required to be able to set a new password in the API. Passwords can only be reset by performing a Factory Restore (such as through the discovery protocol). |
| passwordSet | bool | readOnly | Determines if the password has been set. |
| authenticationEnabled | bool | | Determines if the system authentication feature is currently enabled. |
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| update | Method Trait: (WearsFlash) Updates the properties of thesystem authentication feature.
Example: update /system/auth {"userPassword" : "MyPassword!123" , "authenticationEnabled" : true } | |||||||||
| read | Reads the admin authentication properties. The return value of the password will always be an empty string. Example : read /system/auth Example Response: {
"path": "/system/auth",
"payload": {
"_links": {
"self": {
"href": "/system/auth"
}
},
"authenticationEnabled": false,
"passwordSet": false,
"userPassword": "",
"username": "admin"
},
"status": 1,
"type": "response"
} |
/environ
/environ/ipConfig
Resource Type: N/A
Description
Contains information aboutnetwork interface configuration.
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| externallyControlled | bool | readOnly | False when the interfaces can be configured by GoPxl. 1.2.x.x Added. |
| interfaces | array<interfacesInfo> | readOnly | An array of network interface objects. Will return readOnly if the interface cannot be updated. |
| interfaces/n/ | object | readOnly | Network interface object |
| interfaces/n/ipVersion | integer | readOnly | IP version. Only version IPv4 is supported. |
| interfaces/n/ipAddress | string, format=ipv4 | readOnly | IP address. |
| interfaces/n/subnetMask | string, format=ipv4 | readOnly | subnet mask. |
| interfaces/n/gatewayAddress | string, format=ipv4 | readOnly | Gateway IP address. |
| interfaces/n/dhcp | bool | readOnly | IP auto configuration setting. |
Methods
| Method | Description |
|---|---|
| read | Read the ipConfig properties. Example: read /environ/ipConfig Example Response: {
"payload": {
"_links": {
"self": {
"href": "/environ/ipConfig"
}
},
"_schema": {
"properties": {
"interfaces": {
"items": [
{
"properties": {
"dhcp": {
"type": "boolean"
},
"gatewayAddress": {
"type": "string"
},
"ipAddress": {
"type": "string"
},
"ipVersion": {
"type": "integer"
},
"subnetMask": {
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dhcp": {
"type": "boolean"
},
"gatewayAddress": {
"type": "string"
},
"ipAddress": {
"type": "string"
},
"ipVersion": {
"type": "integer"
},
"subnetMask": {
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dhcp": {
"type": "boolean"
},
"gatewayAddress": {
"type": "string"
},
"ipAddress": {
"type": "string"
},
"ipVersion": {
"type": "integer"
},
"subnetMask": {
"type": "string"
}
},
"type": "object"
}
],
"type": "array"
},
"externallyControlled": {
"readOnly":true,
"sortOrder":100,
"title":"externallyControlled",
"type":"boolean"
}
},
"type": "object"
},
"interfaces": [
{
"dhcp": true,
"gatewayAddress": "0.0.0.0",
"ipAddress": "192.168.208.78",
"ipVersion": 4,
"subnetMask": "255.255.255.255"
},
{
"dhcp": true,
"gatewayAddress": "0.0.0.0",
"ipAddress": "10.0.0.178",
"ipVersion": 4,
"subnetMask": "255.255.255.0"
},
{
"dhcp": true,
"gatewayAddress": "0.0.0.0",
"ipAddress": "127.0.0.1",
"ipVersion": 4,
"subnetMask": "255.0.0.0"
}
],
"externallyControlled": false
},
"status": 1,
"type": "response"
} |
| update | Change the IP configuration of the system host (eg. Sensor or GoMax) Example: update /environ/ipConfig {"interfaces":[{"dhcp": true, "gatewayAddress": "0.0.0.0", "ipAddress": "90.23.29.25", "ipVersion": 4, "subnetMask": "255.255.0.0"}]}
Note:- Only sensor and GoMax network configurations can be updated. |
/environ/info
Resource Type: N/A
Description
Contains information aboutruntime (application) types and controller types so that clients can learn about platform specific abilities of the GoPxL application instance they are connecting to . Only allowable method is "read", however this resource remains readable at all times - including when sensor is remote connected.
1.0.x.x Added.
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| applicationType | integer | enum, readOnly | Enumeration of different application types:
|
| partNumber | string | readOnly | LMI part number for the device on which GoPxL is running. 1.0.x.x Added. |
| serialNumber | string | readOnly | Unique serial number of the device on which GoPxL is running. 1.0.x.x Added. |
| version | string | readOnly | Version of the device firmware. 1.0.x.x Added. |
| model | string | readOnly | Model name of the device on which GoPxL is running. 1.0.x.x Added. |
Methods
| Method | Description |
|---|---|
| read | Example: read /environ/info Example Response: {
"payload": {
"applicationType": 0,
"controllerType": 4,
"model": "2330",
"partNumber": "312330C-2M-R-01-T",
"serialNumber": "45045",
"version": "1.2.30.45",
"_schema": {
"properties": {
"applicationType": {
"enum": [
0,
1,
2,
3
],
"enumText": [
"GoPxL Firmware",
"GoPxL Service",
"GoMax Firmware",
"GoPxL Daemon"
],
"readOnly": true,
"sortOrder": 0,
"title": "applicationType",
"type": "integer"
},
"controllerType": {
"enum": [],
"enumText": [],
"readOnly": true,
"sortOrder": 100,
"title": "controllerType",
"type": "integer"
},
"model": {
"readOnly": true,
"sortOrder": 300,
"title": "model",
"type": "string"
},
"partNumber": {
"readOnly": true,
"sortOrder": 500,
"title": "partNumber",
"type": "string"
},
"serialNumber": {
"readOnly": true,
"sortOrder": 200,
"title": "serialNumber",
"type": "string"
},
"version": {
"readOnly": true,
"sortOrder": 400,
"title": "version",
"type": "string"
}
},
"sortOrder": 0,
"title": "",
"type": "object"
},
"_links": {
"self": {
"href": "/environ/info"
}
}
},
"path": "/environ/info",
"type": "response",
"status": 1
} |
/environ/remoteController
Resource Type: N/A
Description
Contains information about remote connection status as well as remote controller information including IP address, control port, and web port of the remote controller.
1.0.x.x Resource Added
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| remoteConnected | boolean | readOnly | Boolean of whether sensor is remote connected or not. |
| ipAddress | string | readOnly, format=ipv4 | IP Address of remote controller. Only IP v4 is supported. |
| controlPort | integer | readOnly | Control Port of remote controller. |
| webPort | integer | readOnly | Web Port of remote controller. |
| appId | string | readOnly | Application ID. 1.1.x.x Added. |
Methods
| Method | Description |
|---|---|
| read | Example: read /environ/remoteController {
"payload": {
"appId": "",
"controlPort": 0,
"ipAddress": "",
"remoteConnected": false,
"webPort": 0,
"_schema": {
"properties": {
"appId": {
"readOnly": true,
"sortOrder": 0,
"title": "appId",
"type": "string"
},
"controlPort": {
"readOnly": true,
"sortOrder": 300,
"title": "controlPort",
"type": "integer"
},
"ipAddress": {
"format": "ipv4",
"readOnly": true,
"sortOrder": 200,
"title": "ipAddress",
"type": "string"
},
"remoteConnected": {
"readOnly": true,
"sortOrder": 100,
"title": "remoteConnected",
"type": "boolean"
},
"webPort": {
"readOnly": true,
"sortOrder": 400,
"title": "webPort",
"type": "integer"
}
},
"sortOrder": 0,
"title": "",
"type": "object"
},
"_links": {
"self": {
"href": "/environ/remoteController"
}
}
},
"path": "/environ/remoteController",
"type": "response",
"status": 1
} |
/scan
For scan resources, see Scanner Resources .
/replay
Resource Type: N/A
Contains replay settings and state.
| Item | Type | Schema | Description |
|---|---|---|---|
| frameCount | integer | readOnly, minimum | The number of frames currently recorded. |
| memoryUsed | integer | readOnly, minimum | The amount of memory used by the recorded data (bytes). |
| memoryCapacity | integer | readOnly, minimum | The total amount of memory available for recording (bytes). |
| frameIndex | integer | readOnly, minimum | The frame index of the current playback cursor. |
| frameTime | integer | readOnly, minimum | The frame timestamp at the current playback cursor. 0 if the index is invalid. Units are in Firesync miscroseconds |
Methods
| Method | Description |
|---|---|
| read | Reads the replay properties. |
Notifications
| Notification | |
|---|---|
| updated | Occurs whenever the properties change, e.g. when the frame count or frame index changes. The server may throttle the update rate to avoid notification spam. Includes the payload in the notification as of 1.2.x.x |
/replay/buffer
Resource Type: N/A
Contains the properties of the buffer data.
| Item | Type | Schema | Description |
|---|---|---|---|
| displayName | culture-specific string | | User configurable display name of the replay buffer. |
Methods
| Method | Description |
|---|---|
| read | Reads the current replay buffer properties |
| update | Updates the replay buffer properties |
/replay/buffer/data
Resource Type: N/A
A binary resource that can be used to download and upload replay buffer data.
| Item | Type | Schema | Description |
|---|---|---|---|
| data | binary | | The replay buffer in binary form |
Methods
| Method | Description |
|---|---|
| read | Reads the current replay buffer to be downloaded |
| update | Updates the replay buffer with a replay buffer provided by the client |
/replay/tracks
Resource Type: (Collection - Unordered)
Description
A collection of replay tracks.
Each "track" typically represents a stream of synchronized data, captured from a single source (e.g. scanner).
Methods
| Method | Description |
|---|---|
| read | Read all tracks from the replay module. Example: read /replay/tracks Example Response: {
"payload": {
"_embedded": {
"item": [
{
"_links": {
"self": {
"href": "/replay/tracks/0"
}
}
},
{
"_links": {
"self": {
"href": "/replay/tracks/1"
}
}
}
]
},
"_links": {
"self": {
"href": "/replay/tracks"
}
}
},
"status": 1,
"type": "response" |
Notifications
None.
/replay/tracks/(trackId)
Resource Type: (CollectionItem)
ID: Auto generated.
Description
A track object.
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| id | string | readOnly | The ID within the collection (e.g. "0"). |
| displayName | culture-specific string | readOnly | Display name of the track. |
| scannerId | string | readOnly | The scanner ID configured in scan engine. |
Methods
| Method | Description |
|---|---|
| read | Reads the resource. Returns the properties of track. Example: read /replay/tracks/0 Example Response: {
"payload": {
"_embedded": {
"channels": [
{
"_links": {
"self": {
"href": "/replay/tracks/0/channels/0"
}
}
},
{
"_links": {
"self": {
"href": "/replay/tracks/0/channels/1"
}
}
}
]
},
"_links": {
"self": {
"href": "/replay/tracks/0"
}
},
"displayName": "New Scanner 1",
"scannerId": "0"
},
"status": 1,
"type": "response"
} |
Notifications
None.
/replay/tracks/(trackId)/channels
Resource Type: (Collection - Unordered)
A collection of replay channels. Channels usually represent the scanners and tool outputs, all associated to the same track.
Methods
| Method | Description |
|---|---|
| read | Read all channels from the corresponding track. Example: read /replay/tracks/0/channels Example Response: {
"payload": {
"_embedded": {
"item": [
{
"_links": {
"self": {
"href": "/replay/tracks/0/channels/0"
}
}
},
{
"_links": {
"self": {
"href": "/replay/tracks/0/channels/1"
}
}
}
]
},
"_links": {
"self": {
"href": "/replay/tracks/0/channels"
}
}
},
"status": 1,
"type": "response"
} |
Notifications
None.
/replay/tracks/(trackId)/channels/(channelId)
Resource Type: (CollectionItem)
ID: Auto generated.
A channel object.
Properties
| Item | Type | Schema | Description |
|---|---|---|---|
| id | string | readOnly | The ID within the collection (e.g. "0"). |
| dataSourceId | string | readOnly | Pipe Id of added datasource. |
| displayName | culture-specific string | readOnly | Display name of the added datasource. |
| priority | integer | readOnly | Priority of the recorded output as an unsigned 32-bit integer. Highest priority being 1 and 0 being undefined priority which will always be last. |
Methods
| Method | Description |
|---|---|
| read | Reads the resource. Returns the properties of channel added to track. Example: read /replay/tracks/0/channels/0 Example Response: {
"payload": {
"_links": {
"self": {
"href": "/replay/tracks/0/channels/1"
}
},
"dataSourceId": "scan:test:0:Stamp",
"displayName": "New Scanner 1: Stamp Output"
},
"status": 1,
"type": "response"
} |
Notifications
None.
/replay/playback
Resource Type: N/A
Contains playback settings.
| Item | Type | Schema | Description |
|---|---|---|---|
| enabled | bool | | Enables playback. When this is set to true, the system immediately disables scanner outputs and enables outputs from the replay system. When set to false, the outputs are reverted. |
| loopEnabled | bool | | Enables automatic looping of the data. |
| mode | integer | enum | Playback mode:
|
| speedFactor | number | | A multiplier to the actual frame rate when using mode is 1. e.g. at 1.0, the playback is at the original speed, while with 10.0, the playback occurs 10 times faster, and 0.1, 10 times slower. |
| frameRate | number | | The fixed frame rate to use when mode is 2; |
Methods
| Method | Description |
|---|---|
| read | Reads the playback settings. |
| update | Updates the playback settings. |
Notifications
| Notification | |
|---|---|
| updated | Occurs whenever the properties change. |
/replay/recording
Resource Type: N/A
Contains recording settings.
| Item | Type | Schema | Description |
|---|---|---|---|
| enabled | bool | | Enables recording. When recording is enabled, live data is recorded into the buffer. If playback is also enabled, recording is implicitly disabled. |
Methods
| Method | Description |
|---|---|
| read | Reads the recording settings. |
| update | Updates the recording settings. |
Notifications
| Notification | |
|---|---|
| updated | Occurs whenever the properties change. |
/replay/commands/seek
Resource Type: (Callable)
Seeks to a specified position in the buffer. The data at the position is emitted from the replay engine and makes its way into any receiving tools or output/control services.
Parameters:
| Item | Type | Schema | Description |
|---|---|---|---|
| positionDomain | integer | enum | The "domain" of the position parameter:
|
| position | integer | | The position to seek to. The meaning depends on positionDomain. |
Methods
| Method | Description |
|---|---|
| call | Invokes the command. |
/replay/commands/playTo
Resource Type: (Callable)
Starts playback and automatically stops at the specified position.
Parameters:
| Item | Type | Schema | Description |
|---|---|---|---|
| positionDomain | integer | enum | The "domain" of the position parameter:
|
| position | integer | | The position to play to. The meaning depends on positionDomain. |
Methods
| Method | Description |
|---|---|
| call | Invokes the command. |
/replay/commands/clear
Resource Type: (Callable)
Clears the replay buffer.
Methods
| Method | Description |
|---|---|
| call | Invokes the command. |
/tools
For tool resources, see Tool Resources .
/dataSources
Resource Type: (Collection - Unordered)
ID : auto-generated
A collection of data sources, which may come from tools, scan engines or the replay engine.
Methods
| Method | Description |
|---|---|
| read | Returns the array of data sources. Example: read /dataSources |
Notifications
| Notification | Description |
|---|---|
| embeddedUpdated | Occurs whenever the dataSource collection changes due to additions, deletions, or moves/reorders during a job load. Example: { "eventType" : "embeddedUpdated", "path" : "/dataSources" 1.0.x.x Added |
/dataSources/(id)
ID: auto generated when a data source is added (can be from an tool or scanner output or any other type of pipe output that might be added later).
All items have the following schema:
| Item | Type | Schema | Description |
|---|---|---|---|
| id | string | readOnly | An ID of the corresponding data source. Examples:
These (as with any ID) should be treated as opaque strings. For convenience, they are picked by the system to reflect their underlying scanner or tool output, but this should not be relied upon by clients. It is possible that the format of these ID's may change in later versions of the application. A client should never parse this (or any) ID. |
| dataFormat | DataFormat | readOnly | The data format of the output. See Common Types . |
| displayName | culture-specific string | | The display name of the data source. It is the result of the concatenated display names of the scanner or tool, and its output. Examples:
|
Note all the above fields are read-only in the sense that clients can not change them by updating them on the dataSource resource directly. However, this does not mean they never change. For example, the display name may change if the underlying tool or scanner output's display name changes.
Methods
| Method | Description |
|---|---|
| read | Read a specific dataSource. Example: read /dataSources/gocator:scanner-0:top:profile read /dataSources/tools:TestForward-0:otuputs:Output0 |
Notifications
| Event Type | Description |
|---|---|
| created | Occurs whenever a datasource output (eg. from scanners or tools ) is added. The path indicates the new data source output id. Example: { "eventType" : "created", "path" : "/dataSources/tools:TestForward-0:outputs:Output0",
"payload" : {new display source output properties} } |
| updated | Occurs whenever a datasource output (eg. from scanners or tools ) is updated. The path indicates the data source output id that was deleted. Example: { "eventType" : "updated", "path" : "path" : "/dataSources/tools:TestForward-0:outputs:Output0",
"payload" : {display source output properties} } |
| deleted | Occurs whenever a datasource (eg. scanner or tool output) is deleted or gets disabled.. The path indicates the data source output id that was deleted. Example: { "eventType" : "deleted", "path" : "path" : "/dataSources/tools:TestForward-0:outputs:Output0" } |
/dataSources/(id)/data
Resource Type: Non Standard , Streamable
Access the data for the dataSource. This resource can only be streamed - there is no support to read the resource directly.
Properties on this resource follow those documented for all Streamable resources here
Below, data is documented to specify that the "data" property is specifically a binary type.
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| stream | Streams data from a specific dataSource. Arguments:
Example: stream /dataSources/gocator:scanner-0:top:profile/data
stream /dataSources/tools:TestForward-0:otuputs:Output0/data {"period": 250000}
stream /dataSources/tools:TestForward-0:otuputs:Output0/data {"streamLastFrame":true} |
/controls
For control resources, see Control Resources .
/routines
For routine resources, see Routine Resources .
/jobs
Resource Type: N/A
Represents some high-level job properties.
| Item | Type | Schema | Description |
|---|---|---|---|
| defaultJob | string | readOnly | Job ID (name) of the default job. |
| loadedJob | string | readOnly | Job ID (name) of the currently loaded job. |
| loadedJobDirty | bool | readOnly | Boolean value indicating whether the currently loaded job contains unsaved data. |
Methods
| Method | Description |
|---|---|
| read | Read high-level job information from the system. Examples: Read the high-level job information, and expands any embedded information such as /jobs/files resource within it. read /jobs { "expandLevel" : -1 } |
Notifications
| Event Type | Description |
|---|---|
| updated | Occurs whenever high-level job information changes, such as the default job, loaded job, and if the loaded job becomes dirty. The path indicates the /jobs resource. Example Notification: { "eventType" : "updated", "path" : "/jobs"} |
/jobs/commands/load
Resource Type: (Callable)
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| call | Loads the specified job. This becomes the loaded job, and is marked as clean to begin with. Arguments:
Example: To initiate a job from factory defaults: call /jobs/commands/load { "fromFactory" : true } call /jobs/commands/load { "name" : "someJob" } |
/jobs/commands/save
Resource Type: (Callable)
Methods
| Method | Description | ||||||
|---|---|---|---|---|---|---|---|
| call | Method Trait: (WearsFlash) Saves the current job to the specified job name. If the job already exists it is overwritten. Arguments:
Example: call /jobs/commands/save { "name" : "newJob" } |
/jobs/commands/copy
Resource Type: (Callable)
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| call | Method Trait: (WearsFlash) Copies a job file under a new name. If the target name already exists, it is overwritten. Arguments:
Example: call /jobs/commands/copy { "sourceName" : "job1",
"destName" : "newJob1" } A subsequent read upon /jobs/files will contain both /jobs/files/job1 and /jobs/files/newJob1 resources. |
/jobs/commands/rename
Resource Type: (Callable)
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| call | Method Trait: (WearsFlash) Renames a job file to another name. If the target name already exists, it is overwritten. Arguments:
Example: call /jobs/commands/rename { "sourceName" : "job1",
"destName" : "renamedJob1" } A subsequent read call on /jobs/files will no longer contain /jobs/files/job1 and will instead contain /jobs/files/renamedJob1 resource. |
/jobs/commands/setDefault
Resource Type: (Callable)
Methods
| Method | Description | ||||||
|---|---|---|---|---|---|---|---|
| call | Sets a job as the default job, which is loaded during application start. Arguments:
Example: call /jobs/commands/setDefault { "name" : "defaultJob" } |
/jobs/files
Resource Type: (Collection - Unordered)
A collection of jobs within the system. Note that job names omit the ".gpjob" extension.
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| read | Reads a list of job files. | |||||||||
| create | Method Trait: (WearsFlash) Create a new job file, from uploaded content. Arguments:
Examples: create /jobs/files { "name": "newJob", "content" : **binary content** } |
Notifications
| Event Type | Description |
|---|---|
| updated | Occurs whenever the jobs collection changes. Unary additions and deletions do not trigger this event. Example Notification: { "eventType" : "updated", "path" : "/jobs/files" } |
/jobs/files/(jobName)
Resource Type: (CollectionItem)
ID : User-defined name
Represents the collection of job files. The parent resource can be queried to obtain a list of job files and their information.
Information about the job file specified by the ID, which is just the job name. This resource does not contain the contents of the job file (see next section).
Schema:
| Item | Type | Schema | Description |
|---|---|---|---|
| jobName | string | readOnly | Job name. |
| size | integer | readOnly | Size of the job file, in bytes. |
Methods
| Method | Description |
|---|---|
| read | Reads a specific job's properties. |
| delete | Method Trait: (WearsFlash) Deletes a job files from the system. The path to the job name must be provided. If the job being deleted is the currently loaded job, then the loaded job is cleared and the job is set to dirty. Example: Delete a single job file: delete /jobs/files/myJob A special wildcard form applies to this delete method. The path of this jobs command can be wildcarded to delete all job files. delete /jobs/files/* |
Notifications
| Event Type | Description |
|---|---|
| created | Occurs whenever a job is created. The path indicates the new job id. Example: { "eventType" : "created", "path" : "/jobs/files/newJob"} |
| updated | Occurs whenever a job is updated (ie. re-saved or overwritten with new content). The path indicates the job name that was updated. Example Notification: { "eventType" : "updated", "path" : "/jobs/files/updatedJob"} |
| deleted | Occurs whenever a job file is deleted. The path indicates the job name that was deleted. Example Notification: { "eventType" : "deleted", "path" : "/jobs/files/deletedJob"} |
/ jobs/files/(jobName)/data
Resource Type: (CollectionItem)
Represents the actual binary contents of the job file as a binary string, which can be read and updated.
| Item | Type | Description |
|---|---|---|
| content | binary | Contains the job data as raw binary. |
Methods
| Method | Description | ||||||
|---|---|---|---|---|---|---|---|
| read | Reads a specific job's binary data. | ||||||
| update | Method Trait: (WearsFlash) Updates a specific job's binary data. If the job being updated is the currently loaded job, then the loaded job is cleared and the job is set to dirty, to reflect that the current job no longer matches.
Examples: update /jobs/files/myJob/Data { "content" : **binary content** } |
Notifications
Although this resource does not raise any event notifications of its own, changes to the binary data will raise event notifications on its parent see /jobs/files/(jobName) -- Notifications .
/problems
Resource Type: N/A
Contains a list of currently active problems that are updated on start/simulate of the sensor. Note that this isnot a collection resource ; it is a standard resource that contains an array.
Problems are defined as anything that prevents the sensor from running that the user is able to fix via configuration.
Each problem object follows the schema below:
| Item | Type | Schema | Description |
|---|---|---|---|
| msg | string | | A message string describing the problem. |
| severity | integer | | The severity of the problem that can be one of :
|
| source | string | | source of the problem. e.g. Pipe, Scanner, etc... |
Methods
| Method | Description |
|---|---|
| read | Reads the current list of problems. Example: read /problems Example response: {
"payload": {
"items": [
{
"msg": "This is a problem.",
"severity": 0,
"source": "Pipe"
}
],
"_links": {
"self": {
"href": "/problems"
}
}
},
"path": "/problems",
"type": "response",
"status": 1
} |
Notifications
| Event Type | Description |
|---|---|
| updated | Occurs whenever the problems collection changes due to additions or deletions (or if all problems are resolved). Example: { "eventType" : "updated", "path" : "/problems" } |
/logs
Resource Type: N/A
ID : Auto-generated
A list of public logs. Note that this isnot a collection resource ; it is a resource that contains an array.
See /logs/summary for the first log id ("idStart" - see /logs/summary) and last log id ("idEnd" - see /logs/summary) which should be used to read logs.
Each log message has has common scheme elements listed below:
| Item | Type | Description |
|---|---|---|
| id | integer | ID of the log message. Unique. |
| level | integer | Log level (warn, info, etc.)
|
| timestamp | integer | Timestamp of the message. This is the time elapsed since uptime in microseconds. |
| text | string | Locale specific log message. This message will be translated based on the system language. |
Methods
| Method | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| read | Reads the /logs collection. Payload:
If either of these are out of the range[ idStart , idEnd], kERROR_PARAMETER is thrown. If startId > endId, logs is empty. Examples: read /logs
read /logs {"startId": 1, "endId": 3} Example response: {
"payload": {
"logs": [
{
"id": 1,
"level": 0,
"text": "This is a log.",
"timestamp": 6222610417
},
{
"id": 2,
"level": 0,
"text": "This is a log.",
"timestamp": 6222610754
}
],
"_links": {
"self": {
"href": "/logs"
}
}
},
"path": "/logs",
"type": "response",
"status": 1
} |
/logs/commands/clear
/logs/summary
Resource Type: N/A
| Attribute | Type | Description |
|---|---|---|
| idStart | integer | ID of the first available log |
| idEnd | integer | ID of the last available log |
Methods
| Method | Description |
|---|---|
| read | Reads the /logs/summary information. Examples: read /logs/summary Example response: {
"payload": {
"idEnd": 2,
"idStart": 1,
"_links": {
"self": {
"href": "/logs/summary"
}
}
},
"path": "/logs/summary",
"type": "response",
"status": 1
}
|
Notifications
| Event Type | Description |
|---|---|
| updated | Occurs whenever the log collection changes due to additions or deletions. Example: { "eventType" : "updated", "path" : "/logs/summary" } |