Configuration file#

To use mahos system, you have to prepare a toml configuration file. One good way to get used to this concept may be going through the Tutorial.

Here, we put the configuration file for Tutorial 2: Basic Measurement.

conf.toml#
 1[global]
 2req_timeout_ms = 60000
 3poll_timeout_ms = 100
 4
 5[localhost.log]
 6module = "mahos.node.log_broker"
 7class = "LogBroker"
 8target = { log = "localhost::log" }
 9xpub_endpoint = "tcp://127.0.0.1:5555"
10xsub_endpoint = "tcp://127.0.0.1:5556"
11
12[localhost.server]
13module = "mahos.inst.server"
14class = "InstrumentServer"
15target = { log = "localhost::log" }
16log_level = "DEBUG"
17rep_endpoint = "tcp://127.0.0.1:5559"
18pub_endpoint = "tcp://127.0.0.1:5560"
19
20[localhost.server.instrument.source]
21module = "instruments"
22class = "VoltageSource_mock"
23[localhost.server.instrument.source.conf]
24resource = "VISA::DUMMY0"
25
26[localhost.server.instrument.meter]
27module = "instruments"
28class = "Multimeter_mock"
29[localhost.server.instrument.meter.conf]
30resource = "VISA::DUMMY1"
31
32[localhost.ivcurve]
33module = "ivcurve"
34class = "IVCurve"
35rep_endpoint = "tcp://127.0.0.1:5561"
36pub_endpoint = "tcp://127.0.0.1:5562"
37[localhost.ivcurve.target]
38log = "localhost::log"
39[localhost.ivcurve.target.servers]
40source = "localhost::server"
41meter = "localhost::server"
42
43[localhost.ivcurve_gui]
44module = "ivcurve_gui"
45class = "IVCurveGUI"
46[localhost.ivcurve_gui.target]
47ivcurve = "localhost::ivcurve"

This configuration file is visualized as graph below.

Node graph for IVCurve

Node graph for IVCurve#

TODO: explain detailed spec. of the configuration file.