Version: 1.2.2
Author: Gyorgy Sarvari (SGY)
Date: 22.03.2017
- Introduction
- about
- clock
- control
- daq
- measurement
- monitor
- param
- record
- signal
- status
- stream
- system
- teds
Introduction
Your Kistler 5165A.. device provides an extensive set of REST API services to control all the features conveniently. On this page you can find a description of these services, and also examples of the usage.
/api/param/
All functionality needed for device parameterization and getting information about device param (set, get, validate, poll for changes).
/api/daq/
Provides access to data acquisition and measurement controls.
/api/ctrl/
Provides access to device control.
/api/clock/
Provides access to system-time related settings and information.
/api/about
Provides access to basic information about the device.
/api/update
Provides access to firmware update on the device.
/api/$/status
Provides access to to the current channel statuses the device.
/api/$/signal
Provides access to the current signal levels on the device, and also option to reset arithmetic calculations.
/api/$/monitor
Provides access to LED colors/channel statuses, and to current signal values. DEPRECATED
/api/teds
Provides access to data stored on TEDS capable sensors.
/api/$/record
Provides access to the recorder feature of the device.
/api/about
Retrieves all relevant information This API provides the means to get some general information of the device .
Examples
TX: curl http://IP_ADDRESS/api/about
RX: {"result": 0, "about": { "softwareVersion": "2015-04-21_08-03(2592)", "platformVersion" : "2747", "bootloaderVersion": "1.1.0 ", "hardwareVersion": "120111", "fpgaVersion": "20150420", "serialNumber": "1234567890" } }
Summary
URL |
/api/about |
Method |
GET |
Response schema(s) |
200, object, Various device information + about object ++ hardwareVersion string, current version of hardware ++ serialNumber string, serial number of device ++ softwareVersion string, current version of software ++ fpgaVersion string, current version of FPGA ++ platformVersion string, current version of platform ++ bootloaderVersion string, current version of bootloader + result integer, success result
|
Example response |
{"about": {"hardwareVersion": 4227, "serialNumber": 123456, "softwareVersion": "1.2.2", "fpgaVersion": 20170425, "platformVersion": "2016.09.2", "bootloaderVersion": "1.2.0"}, "result": 0} |
/api/clock/ntp/status/get
Returns list of available timezones Gets the current NTP sync status. NTP status code can be:
- "disabled": NTP synchronisation is disabled
- "nosync": device is not synchronised with NTP server. Device will continously retry to synchronise.
- "sync": device is synchronised with NTP server
Summary
URL |
/api/clock/ntp/status/get |
Method |
GET |
Response schema(s) |
200, object, Success + status string, service status + result integer, result code
default, string, Error occured
|
Example response |
{"status": "sync", "result": 0} |
/api/clock/timezone/set
Sets the timezone Sets the timezone of the system clock. This interface uses the parameter manager interface to set the parameter. Clients could also use the parameter manager interfaces directly. The timezone needs to be one of the zones retrieved from the timezone/list service.
Summary
URL |
/api/clock/timezone/set |
Method |
POST |
Payload schema |
- timezone string, Name of timezone
|
Example payload |
{"timezone": "Europe/London"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/clock/ptp/status/get
Gets PTP sync status Gets the current PTP sync status. PTP status code can be:
- "disabled": PTP is not running.
- "unsynchronized": The role of the device (PTP Slave or Grandmaster) is not determined. This can happen for a few seconds after boot-up or a network reconfiguration.
- "master": System acts as a PTP Grandmaster.
- "slaveNosync": System acts as a PTP Slave. Time information is not inside the range of specified system qualities.
- "slaveSync": System acts as a PTP Slave. Correct time information is provided by PTP.
SyncE status code can be:
"forceOff": SyncE is forced off.
The values for "gmIdentity", "clockIdentity" and "portStates" are strings of the format defined in the PTP data set.
The value for "offsetFromMaster" is an integer and provides the estimated synchronisation offset in nano seconds.
Summary
URL |
/api/clock/ptp/status/get |
Method |
GET |
Response schema(s) |
200, object, Success + clockIdentity string, IEEE 1588-2008 clockIdentity of this device + gmIdentity string, IEEE 1588-2008 clockIdentity of Grandmaster device + offsetFromMaster integer + ptpStatus string, sycnhronization mode + result integer, result code + syncEStatus string, sycnhronization mode + portStates object, port states ++ 1 string, IEEE 1588-2008 portState ++ 2 string, IEEE 1588-2008 portState
default, string, Error occured
|
Example response |
{"clockIdentity": "68c90b.fffe.1f04e2", "gmIdentity": "68c90b.fffe.1f3b83", "offsetFromMaster": 5, "ptpStatus": "slaveSync", "result": 0, "syncEStatus": "forceOff", "portStates": {"68c90b.fffe.1f3b83-2": "LISTENING", "68c90b.fffe.1f3b83-1": "SLAVE"}} |
/api/clock/ntp/settings/set
Sets the NTP Server list Sets the NTP Server list. This interface uses the API param to set the parameter. Clients could also use the parameter manager interfaces directly.
Summary
URL |
/api/clock/ntp/settings/set |
Method |
POST |
Payload schema |
- ntpServers array, Array of NTP servers ++ string
|
Example payload |
{"ntpServers": ["2.europe.pool.ntp.org", "3.europe.pool.ntp.org"]} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/clock/timezone/get
Gets the timezone Returns the current timezone.
Examples
TX: curl http://IP_ADDRESS/api/clock/timezone/get
RX: { "result": 0, "timezone": "Europe/Paris" }
Summary
URL |
/api/clock/timezone/get |
Method |
GET |
Response schema(s) |
200, object, Information + timezone string, timezone name + result integer, result code
default, string, Error occured
|
Example response |
{"timezone": "UTC", "result": 0} |
/api/clock/settings/get
Gets clock system settings Gets the current settings for the clock system.
Summary
URL |
/api/clock/settings/get |
Method |
GET |
Response schema(s) |
200, object, Information + ntpServers array, array of NTP servers ++ string + domain string + syncmode string, sycnhronization mode + utcTime string, ISO-8601 utc time + priority1 string + ptpProfile string + utcOffset object ++ source string ++ userUTCOffset string, IEEE 1588-2008 currentUtcOffset + priority2 string + result integer, result code + ptpTransport string + timezone string, timezone name + syncE string + localTime string, ISO-8601 local time
default, string, Error occured
|
Example response |
{"ntpServers": ["2.europe.pool.ntp.org", "3.europe.pool.ntp.org"], "domain": "0", "syncmode": "ntpOnly", "utcTime": "2016-08-11T14:37:03+0000", "priority1": "255", "ptpProfile": "auto", "utcOffset": {"source": "auto", "manualUTCOffset": "0"}, "priority2": "255", "result": 0, "ptpTransport": "Ethernet", "timezone": "Europe/London", "syncE": "forceOff", "localTime": "2016-08-11T15:37:03+0100"} |
/api/clock/syncmode/set
Sets the synchronization mode Sets the synchronization mode. This interface uses the API param to set the parameter. Clients could also use the parameter manager interfaces directly.
The values for "syncmode" can be:
- "disabled": All synchronisation protocols are disabled. The time is set manually on the device.
- "ntpOnly": Only NTP synchronisation is enabled.
- "ptpOnly": Only PTP synchronisation is enabled.
Summary
URL |
/api/clock/syncmode/set |
Method |
POST |
Payload schema |
- syncmode string, Type of synchronization
|
Example payload |
{"syncmode": "ntpOnly"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/clock/time/get
Gets current system time Returns the current system time. Either returns the current system time in the configured local timezone, when format = "local" or returns the current system time in UTC, when format = "utc".
Summary
URL |
/api/clock/time/get |
Method |
POST |
Payload schema |
- format string, Time format - UTC or local
|
Example payload |
{"format": "utc"} |
Response schema(s) |
200, object, Success + format string, timezone name + result integer, result code + time string, ISO-8601 time string
default, string, Error occured
|
Example response |
{"format": "utc", "result": 0, "time": "2016-08-11T13:39:01+0000"} |
/api/clock/ptp/settings/set
Sets the PTP specific configuration. Sets the PTP specific configuration. This interface uses the API param to set the parameter. Clients could also use the parameter manager interfaces directly. A valid request specifies each parameter in the Body Request. Specifying "manualUTCOffset" parameter is required only when "source" is "manual".
The Value of "domain" is integer from range 0..127. Only devices belonging to the same domain would synchronize together.
The value for "ptpProfile" can be one of the following:
- "auto: Starts with the delay request-response mechanism (E2E) and switches to the peer delay mechanism (P2P) if peer delay request messages are received.
- "requestResponse": Delay Request-Response Default PTP profile 00-1B-19-00-01-00 (E2E mechanism).
- "peerToPeer": Peer-to-Peer Default PTP profile 00-1B-19-00-02-00 (P2P mechanism).
The value for "ptpTransport" can be one of the following:
- "Ethernet: Network transport for PTP is IEEE 802.3/Ethernet.
- "UDP_IPv4": Network transport for PTP is UDP over IPv4.
The value for "syncE" can be one of the following:
- "forceOff": Synchronous Ethernet forced off.
The value of priority1 and priority2 ranges from 0..255, while 0 is the highest priority and 255 is the lowest one.
The value for "utcOffset"."source" can be one of the following:
- "tzdata: use tzdata database to obtain UTC offset
- "userDefined": user defined value provided in "utcOffset"
Summary
URL |
/api/clock/ptp/settings/set |
Method |
POST |
Payload schema |
- domain integer, domain - priority1 integer, priority1 - ptpProfile string, PTP profile - utcOffset object ++ source string ++ userUTCOffset string, IEEE 1588-2008 currentUtcOffset
- priority2 integer, priority2 - ptpTransport string, PTP transport - syncE string, Sync E
|
Example payload |
{"domain": 0, "priority1": 0, "ptpProfile": "auto", "utcOffset": {"source": "tzdata", "userUTCOffset": 0}, "priority2": 0, "ptpTransport": "Ethernet", "syncE": "forceOff"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/clock/timezone/list
Returns list of available timezones Returns a list of available timezones installed on the system when orderby = "none". Returns a list of available timezones installed on the system ordered by region : country : zone, when orderby = "region".
Summary
URL |
/api/clock/timezone/list |
Method |
POST |
Payload schema |
- orderby string, Ordering of timezones
|
Example payload |
{"orderby": "none"} |
Response schema(s) |
200, object, Success + timezones array, timezones if orderby = region ++ object +++ region string, Name of the region +++ countries array, List of countries in the region ++++ object, List of timezones in a country +++++ country string, Country name +++++ timezones array, List of timezones ++++++ string + result integer, result code + timezones_ array, timezones if orderby = none (NOTE the field will be actually named `timezones') ++ string
default, string, Error occured
|
Example response |
{"timezones": ["Africa/Cairo", "America/Anchorage"], "result": 0} |
/api/clock/time/set
Sets the time Sets the current date and/or time of the system using ISO-8601 time string. Date, Time, or both can be specified. Use T separator if specifying both date and time. Use Z suffix to indicate supplied time is UTC, otherwise local time is assumed. If the time can not be set because of a time source conflict, then the error "conflicting_time_source" is returned.
It is not possible to set the time menually when the device is in PTP slave mode, or in NTP synchronization mode.
Summary
URL |
/api/clock/time/set |
Method |
POST |
Payload schema |
- time string, Time in format [YYYY-MM-DD][T][HH:MM:SS][Z]
|
Example payload |
{"time": "2016-08-09T14:11:30Z"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/clock/status/get
Gets clock service status Gets the current service status. Service status can be:
- "configuring": Service is initializing, recovering from error or applying changes to the settings
- "ready": Running mode does reflect actual parameter values and service is operating normally
Summary
URL |
/api/clock/status/get |
Method |
GET |
Response schema(s) |
200, object, Success + status string, service status + result integer, result code
default, string, Error occured
|
Example response |
{"status": "configuring", "result": 0} |
/api/ctrl/factoryreset
Reset the device to factory setting This service resets all parameter settings to the factory default values and reboots the device. This has the same effect as pressing the factory reset button on the device for 2 seconds.
Summary
URL |
/api/ctrl/factoryreset |
Method |
POST |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/ctrl/identify
Cause the device to activate its physical identification mechanism. NOTE: This method currently cannot return anything but success.
Examples
TX: curl --data "" http://IP_ADDRESS/api/ctrl/identify
RX: { "result": 0 }
Summary
URL |
/api/ctrl/identify |
Method |
POST |
Response schema(s) |
200, object, Success + result integer, success result 0
|
Example response |
{"result": 0} |
/api/daq/start
Returns acquired data in file as chunked download. Registers a DAQ Download session ID that can be used with the /api/daq/download service to obtain the file. The scanLimit parameter is the number of scans returned in the downloaded file. If its value is 0, the number of returned scan is unlimited (till a /daq/stop request is sent).
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/daq/start -d '{ "scanLimit": 1000}'
RX: { "result": 0, "key": "1414bad3-1120-40be-b0c3-51d6353f96b6" }
Summary
URL |
/api/daq/start |
Method |
POST |
Payload schema |
- scanLimit integer, Number of scans. If value 0, the data will proceed unlimited until a stop request is made or an error condition occurs
|
Example payload |
{"scanLimit": 1000} |
Response schema(s) |
200, object, Response success, contains guid-key + result integer, result code + guid-key string, guid-key
default, string, Error occured
|
Example response |
{"result": 0, "guid-key": "a6e5fb10-f12d-4d35-bd00-161b2ecc4d09"} |
/api/daq/status
Returns the current status for the daq process. The "scans" Count is the current number of scans acquired when this method is called. This can be used to control a progress bar.
The "status" conditions represents the state of the data acquisition process. Possible values are:
Status |
Brief |
Description |
-1 |
ERROR |
An error has occurred during data acquisition. View the lastError member for details |
0 |
STOPPED |
The data acquisition is not running |
1 |
RUNNING |
The data acquisition is running |
2 |
WAITING |
The data acquisition is waiting for a client to connect to the fifo |
The "lastError" conditions indicates the last error that occurred during the data acquisition process. Possible values are:
Status |
Brief |
Description |
0 |
NONE |
System is normal, no error has occurred |
1 |
FIFO_FAIL |
Failed to open the fifo file for writing |
2 |
FIFO_TIMEOUT |
The fifo was opened for writing but a client never connected to read (ie: api/daq/start called but not api/daq/download) |
3 |
FIFO_WRITE |
Error during write to fifo likely if client closed connection |
4 |
UNKNOWN_OUTPUT_FORMAT |
The file output format selected is not supported |
5 |
DAQ_ERROR |
The data acquisition hardware system reported an error |
6 |
DAQ_OVERRUN |
A data-overrun occurred |
7 |
SCANS_TOO_LARGE |
The requested scan count is too large. Must be less than 24 hours of data |
8 |
UNKNOWN |
An unknown error occurred |
Examples
TX: curl -v -X GET http://IP_ADDRESS/api/daq/status
RX: { "result": 0, "lastError": 0, "scans": 1024, "status": 1 }
Summary
URL |
/api/daq/status |
Method |
GET |
Response schema(s) |
200, object, Parameter setting status + status string, status + lastError string, error + result integer, result code + scans integer, count
default, string, Error occured
|
Example response |
{"status": 1, "lastError": 0, "result": 0, "scans": 12548} |
Gets metadata of the device Returns the basic attributes of the DAQ subsystem.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/device/metadata/get -d '{ }'
RX: { "result": 0 } and metadata (see schema)
Summary
URL |
/api/daq/device/metadata/get |
Method |
POST |
Response schema(s) |
200, object, Parameter setting status + result integer, success result 0 + metadata object, metadata ++ device object, device info +++ serial-number string, serial number of device +++ type string, device type (5165A..) ++ signal-providers array +++ object, signal provider description ++++ signals array +++++ object, signal properties key/value pairs ++++++ path string, key name ++++ name string, name of signal provider ++ version string, device version
default, string, Error occured
|
Example response |
{"result": 0, "metadata": {"device": {"serialNumber": 1234567, "type": "5165A1"}, "version": 1.0, "signalProviders": [{"signals": [{"path": "/measChannel/1"}, {"path": "/virtChannel/1"}], "name": "daq-provider"}]}} |
/api/daq/stop
Stops the downloading process for the given guid-key. The stop is ignored if data acquisition is not running
The user must supply the correct guid-key as provided when started.
If the key is missing, or does not match with the current acquisition process, an error is returned.
This prevents a second client from stopping a data acquisition process.
TX: curl -v -X POST http://IP_ADDRESS/api/daq/stop -d '{ "key": "1414bad3-1120-40be-b0c3-51d6353f96b6" }
RX: { "result": 0 }
Summary
URL |
/api/daq/stop |
Method |
POST |
Payload schema |
- key string, guid-key
|
Example payload |
{"key": "a6e5fb10-f12d-4d35-bd00-161b2ecc4d09"} |
Response schema(s) |
200, object, Parameter setting status + result integer, result code
|
Example response |
{"result": 0} |
/api/daq/download/{guid-key}
Returns acquired data in file as chunked download The full url download path requires the guid-key returned from the api/daq/start call. An optional query string parameter ?filename=filename specifies the save-as file name.
If omitted the file is downloaded with the guid-key as the filename. Error conditions are returned via the /api/daq/status method.
NOTE: This download will not stop until a stop condition is reached. Stop conditions are for example:
A '/api/daq/stop' command is issued (this is the normal use case)
A pre-defined scan count has been reached
Connection to requesting client is lost or has been closed
Device memory is full resulting from data being acquired faster than it can be transmitted to client
Examples
TX: curl -v -X GET http://IP_ADDRESS/api/daq/download/1414bad3-1120-40be-b0c3-51d6353f96b6 -o test.csv
RX: chunked file download
Summary
URL |
/api/daq/download/{guid-key} |
Method |
GET |
Parameters |
- guid-key, string, parameter type: path, GUID - filename, string, parameter type: query, File name to use
|
Response schema(s) |
200, datafile
|
Gets metadata of the specific measurement Returns the metadata for the specified measurement (channels in the measurement, channel data, their offset in the resulting binary data that can be acquired using DAQ streaming/binary DAQ download.
There are only signals, which are enabled (enabled: true). Offset is calculated according to order of signal in scan and the byte size of signal data type (FLOAT32 = 4 bytes).
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/device/metadata/get -d '{ }'
RX: { "result": 0 } and metadata (see schema)
Summary
URL |
/api/daq/measurement/metadata/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Parameter setting status + result integer, success result 0 + metadata object, measurement data ++ signalProvider object, signal provider +++ signals array, signals ++++ object, signal data +++++ dataType string, data type (FLOAT32) +++++ source string, source of signal +++++ name string, name of signal +++++ unit string, physical unit abbreviation +++++ offset integer, offset +++ samplingRate integer, sampling rate +++ name string, provider name ++ measurementId integer, measurement ID
default, string, Error occured
|
Example response |
{"result": 0, "metadata": {"signalProvider": {"signals": [{"dataType": "FLOAT32", "source": "Virtual-Channel-1", "name": "Kistler Force Sensor", "unit": "N", "offset": 0}], "samplingRate": 6250, "name": "daq-provider"}, "measurementId": 1}} |
/api/daq/measurement/enabled/get
Enables the measurement Returns the "enabled" status of the specified measurement.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/enabled/get -d '{ "measurementId" : 1 }'
RX: { "result" : 0, "enabled" : false }
Summary
URL |
/api/daq/measurement/enabled/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + enabled boolean, true / false + result integer, success result 0
default, string, Error occured
|
Example response |
{"enabled": false, "result": 0} |
/api/daq/measurement/configuration/set
Sets configuration for the measurement Set the whole measurement configuration in one request. Note that this is equivalent to setting the separate attributes one by one.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/configuration/set -d '{ "measurementId" : 4, "startTrigger" : { "triggerUpon" : "event", "event" : "request", "preTrigger" : 4 }, "stopTrigger" : { "triggerUpon" : "duration", "duration": 8000, "postTrigger" : 4000 }, "signal-provider" : "daq-provider", "enabled" : true }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/configuration/set |
Method |
POST |
Payload schema |
- startTrigger object, start trigger ++ triggerUpon string ++ preTrigger integer, Pre trigger time in nsecs ++ event integer, event-namespace.event-id ++ time integer, secs.nsecs
- enabled boolean, true/false - signalProvider string, signal provider - measurementId integer, ID - stopTrigger object, stop trigger ++ triggerUpon string ++ preTrigger integer, pre-trigger time in nsecs ++ event integer, event-namespace.event-id ++ time integer, secs.nsecs
|
Example payload |
{"startTrigger": {"event": "skybase.sigmon.threshold-1_meas-1_falling", "triggerUpon": "event"}, "enabled": true, "signalProvider": "daq-provider", "measurementId": 1, "stopTrigger": {"duration": 2000000000, "triggerUpon": "duration"}} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/start-trigger/set
Sets start trigger The property triggerUpon should be set to the one of time, event, or request. According to this value, the property time or event is required. The property pre-trigger equals 0 if omitted. See also the user guide's section about measurements.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/start-trigger/set -d '{ "measurementId" : 1, "triggerUpon" : "event", "event": "skybase.sigmon.threshold-1_meas-1_falling", "preTrigger" : 16 }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/start-trigger/set |
Method |
POST |
Payload schema |
- time string, secs.nsecs - preTrigger integer, pre trigger time - event string, event-namespace.event-id - measurementId integer, ID - triggerUpon string, trigger type
|
Example payload |
{"measurementId": 1, "triggerUpon": "request"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/signal-provider/set
Sets signal provider Set the signal-provider for the measurement. Note that the value of the signal-provider on the 5165A.. device is always "daq-provider".
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/signal-provider/set -d '{ "measurementId" : 1, "signalProvider" : "daq-provider" }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/signal-provider/set |
Method |
POST |
Payload schema |
- signalProvider string, name - measurementId integer, ID
|
Example payload |
{"signalProvider": "daq-provider", "measurementId": 1} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/signal-provider/get
Gets signal provider Returns the current signal-provider associated with the specified measurement.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/signal-provider/get -d '{ "measurementId" : 1 }'
RX: { "result" : 0, "signalProvider" : "daq-provider" }
Summary
URL |
/api/daq/measurement/signal-provider/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + result integer, result code + signalProvider string, signal provide
default, string, Error occured
|
Example response |
{"result": 0, "signalProvider": "daq-provider"} |
/api/daq/measurement/count/get
Number of possible measurements The number of available measurement configurations on the device.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/count/get -d '{ }'
RX: { "result" : 0, "measurementConfigurationsCount" : 1 }
Summary
URL |
/api/daq/measurement/count/get |
Method |
POST |
Response schema(s) |
200, object, Success + measurementConfigurationsCount integer, the resulting count + result integer, result code
default, string, Error occured
|
Example response |
{"measurementConfigurationsCount": 1, "result": 0} |
/api/daq/measurement/start
Starts the measurement Starts the measurement when the measurement's startTrigger is set to "request". The time field in the body is optional. When set, the measurement will start at the specified timestamp.
If omitted, the measurement will start immediately.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/start -d '{ "measurementId" : 1 }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/start |
Method |
POST |
Payload schema |
- measurementId integer, ID - time string, secs.nsecs
|
Example payload |
{"measurementId": 1, "time": "1476186700.0"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/status/get
Returns status of given measurement Returns status of given measurement -
whether the measurement is running or not, and a timestamp of the last status change
measurementId is an ID number of the measurement the status of which the user wants to know.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/status/get -d '{ "measurementId": 1}'
RX: {"result":0,"status":{"measurementId" : 1, "enabled" : true, "running" : false, "timestamp" : "1470902766.637592000", "signalProvider" : "daq-provider"}}
Summary
URL |
/api/daq/measurement/status/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Parameter setting status + status object ++ timestamp string ++ running boolean ++ enabled boolean, status of measurement (enabled/disabled) ++ signalProvider string ++ measurementId integer, measurement ID from the request + result integer, success result 0
default, string, Error occured
|
Example response |
{"status": {"timestamp": "1470902766.637592000", "running": false, "enabled": true, "signalProvider": "daq-provider", "measurementId": 1}, "result": 0} |
/api/daq/measurement/stop
Stops the measurement Stops the measurement when the measurement's stopTrigger is set to "request".
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/stop -d '{ "measurementId" : 2 }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/stop |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/enabled/set
Enables the measurement Sets the "enabled" status of the measurement.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/enabled/set -d '{ "measurementId" : 1, "enabled" : "true" }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/enabled/set |
Method |
POST |
Payload schema |
- enabled boolean, true/false - measurementId integer, ID
|
Example payload |
{"measurement-id": 1, "enabled": true} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/measurement/stop-trigger/get
Gets stop trigger Returns the currently set stopTrigger for the specified measurement along with the postTrigger time in nanoseconds.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/stop-trigger/get -d '{ "measurementId" : 1 }'
RX: { "triggerUpon" : "duration", "postTrigger" : 4, "duration" : 8000, "result" : 0}
Summary
URL |
/api/daq/measurement/stop-trigger/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + result integer, result code + triggerUpon string, trigger type + postTrigger integer, pre trigger time in nsec + event integer, event-namespace.event-id + time string, format secs.nsecs
default, string, Error occured
|
Example response |
{"triggerUpon": "request", "result": 0, "postTrigger": 1500000000} |
/api/daq/measurement/start-trigger/get
Get start trigger Returns the currently set startTrigger for the specified measurement ID along with the preTrigger time in nanoseconds.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/start-trigger/get -d '{ "measurementId" : 1 }'
RX: { "triggerUpon" : "request", "preTrigger" : 16, "result" : 0}
Summary
URL |
/api/daq/measurement/start-trigger/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + result integer, result code + triggerUpon string, trigger type + preTrigger integer, pre trigger time + event integer, event-namespace.event-id + time string, format secs.nsecs
default, string, Error occured
|
Example response |
{"result": 0, "triggerUpon": "event", "event": "skybase.sigmon.threshold-1_meas-1_rising", "preTrigger": 80000000} |
/api/daq/measurement/configuration/get
Gets configuration for the measurement Returns the whole measurement configuration.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/configuration/get -d '{ "measurementId" : 1}'
RX: { "result" : 0, "signalProvider" : "daq-provider", "enabled" : true, "startTrigger" : { "triggerUpon" : "request", "preTrigger" : 16}, "stopTrigger" : { "triggerUpon" : "event", "postTrigger" : 12, "event" : "skybase.sigmon.threshold-1_meas-1_rising"}}
Summary
URL |
/api/daq/measurement/configuration/get |
Method |
POST |
Payload schema |
- measurementId integer, ID
|
Example payload |
{"measurementId": 1} |
Response schema(s) |
200, object, Success + startTrigger object, start trigger ++ triggerUpon string ++ preTrigger integer, Pre trigger time in nsecs ++ event integer, event-namespace.event-id ++ time integer, secs.nsecs + stopTrigger object, stop trigger ++ triggerUpon string ++ preTrigger integer, pre-trigger time in nsecs ++ event integer, event-namespace.event-id ++ time integer, secs.nsecs + enabled boolean, true/false + result integer, success result 0 + signalProvider string, signal provider
default, string, Error occured
|
Example response |
{"startTrigger": {"event": "skybase.sigmon.threshold-1_meas-1_falling", "triggerUpon": "event"}, "enabled": true, "signalProvider": "daq-provider", "measurementId": 1, "stopTrigger": {"duration": "2000000000", "triggerUpon": "duration"}} |
/api/daq/measurement/stop-trigger/set
Sets stop trigger The property triggerUpon should be set to the one of time, event, duration, or request. According to this value, the property time, event, or duration is required. The property postTrigger equals 0 if omitted.
Examples
TX: curl -X POST http://IP_ADDRESS/api/daq/measurement/stop-trigger/set -d '{ "measurementId" : 1, "triggerUpon" : "duration", "duration": 1000000, "postTrigger" : 16000 }'
RX: { "result" : 0 }
Summary
URL |
/api/daq/measurement/stop-trigger/set |
Method |
POST |
Payload schema |
- triggerUpon string, trigger type - postTrigger integer, post trigger time - time string, secs.nsecs - duration integer, post-trigger - event string, event-namespace.event-id - measurementId integer, ID
|
Example payload |
{"measurementId": 1, "triggerUpon": "request"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/monitor/set
Resets the arithmetic calculations for the channels. Note that this service is deprecated, and might be removed from future software releases. We recommend you not to develop new software depending on this service, and consider
migrating your existing applications to use the /api/$/signal and /api/$/status REST API services
This method can be used to reset the arithmetic calculations (min/max/ampl) values for the channels.
The format of the string that needs to be sent to reset the arithmetic calculations is the following:
signal/measChannel/[CHANNEL_NUMBER]/reset
where CHANNEL_NUMBER is the number of channel that's min/max/ampl values need to be reset.
The value for the request should be always "1".
This service can't be used to reset the calculations for Virtual Channels.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/signal/reset -d '{"values":[{"name":"signal/measChannel/1/reset","value":"1"},{"name":"signal/measChannel/2/reset","value":"1"},{"name":"signal/measChannel/3/reset","value":"1"},{"name":"signal/measChannel/4/reset","value":"1"}]}'
RX: {"result":0}
Summary
URL |
/api/$/monitor/set |
Method |
POST |
Payload schema |
- values array ++ object +++ name string, The channel to be reset, in the above described format. +++ value string, The value is always 1.
|
Example payload |
{"values": [{"name": "signal/measChannel/1/reset", "value": "1"}]} |
Response schema(s) |
200, object, Confirmation of the action. + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/monitor/get
Returns the current signal levels and LED/channel statuses. Note that this service is deprecated, and might be removed from future software releases. We recommend you not to develop new software depending on this service, and consider
migrating your existing applications to use the /api/$/signal and /api/$/status REST API services
This method can be used to get the current signal values and LED colors, even multiple ones and types with one request. The format of requesting a signal value is the following:
signal/measChannel/[CHANNEL_NUMBER]/[SIGNAL_TYPE]
where the [CHANNEL_NUMBER] is an integer, corresponding the requested channel number, and [SIGNAL_TYPE] is one of the following values: min, max, live, rms, ampl
The format for requesting the LED status is the following:
[CHANNEL_TYPE]/[CHANNEL_NUMBER]/LEDstatus
where [CHANNEL_TYPE] is either "measChannel" or "output", and the [CHANNEL_NUMBER] is an integer corresponding to the number of the requested channel.
When requesting LED status, the following values might be returned:
Status |
LED color |
Brief |
0 |
Black |
The channel is turned off. (Only returned for output channels) |
1 |
Cyan |
The channel is operating correctly. |
2 |
Red |
Over range state in ADC. (Only returned for input channels) |
3 |
Red |
Over range state on input. (Only returned for input channels) |
4 |
Red |
Over range state on output. (Only returned for output channels) |
5 |
Red |
Open circuit detected in IEPE mode. (Only returned for input channels) |
6 |
Red |
Short circuit detected in IEPE mode. (Only returned for input channels) |
7 |
Yellow |
The device is being identified. |
8 |
Yellow |
The device is reading/writing TEDS data. (Only returned for input channels) |
9 |
Red |
Unsupported/damaged TEDS template is attached. (Only returned for input channels) |
Note that this REST API service does not support querying data from Virtual Channels.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/monitor/get -d '{"values":["signal/measChannel/1/live","measChannel/1/LEDstatus"]}'
RX: { "result": 0, "values":[ {"name": "signal/measChannel/1/live", "value": "-0.000959"}, {"name": "measChannel/1/LEDstatus", "value": "1"} ]}
Summary
URL |
/api/$/monitor/get |
Method |
POST |
Payload schema |
- values array ++ string, Signal or LED string, as described above.
|
Example payload |
{"values": ["signal/measChannel/1/live", "measChannel/1/LEDstatus", "signal/measChannel/2/max", "output/3/LEDstatus", "signal/measChannel/4/rms", "measChannel/2/LEDstatus"]} |
Response schema(s) |
200, object, Current signal values and/or LED and channel statuses. + values array ++ object +++ name string, the name of the requested value, corresponds with the string described above, and with the string sent in the request +++ value number, In case of a signal value it is a float representing the latest measured value on the signal input. In case of LED status request the returned integer corresponds with the above descrobed LED/channel statuses. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"values": [{"name": "signal/measChannel/1/live", "value": "-0.001003"}, {"name": "signal/measChannel/2/max", "value": "5.042136"}, {"name": "signal/measChannel/4/rms", "value": "0.013079"}, {"name": "measChannel/1/LEDstatus", "value": "1"}, {"name": "measChannel/2/LEDstatus", "value": "1"}, {"name": "output/3/LEDstatus", "value": "1"}], "result": 0} |
/api/param/export
Export parameters, applying filters. INFO: Requests can also be made using multipart/form-data for file-download of the results. The type and filter (as semi-colon separate list) are form parameters, filename is also specified as a form parameter. The response will contain a content-disposition for file download.
NOTE: The type must be an integer value:
0 = json
1 = pretty json
2 = XML
3 = pretty XML
The filter is an array of filter strings. Each filter must begin with a '+' or '-', followed by a valid path in the parameter tree.
If the filter starts with '-', the given branch will be omitted from the export, along with all childnodes. If the filter starts with '+', the whole branch will be included in the export, along with the child nodes.
The filters can be combined. In the below example the whole tree is excluded from the export, except the /deviceSetup/net/if0/ipv4 branch, that is added as an extra filter. If no filter is given, the whole tree is exported.
Examples
TX: curl -X POST http://IP_ADDRESS/api/param/export \
-d '{ "type": 3, "filter": ["-/", "+/deviceSetup/net/if0/ipv4"] }'
RX:
<pe:ParameterExport xmlns:pe="http://libparamDB/XSD/ParamExport.xsd" pe:version="2">
<pe:header>
<pe:timeOfExport>Thu Jan 22 05:22:18 2015</pe:timeOfExport>
<pe:serialNumber>123456</pe:serialNumber>
<pe:type>5165A4</pe:type>
<pe:deviceName>LabAmp Room 222</pe:deviceName>
<pe:softwareVersion>516XAX-V1.2.0</pe:softwareVersion>
<pe:schemaMajor>1</pe:schemaMajor>
<pe:schemaMinor>0</pe:schemaMinor>
<pe:version>2</pe:version>
</pe:header>
<pe:settings>
<pe:path pe:name="deviceSetup">
<pe:path pe:name="net">
<pe:path pe:name="if0">
<pe:path pe:name="ipv4">
<pe:param pe:name="mode">1</pe:param>
<pe:path pe:name="static">
<pe:param pe:name="address">IP_ADDRESS</pe:param>
<pe:param pe:name="gateway">IP_ADDRESS</pe:param>
<pe:param pe:name="mask">IP_ADDRESS</pe:param>
</pe:path>
</pe:path>
</pe:path>
</pe:path>
</pe:path>
</pe:settings>
<pe:signature>
<pe:type>SHA256</pe:type>
<pe:header>F05B3938BE2442FBED25D3C675B60952DF3D1096D1DD0959604D2C6A937E7206</pe:header>
<pe:settings>25BA4B96E1892AE6210C5FA96178BA7F6A22E1BEF36F6BF1EF4F5C657E9D9424</pe:settings>
</pe:signature> </pe:ParameterExport>
Summary
URL |
/api/param/export |
Method |
POST |
Payload schema |
- filter array, array of filter strings ++ string
- type integer, export type
|
Example payload |
{"filter": ["-/", "+/deviceInformation"], "type": 3} |
Response schema(s) |
200, Requested content
default, string, Error occured
|
/api/param/import
Import parameters, applying filters. NOTE: The type must be an integer value:
0, 1 = json
2, 3 = pretty XML
When specifying filter(s) in the request only the specified parameters will be imported. This is useful for example to avoid importing network settings when it is not desired.
The filter is an array of filter strings. Each filter must begin with a '+' or '-'. When using the '+' prefix for a parameter tree, that given tree will be imported from the data string. Using '-' prefix will exclude the prefixed tree from the import.
It is possible to combine filters even in the same tree. For example the filter ["-/", "+/deviceInformation/deviceName"] will exclude every parameters from the import string, except for the "/deviceInformation/deviceName" parameter.
Examples
TX: curl --digest -X POST http://IP_ADDRESS/api/param/import -d '{ "type": 0, "filter": [""], "data":"{\"header\":{\"signature\": {\"type\":\"SHA256\",\"hash\":\"3CCFD8F87AC8391A190FCA0C2E0843D2FA028ED4381D62757F37309397F899FF\"},\"data\":{\"serialNumber\":\"C12345\",\"type\":\"Type 5556\",\"deviceName\":\"SkyBoard\",\"softwareVersion\":\"0.1.0.0\",\"schemaMajor\":\"1\",\"schemaMinor\":\"0\",\"version\":\"3\"}},\"settings\":{\"signature\":{\"type\":\"SHA256\",\"hash\":\"E3A75A218FACDA9CEA0B8AFB7A4C0592D60ECD805F3530F959D1062A47B1FB2C\"},\"data\":{\"amp\":{\"chan1\":{\"calfactor\":\"10\",\"fso\":\"10\",\"lpfilter\":\"1\",\"range\":\"100\",\"sensitivity\":\"84\",\"timeconstant\":\"2\",\"overload\":\"0\"}}}}}" }' -c cookie.txt -b cookie.txt
RX: { "result": 0 }
Summary
URL |
/api/param/import |
Method |
POST |
Payload schema |
- filter array, array of filter strings ++ string
- type integer, import type - data string, import string
|
Example payload |
{"filter": ["-/", "+/deviceInformation/description"], "type": 1, "data": "{\"header\":{\"signature\":{\"type\": \"SHA256\",\"hash\": \"20859F98606D926660AB7A6BFD53261315F2502621AC2F920A1E78A858ACFDD7\"},\"data\": {\"timeOfExport\": \"Sat Apr 29 10:17:31 2017\",\"serialNumber\": \"4956040\",\"type\": \"5165A4\",\"deviceName\": \"labamp\",\"softwareVersion\": \"5167AX-V0.9.1-22-g6542c51\",\"schemaMajor\": \"1\",\"schemaMinor\": \"0\",\"version\": \"3\"}},\"settings\": {\"signature\": {\"type\": \"SHA256\",\"hash\": \"7E54B6F8938DE9D95DF60AFE7A0D420A343A8C0F5E9311395FBC8E9F2F8FB8E3\"},\"data\": {\"deviceInformation\": {\"description\": \"room 222\",\"deviceName\": \"labamp\"},\"output\": {\"1\": {\"enabled\": \"1\",\"source\": \"6\",\"voltageP1\": \"0\",\"voltageP2\": \"10\"},\"2\": {\"enabled\": \"1\",\"source\": \"6\",\"voltageP1\": \"0\",\"voltageP2\": \"2.3698\"},\"3\": {\"enabled\": \"1\",\"source\": \"6\",\"voltageP1\": \"0\",\"voltageP2\": \"10\"},\"4\": {\"enabled\": \"1\",\"source\": \"6\",\"voltageP1\": \"0\",\"voltageP2\": \"10\"}}}}}"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/param/get
Returns value(s) of the parameters listed in <parameter list>. This method can be used to query parameters and properties. Properties are addressed using the syntax parameter.property. See also parameter documentation.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/param/get -d '{"params":["/output/2/voltageP1"]}'
RX: { "params":[ {"name": "output/2/voltageP1", "value": "0"} ]}
TX: curl -v -X POST http://IP_ADDRESS/api/param/get -d '{"params":["/signalMonitor/threshold/1/virtChannel/1/enabled","/virtChannel/1/accComp/forceChannel"]}'
RX: { "params":[ {"name": "/signalMonitor/threshold/1/virtChannel/1/enabled", "value": "1"}, {"name": "/virtChannel/1/accComp/forceChannel", "value": "3"} ]}
Summary
URL |
/api/param/get |
Method |
POST |
Payload schema |
- params array, Array of requested parameters ++ string
|
Example payload |
{"params": ["/deviceInformation/deviceName", "/deviceInformation/description"]} |
Response schema(s) |
200, object, List of requested parameters + params array, List of parameter name/value pairs ++ object, Name of parameter and corresponding value +++ name string, Parameter name +++ value string, Parameter value + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"params": [{"name": "/deviceInformation/description", "value": "test"}], "result": 0} |
/api/param/set
Sets parameters in to the values defined in the same list. Examples
TX: curl -v -X POST http://IP_ADDRESS/api/param/set -d '{"params":[{"name":"/deviceSetup/net/if0/ipv4/static/address","value":"192.168.123.33"}]}'
RX: { "result": 0 }
TX: curl -v -X POST http://IP_ADDRESS/api/param/set -d '{"params":[{"name":"/deviceSetup/net/if0/ipv4/static/address","value":"192.168.123.33"}, {"name":"/deviceSetup/net/if0/ipv4/static/mask","value":"255.255.255.0"}]}'
RX: { "result": 0 }
Summary
URL |
/api/param/set |
Method |
POST |
Payload schema |
- params array, Array of key/value pairs ++ object, Name of parameter and corresponding value +++ name string, Parameter name +++ value string, Parameter value
|
Example payload |
{"params": [{"name": "/deviceInformation/description", "value": "test"}]} |
Response schema(s) |
200, object, Parameter setting status + result integer, Result code - 0 for success + however array, Sometimes the supplied values are changed before they are saved. In that case this variable contains the modified values. ++ object, Name of parameter and corresponding value +++ name string, Parameter name +++ value string, Parameter value
default, string, Error occured
|
Example response |
{"result": 0} |
/api/param/changes/{index}
Returns the changes since the last call. Suitable for long polling clients. This method is used to monitor changes to parameters on the system. The index is an integer value and
represents a short lived, incremental state of the system. Requesting an index value less than the
current index will result in an immediate response that will contain the current index and optionally
an array of parameters that have recently changed. Changes are persisted for a limited time so this call
can return different results for the same index value. If the index is omitted, the server returns the
current index with no changes. If the index is equal to the current index, the system will wait until there are
changes pending or until the long poll times out.
Examples
TX: curl -v -X GET http://IP_ADDRESS/api/param/changes
RX: { "index": 1, "changes": [ ] }
TX: curl -v -X GET http://IP_ADDRESS/api/param/changes/1
RX: { "index": 2, "changes": ["/measChannel/1/sensor/type/selected"] }
Summary
URL |
/api/param/changes/{index} |
Method |
GET |
Parameters |
- index, integer, parameter type: path, State index
|
Response schema(s) |
200, object, List of parameter changes + index integer, change index + changes array, Array of changed parameters ( ["param1", "param2", ...]) ++ string + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"index": 10, "changes": ["/deviceInformation/description"], "result": 0} |
/api/$/record/listRecords
Lists data about the content of the buffer. This method can be used to retreve data about the current content of the recorder buffer, including the length, name, repetition count, status and starting time of the meaurement.
If there were no problems encountered during recording the measurement, the state of the repetition will be "OK". Otherwise a short description is displayed about the encountered problem (e.g timeskew, configuration change during recording)
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/listRecords -d '{"recorderId":1}'
RX: {"result": 0,"data": {"recorderId": 1,"records": [{"repetitions": [{"duration": "1.999460000","repetition": 1,"size": 3207328,"status": "ERROR: DAQ Subsystem configuration changed","time": "1486574307.545610022"}],"setId": 0},{"repetitions": [{"duration": "2.520000","repetition": 1,"size": 1608608,"status": "OK","time": "1486574519.616720022"}],"setId": 1}]}}
Summary
URL |
/api/$/record/listRecords |
Method |
POST |
Payload schema |
- recorderId integer, The ID of recorder that has recorded the set to get information about.
|
Example payload |
{"recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + data object ++ records array +++ object ++++ setId integer, ID of the recordSet. ++++ repetitions array +++++ object ++++++ duration string, The length of the repetition in sec.ns format. ++++++ status string, The status of the repetition. ++++++ repetition integer, The number of repetition in the series. ++++++ size integer, The data portion size of the recorded measurement that is taken up in the buffer, in bytes. ++++++ time string, Epoch timestamp of the start of the measurement in sec.ns form. ++ recorderId integer, The ID of the requested recorder. + result integer, Result code - 0 for success.
default, string, Error occured
|
Example response |
{"data": {"records": [{"setId": 1, "repetitions": [{"duration": "1.999460000", "status": "OK", "repetition": 1, "size": 3207328, "time": "1486574307.545610022"}]}], "recorderId": 1}, "result": 1} |
/api/$/record/cancel
Cancels the current Data Recorder operation. This method can be used to cancel the current Data Recorder operation. In case it is called while in Recording state, the currently recorded recordSet will be discarded. If called during exporting the data, the exporting process will be stopped. After calling this method the Data Recorder will return to "Init" state.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/cancel -d '{"recorderId":1}'
RX: {"result":0}
Summary
URL |
/api/$/record/cancel |
Method |
POST |
Payload schema |
- recorderId integer, The ID of recorder to cancel.
|
Example payload |
{"recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/record/stop
Stops the Data Recorder. This method can be used to stop the Data Recorder manually. Note that in case the Data Recorder has already recorded the number of measurements specified with maxRepetitionsCount, it will stop automatically. This method can be used to stop the Data Recorder manually before the Data Recorder would record the specified number of measurements, or in case of unlimited number of measurements, to stop before the buffer would be full.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/stop -d '{"recorderId":1}'
RX: {"result":0}
Summary
URL |
/api/$/record/stop |
Method |
POST |
Payload schema |
- recorderId integer, The ID of recorder to stop.
|
Example payload |
{"recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/record/remove
Removes the specified recordSet from the buffer. This method can be used to remove recordSets from the buffer. Note that removing a recordSet will dicard all of the recordSets recorded data and metadata also, and it will not be able to retrieve this data after removal.
If the "setId" parameter is not present in the request, all records will be deleted for the Data Recorder.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/remove -d '{"recorderId":1, "setId":3}'
RX: {"result":0}
Summary
URL |
/api/$/record/remove |
Method |
POST |
Payload schema |
- setId integer, The ID of the recordSet to remove. - recorderId integer, The ID of recorder.
|
Example payload |
{"setId": 6, "recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/record/start
Starts the recorder. This method can be used to start the recorder feature. The "name" field is optional. If the maxRepetitionsCount is 0 or negative, the number of measurements recorded is only limited by the available buffer size.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/start -d '{"recorderId":1,"maxRepetitionsCount":2}'
RX: {"result":0}
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/start -d '{"recorderId":1,"maxRepetitionsCount":-2}'
RX: {"result":0}
Summary
URL |
/api/$/record/start |
Method |
POST |
Payload schema |
- maxRepetitionsCount integer, The maximum number of separate measurements to record. - recorderId integer, The ID of recorder to start.
|
Example payload |
{"maxRepetitionsCount": 5, "recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/record/download/data
Exports a recordset. This method can be used to retrieve the recorded data in csv format. It returns a content-disposition response.
Examples
TX: wget --content-disposition http://IP_ADDRESS/api/$/record/download/data?recorderId=1&setId=2&fileName=record.csv
RX: content-disposition file
Summary
URL |
/api/$/record/download/data |
Method |
GET |
Parameters |
- recorderId, integer, parameter type: query, The ID of the recorder. - setId, integer, parameter type: query, The ID of the recordSet to export. - fileName, string, parameter type: query, File name to use. - csvSeparator, enum, parameter type: query, The type of CSV delimiter to use in the exported file. If omitted, or unsupported value is used, it defaults to SEMICOLON., enum: ['COMMA', 'TAB', 'SEMICOLON'] - decimalSeparator, enum, parameter type: query, The type of decimal separator to use in the exported file. If omitted, or unsupported value is used, it defaults to DOT., enum: ['DOT', 'COMMA'] - includeTimestamp, enum, parameter type: query, If set to 0, no timestamp column is included in the exported file. If omitted, defaults to 1., enum: ['1', '0'] - includeColumnHeader, enum, parameter type: query, If set to 0, the column header will be excluded from the exported file. If omitted, defaults to 1., enum: ['1', '0']
|
Response schema(s) |
200, The exported file (content-disposition).
default, string, Error occured
|
/api/$/record/status
Returns the current status of the recorder. This method can be used to retrieve basic status information about the recorder, including buffer information also.
The state of the recorder might be one of the following:
Value |
Brief |
Init |
The recorder was successfully initialized, but not configured and is not recording any measurements. This is the default state. |
Waiting |
The recorder is started after successful configuration, and waiting for a measurement to start. (Or the recorder is waiting for a new measurement to start in case of a repetitive measurement recording) |
Recording |
The recorder is actively recording an ongoing measurement. |
Finished |
The recorder has recorded the configured number of measurements, and is not recording new measurements. |
Exporting |
The recorder is exporting a recordSet to csv. |
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/record/status -d '{"recorderId":1}'
RX: {"result":0,"data":{"state":"Init","totalCapacity":104857600,"totalSize":25754640,"usage":"24.56%"}}
Summary
URL |
/api/$/record/status |
Method |
POST |
Payload schema |
- recorderId integer, The ID of recorder to get information about.
|
Example payload |
{"recorderId": 1} |
Response schema(s) |
200, object, The result of the request. + data object ++ totalSize integer, The full size of all records stored in the buffer, in bytes, including metadata. ++ usage string, The usage of the buffer in percetage. ++ state string, The current state of the recorder. ++ totalCapacity integer, The full size of the buffer to hold records, in bytes. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"totalSize": 36589658, "usage": "34.89%", "state": "Waiting", "totalCapacity": 104857600}, "result": 0} |
Exports the metadata for a recordSet. This method can be used to retrieve the recorded metadata for an existing recordSet in csv format. It returns a content-disposition response.
Examples
TX: wget --content-disposition http://IP_ADDRESS/api/$/record/download/metadata?recorderId=1&setId=2&fileName=record_metadata.csv
RX: content-disposition file
Summary
URL |
/api/$/record/download/metadata |
Method |
GET |
Parameters |
- recorderId, integer, parameter type: query, The ID of the recorder. - setId, integer, parameter type: query, The ID of the recordSet to export. - fileName, string, parameter type: query, File name to use. - csvSeparator, enum, parameter type: query, The type of CSV delimiter to use in the exported file. If omitted, or unsupported value is used, it defaults to SEMICOLON., enum: ['COMMA', 'TAB', 'SEMICOLON'] - decimalSeparator, enum, parameter type: query, The type of decimal separator to use in the exported file. If omitted, or unsupported value is used, it defaults to DOT., enum: ['DOT', 'COMMA']
|
Response schema(s) |
200, The exported file (content-disposition).
default, string, Error occured
|
/api/$/signal/get
Returns the current signal values for the requested channel(s). This method can be used to acquire the current live signal value a channel, along with the minimum and maximum values since the last arithmetic reset performed on the channel.
Beside these the current RMS and amplitude values are returned also. The method can be used for input channels and for virtual channels too.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/signal/get -d '{"type":"SENSOR","channels":[1]}'
RX: {"result":0,"data":{"type":"SENSOR","items":[{"channel":1,"live":[-0.0010463169310242],"max":[5.6459264755249],"min":[-5.6382536888123],"ampl":[0.00726527692145],"rms":[0.00087193085346371]}]}}
Summary
URL |
/api/$/signal/get |
Method |
POST |
Payload schema |
- channels array ++ integer, Numbers of the queried channels.
- type string, Type of the requested channels.
|
Example payload |
{"channels": [2, 3], "type": "SENSOR"} |
Response schema(s) |
200, object, Current signal values and different calculated values. + data object ++ items array +++ object ++++ rms array +++++ number, The measured signal's RMS. ++++ ampl array +++++ number, The measured signal's amplitude. The amplitude is half of the difference between min and max values. ++++ min array +++++ number, The lowest measured signal level on the channel since the last arithmetic reset. ++++ max array +++++ number, The highest measured signal level on the channel since the last arithmetic reset. ++++ live array +++++ number, The last measured live value on the channel. ++++ channel integer, Number of the channel requested. ++ type string, Type of the channel. The same as in the corresponding request. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"items": [{"rms": [0.00087193085346371], "ampl": [0.00726527692145], "min": [-5.6382536888123], "max": [5.6459264755249], "live": [-0.0010463169310242], "channel": 1}, {"rms": [0.0005231584655121], "ampl": [1.2358214681e-05], "min": [-0.0012860979186371], "max": [0.00013078961637802], "live": [-0.00078473775647581], "channel": 2}], "type": "SENSOR"}, "result": 0} |
/api/$/signal/reset
Resets the arithmetic calculations for the channels. This method can be used to reset the arithmetic calculations (min/max/ampl) values for the channels.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/signal/reset -d '{"type":"VIRTUAL","channels":[1]}'
RX: {"result":0}
TX: curl -v -X POST http://IP_ADDRESS/api/$/signal/reset -d '{"type":"SENSOR","channels":[1,3,4]}'
RX: {"result":0}
Summary
URL |
/api/$/signal/reset |
Method |
POST |
Payload schema |
- channels array ++ integer, Numbers of the channels to reset.
- type string, Type of the channels to reset.
|
Example payload |
{"channels": [2, 3], "type": "SENSOR"} |
Response schema(s) |
200, object, Confirmation of the action. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"result": 0} |
/api/$/status/channel
Returns the current channel statuses. This method can be used to query the statuses of the different Input, Output and Virtual Channels.
Note that certain statuses are channel type specific. The meaning of the statuses are the following:
Status |
Description |
OFF |
The channel is disabled. Input channels don't have this status. |
OK |
The channel is operating correctly. |
OR_ADC |
The ADC is in over range for this channel. Output and Virtual channels don't have this status. |
OR_INPUT |
Too high signal is being measured, out of the user-set range. Output channels don't have this status. |
OR_OUTPUT |
The output is in over range state, the output corresponding to the input is out of the device's range. Only Output channels have this status. |
IEPE_OPEN |
The input channel is in IEPE mode, but an open connection is detected. Only input channels can have this status. |
IEPE_SHORT |
The input channel is in IEPE mode, but a shorted connection is detected. Only input channels can have this status. |
ID |
The device is being identified. Has no effect on the operation of the channels. |
TEDS_BUSY |
The channel is currently reading or writing TEDS data from/to the TEDS sensor. Only input channels can have this status. |
TEDS_ERROR |
The channel has experienced some error with the attached sensor's TEDS template. (More information about the error can be received from the TEDS related API services.) Only input channels can have this status. |
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/status/channel -d '{"type":"SENSOR","channels":[1]}'
RX: {"result":0,"data":{"type":"SENSOR","items":[{"channel":1,"status":"OK"]}}
TX: curl -v -X POST http://IP_ADDRESS/api/$/status/channel -d '{"type":"OUTPUT","channels":[3,4]}'
RX: {"result":0,"data":{"type":"OUTPUT","items":[{"channel":3,"status":"OFF"},{"channel":4,"status":"OR_OUTPUT"}]}}
Summary
URL |
/api/$/status/channel |
Method |
POST |
Payload schema |
- channels array ++ integer, Numbers of the queried channels.
- type string, Type of the requested channel.
|
Example payload |
{"channels": [2, 3], "type": "SENSOR"} |
Response schema(s) |
200, object, Current operating mode and color of the requested LEDs. + data object ++ items array +++ object ++++ status string, The current status of the channel. ++++ channel integer, Number of the LED requested. ++ type string, Type of the LED. The same as in the corresponding request. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"items": [{"status": "OK", "channel": 1}], "type": "SENSOR"}, "result": 0} |
/api/$/status/led
Returns the current LED statuses. This method can be used to query the device's current LED statuses, operating modes and colors.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/status/led -d '{"type":"SENSOR","channels":[1]}'
RX: {"result":0,"data":{"type":"SENSOR","items":[{"channel":1,"color":"CYAN","blinkColor":"BLACK","operatingMode":"ON"}]}}
TX: curl -v -X POST http://IP_ADDRESS/api/$/status/led -d '{"type":"OUTPUT","channels":[3,4]}'
RX: {"result":0,"data":{"type":"OUTPUT","items":[{"channel":3,"color":"YELLOW","blinkColor":"BLACK","operatingMode":"FAST_BLINKING"},{"channel":4,"color":"RED","blinkColor":"BLACK","operatingMode":"ON"}]}}
Summary
URL |
/api/$/status/led |
Method |
POST |
Payload schema |
- channels array ++ integer, Numbers of the queried LEDs.
- type string, Type of the requested LED.
|
Example payload |
{"channels": [2, 3], "type": "SENSOR"} |
Response schema(s) |
200, object, Current operating mode and color of the requested LEDs. + data object ++ items array +++ object ++++ color string, The main color of the LED. ++++ blinkColor string, The secondary color of the LED when the operatingMode is not OFF or ON. ++++ operatingMode string, The current operating mode of the LED. ++++ channel integer, Number of the LED requested. ++ type string, Type of the LED. The same as in the corresponding request. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"items": [{"color": "CYAN", "blinkColor": "BLACK", "operatingMode": "ON", "channel": 1}], "type": "SENSOR"}, "result": 0} |
/api/daq/stream/register
Registers a client Generates a unique identifier for a client which is used to keep track of its state in subsequent API calls.
Summary
URL |
/api/daq/stream/register |
Method |
POST |
Response schema(s) |
200, object, Success + result integer, result code + clientId string, uuid (36 byte string)
default, string, Error occured
|
Example response |
{"result": 0, "clientId": "97b908e1-53ea-40df-a627-1d8a8a17ccb5"} |
/api/daq/stream/protocol-version
Gets protocol version Gets protocol version of daqstream service.
Summary
URL |
/api/daq/stream/protocol-version |
Method |
GET |
Response schema(s) |
200, object, Success + version integer, protocol version + result integer, result code
|
Example response |
{"version": 1, "result": 0} |
/api/daq/stream/close
Closes the stream Closes a port for DAQ Stream.
Summary
URL |
/api/daq/stream/close |
Method |
POST |
Payload schema |
- clientId string, uuid (string obtained by method register) - streamId integer, ID of the stream to close
|
Example payload |
{"clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3", "streamId": 3} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/stream/status
Gets a status of the stream Retrieves a status of DAQ Stream for given client. The status in the response body may be on of the following:
Status |
Description |
WAITING |
Data port is open by service and it waits for the connection from a client. |
STREAMING |
The connection is created, the measurement data are streamed if they are available. |
STOPPED |
The stream is stopped. No data will be streamed by this stream anymore. |
ERROR |
The error occurred (in DAQ subsystem, network connection, etc.). |
Summary
URL |
/api/daq/stream/status |
Method |
POST |
Payload schema |
- clientId string, uuid (string obtained by method register) - streamId integer, stream id (obtained from method open)
|
Example payload |
{"clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3", "streamId": 1} |
Response schema(s) |
200, object, Success + status string, status + frames integer, number of transmitted frames + result integer, result code
default, string, Error occured
|
Example response |
{"status": "STREAMING", "frames": 6532, "result": 0} |
/api/daq/stream/scansPerFrame
Gets scan count per frame Gets scan count per frame. measurementId is an id of measurement, which is streamed in the stream given by streamId. Note that this API should be called during an active measurement only.
Summary
URL |
/api/daq/stream/scansPerFrame |
Method |
POST |
Payload schema |
- clientId string, uuid (string obtained by method register) - measurementId integer, streamed measurement id - streamId integer, stream id (obtained from method open)
|
Example payload |
{"clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3", "measurementId": 1, "streamId": 1} |
Response schema(s) |
200, object, Success + result integer, result code + scansPerFrame integer, scans per each frame (except the last one, that one can be variable)
default, string, Error occured
|
Example response |
{"result": 0, "scansPerFrame": 512} |
/api/daq/stream/unregister
Unregisters the client Unregisters client from DAQ Streaming service. The unregistration is done automatically if the client is non-active for more than 24 hours. However, unregistration should be done explicitly by the client.
Summary
URL |
/api/daq/stream/unregister |
Method |
POST |
Payload schema |
- clientId string, uuid (string obtained by method register)
|
Example payload |
{"clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3"} |
Response schema(s) |
200, object, Success + result integer, success result 0
default, string, Error occured
|
Example response |
{"result": 0} |
/api/daq/stream/list
Gets a list of active streams List all active DAQ Streams for given registered client.
Summary
URL |
/api/daq/stream/list |
Method |
POST |
Payload schema |
- clientId string, uuid (string obtained by method register)
|
Example payload |
{"clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3"} |
Response schema(s) |
200, object, Success + result integer, result code + streamIds array, array of stream ids ++ integer
default, string, Error occured
|
Example response |
{"result": 0, "streamIds": [3, 4, 6]} |
/api/daq/stream/open
Retrieves status Opens a data port for DAQ Stream. The stream is closed automatically if there is no established connection in 30 seconds. Error already_waiting means that the connection from the previous call of open is still waiting for a connection from client. Error no_open_stream is usually caused by situation when port is set in a request, but the port is not available.
Summary
URL |
/api/daq/stream/open |
Method |
POST |
Payload schema |
- measurements array, An array of objects. The stream will contain the data for all listed measurements. Mutually exclusive with measurementIds ++ object +++ measurementId integer, Id of measurement +++ scansPerFrame integer, Count of frames in one sent frame
- measurementIds array, An array of integers. The stream will contain the data for all listed measurements. Mutually exclusive with measurements. ++ integer
- port integer, Port number. If omitted, the random port number will be assigned. - clientId string, uuid (string obtained by method register)
|
Example payload |
{"measurements": [{"measurementId": 1, "scansPerFrame": 2048}], "clientId": "c82667ec-be4b-4037-a1f5-9d92addb6ef3"} |
Response schema(s) |
200, object, Success + result integer, result code + port integer, data port number + streamId integer, stream id
default, string, Error occured
|
Example response |
{"result": 0, "port": 2386, "streamId": 9} |
/api/$/system/channels
Returns basic system properties. This method can be used to get the number of input, output and virtual channels on the device.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/status/channel -d ''
RX: {"result":0,"data":{"input":4,"virtual":2,"output":4}}
Summary
URL |
/api/$/system/channels |
Method |
POST |
Response schema(s) |
200, object, The number of output, input and virtual channels on the device. + data object ++ input integer, Number of available input channels on the device. ++ virtual integer, Number of available virtual channels on the device. ++ output integer, Number of available output channels on the device. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"input": 4, "virtual": 2, "output": 4}, "result": 0} |
/api/teds/status
Returns the current TEDS sensor status on all inputs. This method can be used to get the current TEDS sensor statuses on all input channels.
The following values might be returned:
Status |
Description |
NONE |
The input channel is not in IEPE mode. |
AVAILABLE |
A TEDS capable sensor is connected to the device.
|
BUSY |
The input channel is trying to read/write TEDS data from/to a sensor.
|
ERROR |
An error occured with the template (e.g. unsupported template.
|
WARNING |
An unsupported template is connected to the device. The sensor is usable, but the data could not be retrieved from it. |
Examples
TX: curl -v -X GET http://IP_ADDRESS/api/teds/status
RX: {"result":0,"status":[{"channel":"1","status":"NONE"},{"channel":"2","status":"AVAILABLE"},{"channel":"3","status":"NONE"},{"channel":"4","status":"BUSY"}]}
Summary
URL |
/api/teds/status |
Method |
GET |
Response schema(s) |
200, object, Current TEDS status on all channels. + status array ++ object +++ status string, The current TEDS status on the channel. +++ reason string, Error reason in case some TEDS error happened. +++ channel string, The number of the channel. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"status": [{"status": "TEDS_HAS_SENSOR", "channel": "1"}, {"status": "TEDS_NO_SENSOR", "channel": "2"}, {"status": "TEDS_NO_SENSOR", "channel": "3"}, {"status": "TEDS_ERROR", "reason": "InvalidTemplate", "channel": "4"}], "result": 0} |
/api/teds/userText/set
Writes an arbitrary text to the userText field of the TEDS sensor. This method allows the modification of TEDS sensors' UserText field, with a maximum 50 characters long text. The TEDS template needs to support the UserText field.
Note: if the text is longer than 50 characters, then it will be truncated to 50 characters by removed the last characters.
Modifying TEDS data might take up to 30 seconds.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/teds/userText/set -d '{"channel":1, "text":"arbitrary text"}'
RX: {"result":0,"data":{"channel":1, "text":"arbitrary text"}}
Summary
URL |
/api/teds/userText/set |
Method |
POST |
Payload schema |
- text string, The text to be written to the TEDS sensor. - channel integer, The number of channel to query the TEDS data from.
|
Example payload |
{"text": "my user text", "channel": 3} |
Response schema(s) |
200, object, All data read from the TEDS sensor. + data object ++ text string, The text that was written to the TEDS sensor. ++ channel integer, The channel where the TEDS sensor was modified. + result integer, Result code - 0 for success
default, string, Error occured
|
Example response |
{"data": {"text": "myText", "channel": 2}, "result": 0} |
/api/teds/data/get
Returns all TEDS data read from the TEDS capable sensor. This method can be used to query the data stored on the TEDS sensor.
Examples
TX: curl -v -X POST http://IP_ADDRESS/api/$/teds/data/get -d '{"channel":1}'
RX: {"result":0,"channel":1,"data":[{"name":"Manufacturer","value":"Kistler"},{"name":"Model","value":"8763"},{"name":"Version_letter","value":"B"},{"name":"Version_number","value":"36"},{"name":"TEMPLATE","value":"0"},{"name":"CalDate","value":"2013-10-15"},{"name":"Sens@Ref","value":"0.001113", "unit":"V/(m/s²)"},{"name":"Reffreq","value":"99.083542", "unit":"Hz"},{"name":"TF_HP_S","value":"0.099911", "unit":"Hz"},{"name":"Sign","value":"positive"},{"name":"Direction","value":"x"},{"name":"MeasID","value":"1"},{"name":"User Text","value":"LabAmp-Team"}]}
TX: curl -v -X POST http://IP_ADDRESS/api/$/teds/data/get -d '{"channel":9}'
RX: {"result":1,"error":{"namespace":"labamp","reason":"invalid_argument","detail":"channel 9 doesn't exist"}}
Summary
URL |
/api/teds/data/get |
Method |
POST |
Payload schema |
- channel integer, The number of channel to query the TEDS data from.
|
Example payload |
{"channel": 3} |
Response schema(s) |
200, object, All data read from the TEDS sensor. + data array, The acquired TEDS data as name-value pairs ++ object +++ value string, The value of the data read from the TEDS sensor. +++ name string, The name of the data read from the TEDS sensor. +++ unit string, The unit of the value. + result integer, Result code - 0 for success + channel integer, The number of the channel queried.
default, string, Error occured
|
Example response |
{"data": [{"name": "Manufacturer", "value": "Kistler"}, {"name": "Model", "value": "8763"}, {"name": "Version_letter", "value": "B"}, {"name": "Version_number", "value": "36"}, {"name": "TEMPLATE", "value": "0"}, {"name": "CalDate", "value": "2013-10-15"}, {"value": "0.001113", "name": "Sens@Ref", "unit": "V/N"}, {"value": "99.083542", "name": "Reffreq", "unit": "Hz"}, {"value": "0.099911", "name": "TF_HP_S", "unit": "Hz"}, {"name": "Sign", "value": "positive"}, {"name": "Direction", "value": "x"}, {"name": "MeasID", "value": "1"}, {"name": "User Text", "value": "LabAmp-Team"}], "result": 0} |