Configuration#

The deviceConfig stores the state of the device in the API and can be updated with getDeviceConfig(). From deviceConfig the parameters can only be read. To set them you need to call loadIniConfig() or setIniConfig(). An other and more pythonesque way to change them is to use the commands defined in the Device directly. This document will give you an overview about the configuration parameters and there corresponding functions or constants, where their values and/or their maximum and minimum are defined.

Note

If you encounter any issues reading a config.ini file enable the config log level in the system.ini. The file location is shown at the firs log entry: ‘loadSettingsIni: e:\path\to\system.ini’.

Parameter Description#

Read only parameters#

Read only from deviceConfig (can’t be set via loadIniConfig() or setIniConfig())#

Name

Object / Reference

Description

DeviceType

DeviceType

real Hardware or File Device

FileDevicePath

string

path to the ptu file

ID

string

serial number

Index

int

index number of the device in the list of deviceIDs (only valid after getDeviceIDs())

Model

string

model name

PartNo

string

part number

Version

string

version number

BaseResolution

double

base resolution in ps (timing resolution in T2 mode)

Resolution

double

current resolution (histogram bin width) in ps (not meaningful in T2 mode)

Binning

int

current binning code (multiplier for BaseResolution) - (not meaningful in T2 mode)

NumChans

int

number of input channels (without sync)

NumMods

int

number of installed modules

MeasMode

MeasMode

Histogram, T2, T3

RefSource

RefSource

source of the reference clock

INI Device Section#

INI Section: [Device]#

Name

Object / Reference

Description

SyncDivider

setSyncDiv()

sync rate divider

SyncTrigMode

setSyncTrigMode()

Edge or CFD trigger

SyncEdgeTrig, SyncTrigLvl , SyncTrigEdge

setSyncEdgeTrig()

sets both parameters at once: trigger level and edge

SyncCFD, SyncDiscrLvl , SyncZeroXLvL

setSyncCFD()

sets both parameters at once: discriminator- and zero cross level

SyncChannelOffset

setSyncChannelOffset()

sync timing offset in ps

SyncChannelEnable

setSyncChannelEnable()

enable state of the sync channel

SyncDeadTime

setSyncDeadTime()

dead-time in ps

HystCode

setInputHysteresis()

input hysteresis

StopCount

setStopOverflow()

stop count for histogram

Binning

setBinning()

binning factor

Offset

setOffset()

histogram time offset in ns

LengthCode, NumBins

setHistoLength()

number of bins

TriggerOutput

setTriggerOutput()

programmable trigger output period in ns

MarkerHoldoffTime

setMarkerHoldoffTime()

marker hold of time to remove glitches in ns

HoldTime

setOflCompression()

low data rates

INI Channel Section#

INI Section: [All_Channels] | [Channel_N]#

Name

Object / Reference

Description

TrigMode

setInputTrigMode()

Edge or CFD trigger

EdgeTrig, TrigLvl , TrigEdge

setInputEdgeTrig()

sets both values at once: trigger level and edge

CFD, DiscrLvl , ZeroXLvl

setInputCFD()

sets both values at once: discriminator- and zero cross level

ChanOffs

setInputChannelOffset()

input channel offset timing offset in ps

ChanEna

setInputChannelEnable()

enable state of the input channel

DeadTime

setInputDeadTime()

dead-time in ps

Example of the deviceConfig#

{
"DeviceType": 0,
"FileDevicePath": "",
"ID": "1045483",
"Index": 0,
"Model": "MultiHarp 150 4P",
"PartNo": "930043",
"Version": "1.0",
"BaseResolution": 5.0,
"Resolution": 5.0,
"BinSteps": 24,
"NumChans": 4,
"NumMods": 2,
"SyncDivider": 1,
"SyncTrigMode": "Edge",
"SyncTrigLvl": -50,
"SyncTrigEdge": 1,
"SyncDiscrLvl": -50,
"SyncZeroXLvL": 0,
"SyncChannelOffset": 0,
"SyncChannelEnable": 1,
"SyncDeadTime": 800,
"HystCode": 0,
"StopCount": 4294967295,
"Binning": 1,
"Offset": 0,
"lengthCode": 6,
"NumBins": 65536,
"MeasControl": 0,
"StartEdge": 1,
"StopEdge": 1,
"TrigOutput": 0,
"HoldoffTime": 0,
"HoldTime": 0,
"MarkerEdges": [
    0,
    0,
    0,
    0
],
"MarkerEna": [
    0,
    0,
    0,
    0
],
"ModsCfg": [
    {
    "Index": 0,
    "ModelCode": 1010,
    "VersionCode": 16843029
    },
    {
    "Index": 1,
    "ModelCode": 1000,
    "VersionCode": 17694997
    }
],
"ChansCfg": [
    {
    "Index": 0,
    "TrigLvl": 100,
    "TrigEdge": 1,
    "DiscrLvl": 100,
    "ZeroXLvl": 0,
    "ChanOffs": 0,
    "ChanEna": 1,
    "DeadTime": 800
    },
    {
    "Index": 1,
    "TrigLvl": -120,
    "TrigEdge": 1,
    "DiscrLvl": -120,
    "ZeroXLvl": 1,
    "ChanOffs": 0,
    "ChanEna": 1,
    "DeadTime": 800
    }
],
"MeasMode": 0,
"RefSource": 0
}

Example of the device ini file#

[Device]
HystCode = 0
SyncDiv = 1
SyncEdgeTrig = -50,1
SyncChannelOffset = 0
SyncChannelEnable = 1
SyncDeadTime = 0
StopOverflow = 4294967295
Binning = 1
Offset = 0
MeasControl = 0
StartEdge = 1
StopEdge = 1
TriggerOutput = 0

[All_Channels]
InputEdgeTrig = -50,1
InputChannelOffset = 0
SetInputChannelEnable = 1
InputDeadTime = 0

[Channel_0]
InputEdgeTrig = -10,1
InputChannelOffset = 100

[Channel_1]
InputEdgeTrig = -120,1