SYSTem - General system properties and settings

The system settings allow adjustment of the general behaviour of Spektralwerk Core.

:ACTion - Controllable actions

The SYSTem:ACTion path contains actions which can be performed.

:REBoot - Spektralwerk Core reboot

command only

The Spektralwerk Core device can be rebooted using SYSTem:ACTion:REBoot node. Stored configurations and vales (reference and scaling vectors, user settings, etc.) will be preserved upon rebooting. Changes of the status LED (see CONTrol:INDicator:STATus) will be reset.

Parent path: SYSTem:ACTion

SCPI String Query ? Command [<INPUT VALUE>]
:REBoot - <NONE>: reboots the Spektralwerk Core

Example:

> MEASure:SPECtrum:AVERage:NUMBer 123

> CONTrol:INDicator:STATus off

> SYSTem:ACTion:REBoot
# restarts the Spektralwerk Core
> MEASure:SPECtrum:AVERage:NUMBer?
123
> CONTrol:INDicator:STATus?
# the state of the status LED is not preserved upon rebooting
auto

:COMMunicate:NETWork - Network adjustment

The network settings can be changed to fit the network environment.

:CONFig:IPV4 - IPv4 configuration

query and command

SYSTem:NETWork:CONFig:IPV4 can be used for configuring the IPv4-related network settings.

The first parameter determines the selected configuration method (disabled / static / dhcp). The static method requires one or two additional parameters: the device address and an optional gateway address. The other methods do not require additional parameters.

Parent path: SYSTem:COMMunicate:NETWork:CONFig

SCPI String Query ? Command [<INPUT VALUE>]
:IPv4 returns the current IPv4 address of the Spektralwerk Core <METHOD[,IP_ADDRESS[,GATEWAY]]>: configure IPv4 network

Example response:

> SYSTem:COMMunicate:NETWork:CONFig:IPV4 dhcp

> SYSTem:COMMunicate:NETWork:CONFig:IPV4?
dhcp
> SYSTem:COMMunicate:NETWork:CONFig:IPV4 static,"192.168.0.34/24"

> SYSTem:COMMunicate:NETWork:CONFig:IPV4?
static,"192.168.0.34/24"
> SYSTem:COMMunicate:NETWork:CONFig:IPV4 static,"192.168.0.34/24","192.168.0.134"

> SYSTem:COMMunicate:NETWork:CONFig:IPV4?
static,"192.168.0.34/24","192.168.0.134"

:HOSTname - Device host name

query and command

The device's network host name can be set using SYSTem:COMMunicate:NETWork:HOSTname. The default host name of the spectrometer is spektralwerk-<SERIAL_NUMBER_OF_THE_DEVICE> and is also stated on its name plate.

Parent path: SYSTem:COMMunicate:NETWork

SCPI String Query ? Command [<INPUT VALUE>]
:HOSTname returns the current host name of the device <STRING>: changes the host name of the device

Example

> SYSTem:COMMunicate:NETWork:HOSTname?
"spektralwerk-01001234"
> SYSTem:COMMunicate:NETWork:HOSTname "very_cool_device"

> SYSTem:COMMunicate:NETWork:HOSTname?
"very_cool_device"

:MAC - Media access control

query only

Provides information about the device's media access control address (MAC address). The MAC address can not be changed.

Parent path: SYSTem:COMMunicate:NETWork

SCPI String Query ? Command [<INPUT VALUE>]
:MAC returns the device's MAC address -

Example:

> SYSTem:COMMunicate:NETWork:MAC?
AA:BB:CC:DD:EE:FF

:ERRor - Error handling

query only

The :ERRor branch offers access to occurring errors in the SCPI interface. *CLS command can be used to clear previously occurred errors. Querying SYSTem:ERRor[:NEXT]? without an error will return 0,"No error". An overflow of the error queue will return -350,"Queue overflow".

Parent path: SYSTem

SCPI String Query ? Command [<INPUT VALUE>]
:ERRor[:NEXT] returns the last occurred error and removes the error from the error queue -
  :ALL returns all errors and removes them from the error queue -
  :COUNt returns the number of errors -

Example:

> SYSTem:ERRor?
0,"No error"
> UNKN:OWN:CMD?
# no response due to unknown command
> SYSTem:ERRor?
-113,"Undefined header"
> UNKN:OWN:CMD?
# no response due to unknown command
> SYSTem:ERRor:NEXT?
-113,"Undefined header"
> UNKN:OWN:CMD?
# no response due to unknown command
> UNKN:OWN:CMD?
# no response due to unknown command
> UNKN:OWN:CMD?
# no response due to unknown command
> SYSTem:ERRor:COUNt?
3
> SYSTem:ERRor:ALL?
-113,"Undefined header",-113,"Undefined header",-113,"Undefined header"
# the error queue is cleared after calling `SYSTem:ERRor:ALL?`
> SYSTem:ERRor?
0,"No error"
> SYSTem:ERRor:COUNt?
0

:FIRMware - Firmware handling

The firmware of the Spektralwerk Core can be updated or reset to a stable version. Both can be handled using the SYSTem:FIRMware path and its subcommands.

:UPLoad - New firmware upload

command and query

The firmware can be uploaded chunk-wise using the SYSTem:FIRMware:UPLoad command. Block position, block size and base64 encoded block are passed with the command. In addition, the SYSTem:FIRMware:UPLoad:STATus query returns the current status (current block position and "SHA-1" hash of the transmitted data) of the upload. The SYSTem:FIRMware:UPLoad:VERSion query provides information about the firmware version being uploaded.

Parent path: SYSTem:FIRMware:UPLoad

SCPI String Query ? Command [<INPUT VALUE>]
:BLOCk - <INTEGER,INTEGER,STRING>
:STATus returns the status of the firmware upload -
:VERSion returns the firmware version which is being uploaded -

Example:

> SYSTem:FIRMware:UPLoad:BLOCk 0,1024,<BASE64_ENCODED_BLOCK>

> SYSTem:FIRMware:UPLoad:BLOCk 1024,1024,<BASE64_ENCODED_BLOCK>

> SYSTem:FIRMware:UPLoad:BLOCk 2048,1024,<BASE64_ENCODED_BLOCK>
# ...
> SYSTem:FIRMware:UPLoad:STATus?
3072,<SHA1_SUM>
> SYSTem:FIRMware:UPLoad:VERSion?
1.0.1

:RECovery - Recovery firmware handling

command and query

SYSTem:FIRMware:RECovery can be used to restore the previous firmware version (SYSTem:FIRMware:RECovery:ROLLback) or to set the current firmware version to the default fallback firmware version (SYSTem:FIRMware:RECovery:UPGRade). The current recovery firmware version is available from SYSTem:FIRMware:RECovery:VERSion? query.

Parent path: SYSTem:FIRMware:RECovery

SCPI String Query ? Command [<INPUT VALUE>]
:ROLLback - <NONE>: restores the current recovery firmware version
:UPGRade - <NONE>: upgrades the recovery firmware to the current firmware version
:VERSion returns the stored client information -

Example:

> SYSTem:FIRMware:VERSion?
1.0.1
> SYSTem:FIRMware:RECovery:VERSion?
1.0.0
> SYSTem:FIRMware:RECovery:ROLLback

> SYSTem:FIRMware:VERSion?
1.0.0
# ... Upload of a new firmware version
> SYSTem:FIRMware:VERSion?
1.0.1
> SYSTem:FIRMware:RECovery:VERSion?
1.0.0
> SYSTem:FIRMware:RECovery:UPGRade

> SYSTem:FIRMware:RECovery:VERSion?
1.0.1

:VERSion - Firmware version

query only

The current firmware version is available using the SYSTem:FIRMware:VERSion? query. The response is identical to the firmware version block provided by querying the Spektralwerk Core identity *IDN?.

Parent path: SYSTem:FIRMware

SCPI String Query ? Command [<INPUT VALUE>]
:VERSion returns the current firmware version -

Example:

> SYSTem:FIRMware:VERSion?
1.2.3

:SETTings:CLIent - User client storage

query and command

SYSTem:SETTings:CLIent provides access to 3rd-party client storage on the spectrometer. A client might store additional yaml formatted meta data on the device. The client configuration data is limited to 2048 bytes.

Each client implementation accessing the client storage is expected to choose a unique name (e.g. "My-Fancy-Client") and store its information in a top-level dictionary of this name. All other existing settings shall be preserved without modifications. But it may be necessary for a client to remove the data dictionaries of other clients in order to reduce the required storage size.

Parent path: SYSTem:SETTings

SCPI String Query ? Command [<INPUT VALUE>]
:CLIent returns the base64 encoded stored client information <STRING>: - store the base64 encoded client settings string

Example:

// Some json sample data
{
  "My-Fancy-Client": {
    "LastUsageTimestamp": 2025-09-24 22:31:17+02:00,
    "LastClientIP": 172.16.134.23,
    "SetupName": "liquid solution magic",
    "SetupNotes": "The photonic flibber-glass enters through the quantum snorkel, ricocheting off the bifurcated lens cradles into the hyper-spectral zindle array.",
    "ClientVersion": 1.3.12,
  },
  "some-lazy-client": {
    "i_was_here": true,
    "request_counts": [4, 8, 2],
  }
}
// This will be transformed to a base64 encoded string:
// ewogICJNeS1GYW5jeS1DbGllbnQiO....CwgOCwgMl0sCiAgfQp9

Here, the Client "My-Fance-Client" is expected to modify only the data within the dictionary of this name. This is supposed to avoid interference between clients, while allowing a wide range of customizations.

> SYSTem:SETTings:CLIent?

> SYSTem:SETTings:CLIENT "ewogICJNeS1GYW5jeS1DbGllbnQiO....CwgOCwgMl0sCiAgfQp9"

> SYSTem:SETTings:CLIent?
"ewogICJNeS1GYW5jeS1DbGllbnQiO....CwgOCwgMl0sCiAgfQp9"

:SCPI:COMMands:VERSion - SCPI command revision

query only

The SCPI interface in Spektralwerk Core evolves continuously. A version number is used to indicate the extent of changes. The version number's structure follows the "Semantic Versioning" scheme.

Client implementations may use this version number to warn the user in case of mismatched expectations.

Parent path: SYSTem

SCPI String Query ? Command [<INPUT VALUE>]
:SCPI:COMMands:VERSion returns the current revision of the SCPI interface -

Example:

> SYSTem:SCPI:COMMands:VERSion?
1.0.0

:VERSion - SCPI version

query only

SYSTem:VERSion? provides information about the SCPI standard used for this interface.

Parent path: SYSTem

SCPI String Query ? Command [<INPUT VALUE>]
:VERSion returns the SCPI standard of this interface -

Example:

> SYSTem:VERSion?
scpi-1999