Node Documentation

Introduction

This chapter provides an overview of how an instrument’s configuration and output is organized by the Data Server.

All communication with an instrument occurs via the Data Server program the instrument is connected to (see LabOne Software Architecture for an overview of LabOne’s software components). Although the instrument’s settings are stored locally on the device, it is the Data Server’s task to ensure it maintains the values of the current settings and makes these settings (and any subscribed data) available to all its current clients. A client may be the LabOne User Interface or a user’s own program implemented using one of the LabOne Application Programming Interfaces, e.g., Python.

The instrument’s settings and data are organized by the Data Server in a file-system-like hierarchical structure called the node tree. When an instrument is connected to a Data Server, its device ID becomes a top-level branch in the Data Server’s node tree. The features of the instrument are organized as branches underneath the top-level device branch and the individual instrument settings are leaves of these branches.

For example, the auxiliary outputs of the instrument with device ID "dev2006" are located in the tree in the branch:

/DEV2006/AUXOUTS/

In turn, each individual auxiliary output channel has its own branch underneath the "AUXOUTS" branch.

/DEV2006/AUXOUTS/0/
/DEV2006/AUXOUTS/1/
/DEV2006/AUXOUTS/2/
/DEV2006/AUXOUTS/3/

Whilst the auxiliary outputs and other channels are labelled on the instrument’s panels and the User Interface using 1-based indexing, the Data Server’s node tree uses 0-based indexing. Individual settings (and data) of an auxiliary output are available as leaves underneath the corresponding channel’s branch:

/DEV2006/AUXOUTS/0/DEMODSELECT
/DEV2006/AUXOUTS/0/LIMITLOWER
/DEV2006/AUXOUTS/0/LIMITUPPER
/DEV2006/AUXOUTS/0/OFFSET
/DEV2006/AUXOUTS/0/OUTPUTSELECT
/DEV2006/AUXOUTS/0/PREOFFSET
/DEV2006/AUXOUTS/0/SCALE
/DEV2006/AUXOUTS/0/VALUE

These are all individual node paths in the node tree; the lowest-level nodes which represent a single instrument setting or data stream. Whether the node is an instrument setting or data-stream and which type of data it contains or provides is well-defined and documented on a per-node basis in the Reference Node Documentation section in the relevant instrument-specific user manual. The different properties and types are explained in Node Properties and Data Types .

For instrument settings, a Data Server client modifies the node’s value by specifying the appropriate path and a value to the Data Server as a (path, value) pair. When an instrument’s setting is changed in the LabOne User Interface, the path and the value of the node that was changed are displayed in the Status Bar in the bottom of the Window. This is described in more detail in Node Properties and Data Types.

Module Parameters

LabOne Core Modules, such as the Sweeper, also use a similar tree-like structure to organize their parameters. Please note, however, that module nodes are not visible in the Data Server’s node tree; they are local to the instance of the module created in a LabOne client and are not synchronized between clients.

Node Properties and Data Types

A node may have one or more of the following properties:

Read

Data can be read from the node.

Write

Data can be written to the node.

Setting

The node corresponds to a writable instrument configuration. The data of these nodes are persisted in snapshots of the instrument and stored in the LabOne XML settings files.

Streaming

A node with the read attribute that provides instrument data, typically at a user-configured rate. The data is usually a more complex data type, for example demodulator data is returned as ZIDemodSample. A full list of streaming nodes is available in the Programming Manual in the Chapter Instrument Communication. Their availability depends on the device class (e.g. MF) and the option set installed on the device.

A node may contain data of the following types:

Integer

Integer data.

Double

Double precision floating point data.

String

A string array.

Enumerated (integer)

As for Integer, but the node only allows certain values.

Composite data type

For example, ZIDemodSample. These custom data types are structures whose fields contain the instrument output, a timestamp and other relevant instrument settings such as the demodulator oscillator frequency. Documentation of custom data types is available in

Exploring the Node Tree

In the LabOne User Interface

A convenient method to learn which node is responsible for a specific instrument setting is to check the Command Log history in the bottom of the LabOne User Interface. The command in the Status Bar gets updated every time a configuration change is made. For example, the status bar shows how the equivalent MATLAB command is displayed after modifying the value of the auxiliary output 1’s offset. The format of the LabOne UI’s command history can be configured in the Config Tab (MATLAB, Python and .NET are available). The entire history generated in the current UI session can be viewed by clicking the "Show Log" button.

NodeTreeDescription LabOneUILogStatusBar
Figure 1. When a device’s configuration is modified in the LabOne User Interface, the Status Bar displays the equivalent command to perform the same configuration via a LabOne programming interface. Here, the MATLAB code to modify auxiliary output 1’s offset value is provided. When "Show Log" is clicked the entire configuration history is displayed in a new browser tab.

In the Instrument-specific User Manual

Each instrument user manual has a Device Node Tree chapter that contains complete reference documentation of every node available on the device. This documentation may be explored by branch to obtain a complete overview of which settings are available on the instrument.

In a LabOne Programming Interface

A list of nodes (under a specific branch) can be requested from the Data Server in an API client using the listNodes command (MATLAB, Python,.NET) or ziAPIListNodes() function (C API). Please see each API’s command reference for more help using the listNodes command. To obtain a list of all the nodes that provide data from an instrument at a high rate, so-called streaming nodes, the streamingonly flag can be provided to listNodes.

More information on data streaming and streaming nodes is available in the LabOne Programming Manual.

The detailed descriptions of nodes that is provided below is accessible directly in the LabOne MATLAB or Python programming interfaces using the "help" command. The help command is daq.help(path) in Python and ziDAQ('help', path) in MATLAB. The command returns a description of the instrument node including access properties, data type, units and available options. The "help" command also handles wildcards to return a detailed description of all nodes matching the path. An example is provided below.

daq = zhinst.ziPython.ziDAQServer('localhost', 8004, 6)
daq.help('/dev2006/auxouts/0/offset')
# Out:
# /DEV2006/AUXOUTS/0/OFFSET#
# Add the specified offset voltage to the signal after scaling. Auxiliary Output
# Value = (Signal+Preoffset)*Scale + Offset
# Properties: Read, Write, Setting
# Type: Double
# Unit: V

Data Server Nodes

The Data Server has nodes in the node tree available under the top-level /ZI/ branch. These nodes give information about the version and state of the Data Server the client is connected to. For example, the nodes:

  • /ZI/ABOUT/VERSION

  • /ZI/ABOUT/REVISION

are read-only nodes that contain information about the release version and revision of the Data Server. The nodes under the /ZI/DEVICES/ list which devices are connected, discoverable and visible to the Data Server.

The nodes:

  • /ZI/CONFIG/OPEN

  • /ZI/CONFIG/PORT

are settings nodes that can be used to configure which port the Data Server listens to for incoming client connections and whether it may accept connections from clients on hosts other than the localhost.

Nodes that are of particular use to programmers are:

  • /ZI/DEBUG/LOGPATH - the location of the Data Server’s log in the PC’s file system,

  • /ZI/DEBUG/LEVEL - the current log-level of the Data Server (configurable; has the Write attribute),

  • /ZI/DEBUG/LOG - the last Data Server log entries as a string array.

The Global nodes of the LabOne Data Server are listed in the Instrument Communication chapter of the LabOne Programming Manual

Reference Node Documentation

This section describes all the nodes in the data server’s node tree organized by branch.

CLOCKBASE

/DEV…​./CLOCKBASE

Properties:

Read

Type:

Double

Unit:

Hz

Returns the internal clock frequency of the device.

DIOS (Digital I/O)

/DEV…​./DIOS/n/DRIVE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

When on (1), the corresponding 8-bit bus is in output mode. When off (0), it is in input mode. Bit 0 corresponds to the least significant byte. For example, the value 1 drives the least significant byte, the value 8 drives the most significant byte.

/DEV…​./DIOS/n/INPUT

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Gives the value of the DIO input for those bytes where drive is disabled.

/DEV…​./DIOS/n/INTERFACE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Selects the interface standard to use on the 32-bit DIO interface. A value of 0 means that a 3.3 V CMOS interface is used. A value of 1 means that an LVDS compatible interface is used.

/DEV…​./DIOS/n/MODE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Select DIO mode

0

manual

Enables manual control of the DIO output bits.

48

chan0seq, channel0_sequencer

Enables control of DIO values by the sequencer of channel 1.

49

chan1seq, channel1_sequencer

Enables control of DIO values by the sequencer of channel 2.

50

chan2seq, channel2_sequencer

Enables control of DIO values by the sequencer of channel 3.

51

chan3seq, channel3_sequencer

Enables control of DIO values by the sequencer of channel 4.

/DEV…​./DIOS/n/OUTPUT

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Sets the value of the DIO output for those bytes where 'drive' is enabled.

FEATURES

/DEV…​./FEATURES/CODE

Properties:

Write

Type:

String

Unit:

None

Node providing a mechanism to write feature codes.

/DEV…​./FEATURES/DEVTYPE

Properties:

Read

Type:

String

Unit:

None

Returns the device type.

/DEV…​./FEATURES/OPTIONS

Properties:

Read

Type:

String

Unit:

None

Returns enabled options.

/DEV…​./FEATURES/SERIAL

Properties:

Read

Type:

String

Unit:

None

Device serial number.

SGCHANNELS

/DEV…​./SGCHANNELS/n/AWG/AUXTRIGGERS/n/CHANNEL

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Selects the digital trigger source signal.

0

trigin0, trigger_input0

Trigger In 1

1

trigin1, trigger_input1

Trigger In 2

2

trigin2, trigger_input2

Trigger In 3

3

trigin3, trigger_input3

Trigger In 4

4

trigin4, trigger_input4

Trigger In 5

5

trigin5, trigger_input5

Trigger In 6

6

trigin6, trigger_input6

Trigger In 7

7

trigin7, trigger_input7

Trigger In 8

8

inttrig, internal_trigger

Internal Trigger

/DEV…​./SGCHANNELS/n/AWG/AUXTRIGGERS/n/SLOPE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Select the signal edge that should activate the trigger. The trigger will be level sensitive when the Level option is selected.

0

level_sensitive

Level sensitive trigger

1

rising_edge

Rising edge trigger

2

falling_edge

Falling edge trigger

3

both_edges

Rising or falling edge trigger

/DEV…​./SGCHANNELS/n/AWG/AUXTRIGGERS/n/STATE

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

State of the Auxiliary Trigger: No trigger detected/trigger detected.

/DEV…​./SGCHANNELS/n/AWG/COMMANDTABLE/CLEAR

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Writing to this node clears all data previously loaded to the command table of the device.

/DEV…​./SGCHANNELS/n/AWG/COMMANDTABLE/DATA

Properties:

Read, Write

Type:

ZIVectorData

Unit:

None

Data contained in the command table in JSON format.

/DEV…​./SGCHANNELS/n/AWG/COMMANDTABLE/STATUS

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Status of the command table on the instrument. Bit 0: data uploaded to the command table; Bit 1, Bit 2: reserved; Bit 3: uploading of data to the command table failed due to a JSON parsing error.

/DEV…​./SGCHANNELS/n/AWG/DIO/DATA

Properties:

Read

Type:

ZIVectorData

Unit:

None

A vector of 32-bit integers representing the values on the DIO interface.

/DEV…​./SGCHANNELS/n/AWG/DIO/DELAY/INDEX

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Index of the bit on the DIO interface for which the delay should be changed.

/DEV…​./SGCHANNELS/n/AWG/DIO/DELAY/VALUE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Corresponding delay value to apply to the given bit of the DIO interface in units of 150 MHz clock cycles. Valid values are 0 to 3.

/DEV…​./SGCHANNELS/n/AWG/DIO/ERROR/TIMING

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

A 32-bit value indicating which bits on the DIO interface may have timing errors. A timing error is defined as an event where either the VALID or any of the data bits on the DIO interface change value at the same time as the STROBE bit.

/DEV…​./SGCHANNELS/n/AWG/DIO/ERROR/WIDTH

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Indicates a width (i.e. jitter) error on either the STROBE (bit 0 of the value) or VALID bit (bit 1 of the result). A width error indicates that there was jitter detected on the given bit, meaning that an active period was either shorter or longer than the configured expected width.

/DEV…​./SGCHANNELS/n/AWG/DIO/HIGHBITS

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

32-bit value indicating which bits on the 32-bit interface are detected as having a logic high value.

/DEV…​./SGCHANNELS/n/AWG/DIO/LOWBITS

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

32-bit value indicating which bits on the 32-bit interface are detected as having a logic low value.

/DEV…​./SGCHANNELS/n/AWG/DIO/MASK/SHIFT

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Defines the amount of bit shifting to apply for the DIO wave selection in connection with playWaveDIO().

/DEV…​./SGCHANNELS/n/AWG/DIO/MASK/VALUE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Selects the DIO bits to be used for waveform selection in connection with playWaveDIO().

/DEV…​./SGCHANNELS/n/AWG/DIO/STATE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

When asserted, indicates that triggers are generated from the DIO interface to the AWG.

/DEV…​./SGCHANNELS/n/AWG/DIO/STROBE/INDEX

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Select the DIO bit to use as the STROBE signal.

/DEV…​./SGCHANNELS/n/AWG/DIO/STROBE/SLOPE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Select the signal edge of the STROBE signal for use in timing alignment.

0

off

Off

1

rising_edge

Rising edge trigger

2

falling_edge

Falling edge trigger

3

both_edges

Rising or falling edge trigger

/DEV…​./SGCHANNELS/n/AWG/DIO/STROBE/WIDTH

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Specifies the expected width of active pulses on the STROBE bit.

/DEV…​./SGCHANNELS/n/AWG/DIO/VALID/INDEX

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Select the DIO bit to use as the VALID signal to indicate a valid input is available.

/DEV…​./SGCHANNELS/n/AWG/DIO/VALID/POLARITY

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Polarity of the VALID bit that indicates that a valid input is available.

0

none

None: VALID bit is ignored.

1

low

Low: VALID bit must be logical zero.

2

high

High: VALID bit must be logical high.

3

both

Both: VALID bit may be logical high or zero.

/DEV…​./SGCHANNELS/n/AWG/DIO/VALID/WIDTH

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Expected width of an active pulse on the VALID bit.

/DEV…​./SGCHANNELS/n/AWG/DIOZSYNCSWITCH

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Defines which interface input to use with this AWG

0

dio

DIO interface will be used as input.

1

zsync

ZSync interface will be used as input.

/DEV…​./SGCHANNELS/n/AWG/ELF/CHECKSUM

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Checksum of the uploaded ELF file.

/DEV…​./SGCHANNELS/n/AWG/ELF/DATA

Properties:

Read, Write

Type:

ZIVectorData

Unit:

None

Contains the data of the uploaded ELF file.

/DEV…​./SGCHANNELS/n/AWG/ELF/LENGTH

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Length of the compiled ELF file.

/DEV…​./SGCHANNELS/n/AWG/ELF/MEMORYUSAGE

Properties:

Read

Type:

Double

Unit:

None

Size of the uploaded ELF file relative to the size of the main memory.

/DEV…​./SGCHANNELS/n/AWG/ELF/NAME

Properties:

Read

Type:

ZIVectorData

Unit:

None

The name of the uploaded ELF file.

/DEV…​./SGCHANNELS/n/AWG/ELF/PROGRESS

Properties:

Read

Type:

Double

Unit:

%

The percentage of the sequencer program already uploaded to the device.

/DEV…​./SGCHANNELS/n/AWG/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Activates the AWG.

/DEV…​./SGCHANNELS/n/AWG/MODULATION/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Enable or disable digital modulation.

0

off

Modulation off

1

on

Modulation on

/DEV…​./SGCHANNELS/n/AWG/OUTPUTAMPLITUDE

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/AWG/OUTPUTS/n/ENABLES/n

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Enables the driving of the given AWG output channel.

/DEV…​./SGCHANNELS/n/AWG/OUTPUTS/n/GAINS/n

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

Gain factor applied to the AWG Output at the given output multiplier stage. The final signal amplitude is proportional to the Range voltage setting of the Wave signal outputs.

/DEV…​./SGCHANNELS/n/AWG/OUTPUTS/n/HOLD

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Keep the last sample (constant) on the output even after the waveform program finishes.

/DEV…​./SGCHANNELS/n/AWG/READY

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

AWG has a compiled wave form and is ready to be enabled.

/DEV…​./SGCHANNELS/n/AWG/RESET

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Clears the configured AWG program and resets the state to not ready.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/CLEAR

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Clears the logger data.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/DATA

Properties:

Read

Type:

ZIVectorData

Unit:

None

Vector node with data part of the log.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Activates the Real-time Logger.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/MODE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Selects the timestamp-triggered operation mode.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/STARTTIMESTAMP

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Timestamp at which to start logging for timestamp-triggered mode.

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/STATUS

Properties:

Read

Type:

Integer (enumerated)

Unit:

None

Operation state.

0

idle

Idle: Logger is not running.

1

normal

Normal: Logger is running in normal mode.

2

ts_wait

Wait for timestamp: Logger is in timestamp-triggered mode and waits for start timestamp.

3

ts_active

Active: Logger is in timestamp-triggered mode and logging.

4

ts_full

Log Full: Logger is in timestamp-triggered mode and has stopped logging because log is full.

5

erasing

Erasing: Log is being erased

/DEV…​./SGCHANNELS/n/AWG/RTLOGGER/TIMEBASE

Properties:

Read

Type:

Double

Unit:

s

Minimal time difference between two timestamps. The value is equal to 1/(awg sampling rate).

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/ASSEMBLY

Properties:

Read

Type:

ZIVectorData

Unit:

None

Displays the current sequence program in compiled form. Every line corresponds to one hardware instruction and requires one clock cycle (4.0 ns) for execution.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/CONTINUE

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Reserved for future use.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/MEMORYUSAGE

Properties:

Read

Type:

Double

Unit:

None

Size of the current sequence program relative to the device cache memory. The cache memory provides space for 8192 instructions.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/NEXT

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Reserved for future use.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/PC

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Current position in the list of sequence instructions during execution.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/PROGRAM

Properties:

Read

Type:

ZIVectorData

Unit:

None

Displays the source code of the current sequence program.

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/STATUS

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Status of the sequencer on the instrument. Bit 0: sequencer is running; Bit 1: reserved; Bit 2: sequencer is waiting for a) waveform playback to finish, b) prefetch to finish, or c) trigger to arrive; Bit 3: AWG has detected an error

/DEV…​./SGCHANNELS/n/AWG/SEQUENCER/TRIGGERED

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

When 1, indicates that the AWG Sequencer has been triggered.

/DEV…​./SGCHANNELS/n/AWG/SINGLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Puts the AWG into single shot mode.

/DEV…​./SGCHANNELS/n/AWG/TIME

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

AWG sampling rate. The numeric values here are equal to the base sampling rate of 2.0 GHz divided by 2^n, where n is the node value. This value is used by default and can be overridden in the Sequence program.

0

2.0 GHz

1

1.0 GHz

2

500 MHz

3

250 MHz

4

125 MHz

5

62.50 MHz

6

31.25 MHz

7

15.63 MHz

8

7.81 MHz

9

3.91 MHz

10

1.95 MHz

11

976.56 kHz

12

488.28 kHz

13

244.14 kHz

/DEV…​./SGCHANNELS/n/AWG/USERREGS/n

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Integer user register value. The sequencer has reading and writing access to the user register values during run time.

/DEV…​./SGCHANNELS/n/AWG/WAVEFORM/DESCRIPTORS

Properties:

Read

Type:

ZIVectorData

Unit:

None

JSON-formatted string containing a dictionary of various properties of the current waveform: name, filename, function, channels, marker bits, length, timestamp.

/DEV…​./SGCHANNELS/n/AWG/WAVEFORM/MEMORYUSAGE

Properties:

Read

Type:

Double

Unit:

%

Amount of the used waveform data relative to the device cache memory. The cache memory provides space for 512 kSa of waveform data.

/DEV…​./SGCHANNELS/n/AWG/WAVEFORM/PLAYING

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

When 1, indicates if a waveform is being played currently.

/DEV…​./SGCHANNELS/n/AWG/WAVEFORM/WAVES/n

Properties:

Read, Write

Type:

ZIVectorData

Unit:

None

The waveform data in the instrument’s native format for the given playWave waveform index. This node will not work with subscribe as it does not push updates. For short vectors get may be used. For long vectors (causing get to time out) getAsEvent and poll can be used. The index of the waveform to be replaced can be determined using the Waveform sub-tab in the AWG tab of the LabOne User Interface.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/DECODER/MASK

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

8-bit value to select the bits of the message received on ZSync interface coming from the PQSC error decoder.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/DECODER/OFFSET

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

The additive offset applied to the message received on ZSync interface coming from the PQSC error decoder.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/DECODER/SHIFT

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

The bit shift applied to the message received on ZSync interface coming from the PQSC error decoder.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/REGISTER/MASK

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

4-bit value to select the bits of the message received on ZSync interface coming from the PQSC readout registers.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/REGISTER/OFFSET

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

The additive offset applied to the message received on ZSync interface coming from the PQSC readout registers.

/DEV…​./SGCHANNELS/n/AWG/ZSYNC/REGISTER/SHIFT

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

The bit shift applied to the message received on ZSync interface coming from the PQSC readout registers.

/DEV…​./SGCHANNELS/n/CENTERFREQ

Properties:

Read

Type:

Double

Unit:

Hz

The Center Frequency of signal generation band. This value is read-only. Frequency is set through synthesizer node.

/DEV…​./SGCHANNELS/n/DIGITALMIXER/CENTERFREQ

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/MARKER/SOURCE

Properties:

Read, Write

Type:

Integer (enumerated)

Unit:

None

Assign a signal to a marker.

0

awg_trigger0

Trigger output is assigned to AWG Trigger 1, controlled by AWG sequencer commands.

1

awg_trigger1

Trigger output is assigned to AWG Trigger 2, controlled by AWG sequencer commands.

2

awg_trigger2

Trigger output is assigned to AWG Trigger 3, controlled by AWG sequencer commands.

3

awg_trigger3

Trigger output is assigned to AWG Trigger 4, controlled by AWG sequencer commands.

4

output0_marker0

Output is assigned to I component Marker 1.

5

output0_marker1

Output is assigned to I component Marker 2.

6

output1_marker0

Output is assigned to Q component Marker 1.

7

output1_marker1

Output is assigned to Q component Marker 2.

8

trigin0, trigger_input0

Output is assigned to Trigger Input 1.

9

trigin1, trigger_input1

Output is assigned to Trigger Input 2.

10

trigin2, trigger_input2

Output is assigned to Trigger Input 3.

11

trigin3, trigger_input3

Output is assigned to Trigger Input 4.

12

trigin4, trigger_input4

Output is assigned to Trigger Input 5.

13

trigin5, trigger_input5

Output is assigned to Trigger Input 6.

14

trigin6, trigger_input6

Output is assigned to Trigger Input 7.

15

trigin7, trigger_input7

Output is assigned to Trigger Input 8.

16

low

Output is set to low.

17

high

Output is set to high.

/DEV…​./SGCHANNELS/n/OSCS/n/FREQ

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/OUTPUT/FILTER

Properties:

Read

Type:

Integer (enumerated)

Unit:

None

Reads the selected analog filter before the Signal Output.

0

lowpass_1500

Low-pass filter of 1.5 GHz.

1

lowpass_3000

Low-pass filter of 3 GHz.

2

bandpass_3000_6000

Band-pass filter between 3 GHz - 6 GHz

3

bandpass_6000_10000

Band-pass filter between 6 GHz - 10 GHz

/DEV…​./SGCHANNELS/n/OUTPUT/ON

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Enables the Signal Output.

/DEV…​./SGCHANNELS/n/OUTPUT/OVERRANGECOUNT

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Indicates the number of times the Signal Output was in an overrange condition within the last 200 ms. It is checked for an overrange condition every 10 ms.

/DEV…​./SGCHANNELS/n/OUTPUT/RANGE

Properties:

Read, Write

Type:

Double

Unit:

dBm

Sets the maximal Range of the Signal Output power. The instrument selects the closest available Range with a resolution of 5 dBm.

/DEV…​./SGCHANNELS/n/OUTPUT/RFLFPATH

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Switch between RF and LF output path.

0

lf

LF path is used.

1

rf

RF path is used.

/DEV…​./SGCHANNELS/n/SINES/n/FREQ

Properties:

Read

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/HARMONIC

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Multiplies the sine signals’s reference frequency with the integer factor defined by this field.

/DEV…​./SGCHANNELS/n/SINES/n/I/COS/AMPLITUDE

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/I/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/I/SIN/AMPLITUDE

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/OSCSELECT

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Select oscillator for generation of this sine signal.

/DEV…​./SGCHANNELS/n/SINES/n/PHASESHIFT

Properties:

Read, Write, Setting

Type:

Double

Unit:

deg

Phase shift applied to sine signal.

/DEV…​./SGCHANNELS/n/SINES/n/Q/COS/AMPLITUDE

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/Q/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

/DEV…​./SGCHANNELS/n/SINES/n/Q/SIN/AMPLITUDE

Properties:

Read, Write, Setting

Type:

Double

Unit:

None

/DEV…​./SGCHANNELS/n/SYNTHESIZER

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Index of synthesizer mapped to this channel.

/DEV…​./SGCHANNELS/n/TRIGGER/IMP50

Properties:

Read, Write

Type:

Integer (enumerated)

Unit:

None

Trigger Input impedance: When on, the Trigger Input impedance is 50 Ohm; when off, 1 kOhm.

0

1_kOhm

OFF: 1 k Ohm

1

50_Ohm

ON: 50 Ohm

/DEV…​./SGCHANNELS/n/TRIGGER/LEVEL

Properties:

Read, Write

Type:

Double

Unit:

V

Defines the analog Trigger level.

/DEV…​./SGCHANNELS/n/TRIGGER/VALUE

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Shows the value of the digital Trigger Input. The value is integrated over a period of 100 ms. Values are: 1: low; 2: high; 3: was low and high in the period.

STATS

/DEV…​./STATS/CMDSTREAM/BANDWIDTH

Properties:

Read

Type:

Double

Unit:

Mbit/s

Command streaming bandwidth usage on the physical network connection between device and data server.

/DEV…​./STATS/CMDSTREAM/BYTESRECEIVED

Properties:

Read

Type:

Integer (64 bit)

Unit:

B

Number of bytes received on the command stream from the device since session start.

/DEV…​./STATS/CMDSTREAM/BYTESSENT

Properties:

Read

Type:

Integer (64 bit)

Unit:

B

Number of bytes sent on the command stream from the device since session start.

/DEV…​./STATS/CMDSTREAM/PACKETSLOST

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of command packets lost since device start. Command packets contain device settings that are sent to and received from the device.

/DEV…​./STATS/CMDSTREAM/PACKETSRECEIVED

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of packets received on the command stream from the device since session start.

/DEV…​./STATS/CMDSTREAM/PACKETSSENT

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of packets sent on the command stream to the device since session start.

/DEV…​./STATS/CMDSTREAM/PENDING

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of buffers ready for receiving command packets from the device.

/DEV…​./STATS/CMDSTREAM/PROCESSING

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of buffers being processed for command packets. Small values indicate proper performance. For a TCP/IP interface, command packets are sent using the TCP protocol.

/DEV…​./STATS/DATASTREAM/BANDWIDTH

Properties:

Read

Type:

Double

Unit:

Mbit/s

Data streaming bandwidth usage on the physical network connection between device and data server.

/DEV…​./STATS/DATASTREAM/BYTESRECEIVED

Properties:

Read

Type:

Integer (64 bit)

Unit:

B

Number of bytes received on the data stream from the device since session start.

/DEV…​./STATS/DATASTREAM/PACKETSLOST

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of data packets lost since device start. Data packets contain measurement data.

/DEV…​./STATS/DATASTREAM/PACKETSRECEIVED

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of packets received on the data stream from the device since session start.

/DEV…​./STATS/DATASTREAM/PENDING

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of buffers ready for receiving data packets from the device.

/DEV…​./STATS/DATASTREAM/PROCESSING

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Number of buffers being processed for data packets. Small values indicate proper performance. For a TCP/IP interface, data packets are sent using the UDP protocol.

/DEV…​./STATS/PHYSICAL/CURRENTS/n

Properties:

Read

Type:

Double

Unit:

mA

Provides internal current readings for monitoring.

/DEV…​./STATS/PHYSICAL/FANSPEEDS/n

Properties:

Read

Type:

Integer (64 bit)

Unit:

RPM

Speed of the internal cooling fans for monitoring.

/DEV…​./STATS/PHYSICAL/FPGA/AUX

Properties:

Read

Type:

Double

Unit:

V

Supply voltage of the FPGA.

/DEV…​./STATS/PHYSICAL/FPGA/CORE

Properties:

Read

Type:

Double

Unit:

V

Core voltage of the FPGA.

/DEV…​./STATS/PHYSICAL/FPGA/PSTEMP

Properties:

Read

Type:

Double

Unit:

°C

Internal temperature of the FPGA’s processor system.

/DEV…​./STATS/PHYSICAL/FPGA/TEMP

Properties:

Read

Type:

Double

Unit:

°C

Internal temperature of the FPGA.

/DEV…​./STATS/PHYSICAL/OVERTEMPERATURE

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

This flag is set to a value greater than 0 when the internal temperatures are reaching critical limits.

/DEV…​./STATS/PHYSICAL/SIGOUTS/n/CURRENTS/n

Properties:

Read

Type:

Double

Unit:

A

Provides internal current readings on the Signal Output board for monitoring.

/DEV…​./STATS/PHYSICAL/SIGOUTS/n/TEMPERATURES/n

Properties:

Read

Type:

Double

Unit:

°C

Provides internal temperature readings on the Signal Output board for monitoring.

/DEV…​./STATS/PHYSICAL/SIGOUTS/n/VOLTAGES/n

Properties:

Read

Type:

Double

Unit:

V

Provides internal voltage readings on the Signal Output board for monitoring.

/DEV…​./STATS/PHYSICAL/SYNTHESIZER/CURRENTS/n

Properties:

Read

Type:

Double

Unit:

A

Provides internal current readings on the Synthesizer board for monitoring.

/DEV…​./STATS/PHYSICAL/SYNTHESIZER/TEMPERATURES/n

Properties:

Read

Type:

Double

Unit:

°C

Provides internal temperature readings on the Synthesizer board for monitoring.

/DEV…​./STATS/PHYSICAL/SYNTHESIZER/VOLTAGES/n

Properties:

Read

Type:

Double

Unit:

V

Provides internal voltage readings on the Synthesizer board for monitoring.

/DEV…​./STATS/PHYSICAL/TEMPERATURES/n

Properties:

Read

Type:

Double

Unit:

°C

Provides internal temperature readings for monitoring.

/DEV…​./STATS/PHYSICAL/VOLTAGES/n

Properties:

Read

Type:

Double

Unit:

V

Provides internal voltage readings for monitoring.

STATUS

/DEV…​./STATUS/ADC0MAX

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The maximum value on Signal Input 1 (ADC0) during 100 ms.

/DEV…​./STATUS/ADC0MIN

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The minimum value on Signal Input 1 (ADC0) during 100 ms

/DEV…​./STATUS/ADC1MAX

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The maximum value on Signal Input 2 (ADC1) during 100 ms.

/DEV…​./STATUS/ADC1MIN

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The minimum value on Signal Input 2 (ADC1) during 100 ms

/DEV…​./STATUS/FIFOLEVEL

Properties:

Read

Type:

Double

Unit:

None

USB FIFO level: Indicates the USB FIFO fill level inside the device. When 100%, data is lost

/DEV…​./STATUS/FLAGS/BINARY

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

A set of binary flags giving an indication of the state of various parts of the device. Reserved for future use.

/DEV…​./STATUS/FLAGS/PACKETLOSSTCP

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Flag indicating if tcp packages have been lost.

/DEV…​./STATUS/FLAGS/PACKETLOSSUDP

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Flag indicating if udp packages have been lost.

/DEV…​./STATUS/TIME

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The current timestamp.

SYNTHESIZERS

/DEV…​./SYNTHESIZERS/n/CENTERFREQ

Properties:

Read, Write

Type:

Double

Unit:

Hz

The Center Frequency of the synthesizer.

SYSTEM

/DEV…​./SYSTEM/ACTIVEINTERFACE

Properties:

Read

Type:

String

Unit:

None

Currently active interface of the device.

/DEV…​./SYSTEM/BOARDREVISIONS/n

Properties:

Read

Type:

String

Unit:

None

Hardware revision of the motherboard containing the FPGA.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/IN/FREQ

Properties:

Read

Type:

Double

Unit:

Hz

Indicates the frequency of the reference clock.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/IN/SOURCE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

The intended reference clock source. When the source is changed, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually.

0

internal

The internal clock is intended to be used as the frequency and time base reference.

1

external

An external clock is intended to be used as the frequency and time base reference. Provide a clean and stable 10 MHz or 100 MHz reference to the appropriate back panel connector.

2

zsync

The ZSync clock is intended to be used as the frequency and time base reference.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/IN/SOURCEACTUAL

Properties:

Read

Type:

Integer (enumerated)

Unit:

None

The actual reference clock source.

0

internal

The internal clock is used as the frequency and time base reference.

1

external

An external clock is used as the frequency and time base reference.

2

zsync

The ZSync clock is used as the frequency and time base reference.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/IN/STATUS

Properties:

Read

Type:

Integer (enumerated)

Unit:

None

Status of the reference clock.

0

Reference clock has been locked on.

1

There was an error locking onto the reference clock signal.

2

The device is busy trying to lock onto the reference clock signal.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/OUT/ENABLE

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Enable clock signal on the reference clock output. When the clock output is turned on or off, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually.

/DEV…​./SYSTEM/CLOCKS/REFERENCECLOCK/OUT/FREQ

Properties:

Read, Write, Setting

Type:

Double

Unit:

Hz

Select the frequency of the output reference clock. Only 10 MHz and 100 MHz are allowed. When the frequency is changed, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually.

/DEV…​./SYSTEM/DIGITALMIXER/RESET/ALL

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Writing to this node clears all digital mixer NCOs of the instrument.

/DEV…​./SYSTEM/DIGITALMIXER/RESET/MODE

Properties:

Read, Write, Setting

Type:

Integer (enumerated)

Unit:

None

Configure the NCO reset mode.

0

manual

In manual mode the instrument does not automatically reset NCOs when switching a channel from LF to RF mode.

1

auto

In automatic mode the instrument automatically resets the NCOs of all channels whenever a channel is switched from LF to RF, in order to restore alignment.

/DEV…​./SYSTEM/DIGITALMIXER/RESET/SELECT

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Writing a bit mask to this node triggers a digital mixer NCO reset of the selected (bit value: 1) channels.

/DEV…​./SYSTEM/FPGAREVISION

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

HDL firmware revision.

/DEV…​./SYSTEM/FWLOG

Properties:

Read

Type:

String

Unit:

None

Returns log output of the firmware.

/DEV…​./SYSTEM/FWLOGENABLE

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Enables logging to the fwlog node.

/DEV…​./SYSTEM/FWREVISION

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Revision of the device-internal controller software.

/DEV…​./SYSTEM/IDENTIFY

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Setting this node to 1 will cause all frontpanel LEDs to blink for 5 seconds, then return to their previous state.

/DEV…​./SYSTEM/INTERFACESPEED

Properties:

Read

Type:

String

Unit:

None

Speed of the currently active interface (USB only).

/DEV…​./SYSTEM/INTERNALTRIGGER/ENABLE

Properties:

Read, Write

Type:

Integer (enumerated)

Unit:

None

Enable internal trigger generator.

0

off

Generator off

1

on

Generator on

/DEV…​./SYSTEM/INTERNALTRIGGER/HOLDOFF

Properties:

Read, Write, Setting

Type:

Double

Unit:

s

Hold-off time between generated triggers.

/DEV…​./SYSTEM/INTERNALTRIGGER/PROGRESS

Properties:

Read

Type:

Double

Unit:

None

The fraction of the triggers generated so far.

/DEV…​./SYSTEM/INTERNALTRIGGER/REPETITIONS

Properties:

Read, Write, Setting

Type:

Integer (64 bit)

Unit:

None

Number of triggers to be generated.

/DEV…​./SYSTEM/NICS/n/DEFAULTGATEWAY

Properties:

Read, Write

Type:

String

Unit:

None

Default gateway configuration for the network connection.

/DEV…​./SYSTEM/NICS/n/DEFAULTIP4

Properties:

Read, Write

Type:

String

Unit:

None

IPv4 address of the device to use if static IP is enabled.

/DEV…​./SYSTEM/NICS/n/DEFAULTMASK

Properties:

Read, Write

Type:

String

Unit:

None

IPv4 mask in case of static IP.

/DEV…​./SYSTEM/NICS/n/GATEWAY

Properties:

Read

Type:

String

Unit:

None

Current network gateway.

/DEV…​./SYSTEM/NICS/n/IP4

Properties:

Read

Type:

String

Unit:

None

Current IPv4 of the device.

/DEV…​./SYSTEM/NICS/n/MAC

Properties:

Read

Type:

String

Unit:

None

Current MAC address of the device network interface.

/DEV…​./SYSTEM/NICS/n/MASK

Properties:

Read

Type:

String

Unit:

None

Current network mask.

/DEV…​./SYSTEM/NICS/n/SAVEIP

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

If written, this action will program the defined static IP address to the device.

/DEV…​./SYSTEM/NICS/n/STATIC

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Enable this flag if the device is used in a network with fixed IP assignment without a DHCP server.

/DEV…​./SYSTEM/OWNER

Properties:

Read

Type:

String

Unit:

None

Returns the current owner of the device (IP).

/DEV…​./SYSTEM/PROPERTIES/FREQRESOLUTION

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

The number of bits used to represent a frequency.

/DEV…​./SYSTEM/PROPERTIES/FREQSCALING

Properties:

Read

Type:

Double

Unit:

None

The scale factor to use to convert a frequency represented as a freqresolution-bit integer to a floating point value.

/DEV…​./SYSTEM/PROPERTIES/MAXFREQ

Properties:

Read

Type:

Double

Unit:

None

The maximum oscillator frequency that can be set.

/DEV…​./SYSTEM/PROPERTIES/MAXTIMECONSTANT

Properties:

Read

Type:

Double

Unit:

None

The maximum demodulator time constant that can be set.

/DEV…​./SYSTEM/PROPERTIES/MINFREQ

Properties:

Read

Type:

Double

Unit:

None

The minimum oscillator frequency that can be set.

/DEV…​./SYSTEM/PROPERTIES/MINTIMECONSTANT

Properties:

Read

Type:

Double

Unit:

None

The minimum demodulator time constant that can be set.

/DEV…​./SYSTEM/PROPERTIES/NEGATIVEFREQ

Properties:

Read

Type:

Integer (64 bit)

Unit:

None

Indicates whether negative frequencies are supported.

/DEV…​./SYSTEM/PROPERTIES/TIMEBASE

Properties:

Read

Type:

Double

Unit:

s

Minimal time difference between two timestamps. The value is equal to 1/(maximum sampling rate).

/DEV…​./SYSTEM/SHUTDOWN

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Sending a '1' to this node initiates a shutdown of the operating system on the device. It is recommended to trigger this shutdown before switching the device off with the hardware switch at the back side of the device.

/DEV…​./SYSTEM/STALL

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Indicates if the network connection is stalled.

/DEV…​./SYSTEM/SWTRIGGERS/n/SINGLE

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Issues a single software trigger event.

/DEV…​./SYSTEM/UPDATE

Properties:

Read, Write

Type:

Integer (64 bit)

Unit:

None

Requests update of the device firmware and bitstream from the dataserver.