Midas C++ API - mdev slow control framework
This page contains the full API reference for the mdev slow control framework (drivers/mdev/mdev.h) and the mdev drivers included in midas.
For the concepts and day-to-day use, see Slow control: overview.
For the ODB keys each driver creates, see Slow control: configuring.
For explanations and examples of writing an mdev frontend, see Slow control: programming.
For midas::mscb, which mdev_mscb uses to talk to MSCB nodes, see MSCB.
Base class
mdev
Defined in drivers/mdev/mdev.h:14
Methods
define_history_panel
Note: this method has 2 different signatures.
define_history_panel
void define_history_panel(std::string groupName, std::string panelName, std::vector<std::string> names, std::vector<std::string> labels = {}, std::vector<std::string> formula = {}, std::vector<std::string> color = {})
Defined in drivers/mdev/mdev.h:81
define_history_panel
void define_history_panel(std::string panelName, std::vector<std::string> names, std::vector<std::string> labels = {}, std::vector<std::string> formula = {}, std::vector<std::string> color = {})
Defined in drivers/mdev/mdev.h:95
exit
virtualpure virtual
virtual void exit() = 0
Defined in drivers/mdev/mdev.h:54
get_equipment_name
std::string get_equipment_name()
Defined in drivers/mdev/mdev.h:49
get_event_id
int get_event_id()
getters and setters
Defined in drivers/mdev/mdev.h:48
init
virtualpure virtual
virtual void init() = 0
Defined in drivers/mdev/mdev.h:53
isDisabled
bool isDisabled()
Defined in drivers/mdev/mdev.h:57
loop
virtualpure virtual
virtual void loop() = 0
Defined in drivers/mdev/mdev.h:55
mdev
mdev(std::string equipment_name)
Defined in drivers/mdev/mdev.h:23
mdev_init
void static mdev_init(std::vector<mdev *> &mdev_table)
Call odb_setup for all devices
Defined in drivers/mdev/mdev.h:65
mdev_loop
void static mdev_loop(std::vector<mdev *> &mdev_table)
Call loop() function of all devices to read data
Defined in drivers/mdev/mdev.h:73
mdev_odb_setup
void static mdev_odb_setup(std::vector<mdev *> &mdev_table)
Call odb_setup for all devices
Defined in drivers/mdev/mdev.h:59
odb_setup
virtualpure virtual
virtual void odb_setup() = 0
pure virtual functions
Defined in drivers/mdev/mdev.h:52
read_event
virtual
virtual int read_event(char *pevent, int off)
Defined in drivers/mdev/mdev.h:56
set_readout_period
void set_readout_period(int period_ms)
Defined in drivers/mdev/mdev.h:105
~mdev
virtual
virtual ~mdev()
Defined in drivers/mdev/mdev.h:45
Attributes
m_disabled
protected
bool m_disabled
Defined in drivers/mdev/mdev.h:20
m_equipment_name
protected
std::string m_equipment_name
Defined in drivers/mdev/mdev.h:17
m_event_id
protected
int m_event_id
Defined in drivers/mdev/mdev.h:16
m_readout_last
protected
DWORD m_readout_last
Defined in drivers/mdev/mdev.h:19
m_readout_period
protected
DWORD m_readout_period
Defined in drivers/mdev/mdev.h:18
MSCB driver
mscb_node
Defined in drivers/mdev/mdev_mscb.h:41
Methods
add_group
void add_group()
Defined in drivers/mdev/mdev_mscb.h:62
add_input
Note: this method has 4 different signatures.
add_input
void add_input(std::string var, std::string name, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:67
add_input
void add_input(int index, std::string name, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:72
add_input
void add_input(std::string var, std::string name, std::function<float(float)> f, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:77
add_input
void add_input(int index, std::string name, std::function<float(float)> f, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:82
add_output
Note: this method has 4 different signatures.
add_output
void add_output(std::string var, std::string name, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:87
add_output
void add_output(int index, std::string name, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:92
add_output
void add_output(std::string var, std::string name, std::function<bool(mscb_var, float)> f, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:97
add_output
void add_output(int index, std::string name, std::function<bool(mscb_var, float)> f, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_mscb.h:102
get_group
std::vector<bool> get_group()
Defined in drivers/mdev/mdev_mscb.h:109
mscb_node
Note: this method has 2 different signatures.
mscb_node
mscb_node(std::string d, int a, std::string pwd = "", bool e = true)
Defined in drivers/mdev/mdev_mscb.h:55
mscb_node
mscb_node(std::string n, std::string d, int a, std::string pwd = "", bool e = true)
Defined in drivers/mdev/mdev_mscb.h:59
start_new_group
void start_new_group()
Defined in drivers/mdev/mdev_mscb.h:107
Attributes
m_address
int m_address
Defined in drivers/mdev/mdev_mscb.h:46
m_device
std::string m_device
Defined in drivers/mdev/mdev_mscb.h:44
m_enabled
bool m_enabled
Defined in drivers/mdev/mdev_mscb.h:47
m_group
std::vector<bool> m_group
Defined in drivers/mdev/mdev_mscb.h:52
m_group_flag
bool m_group_flag
Defined in drivers/mdev/mdev_mscb.h:49
m_mscb
midas::mscb* m_mscb
Defined in drivers/mdev/mdev_mscb.h:48
m_mscb_var
std::vector<mscb_var> m_mscb_var
Defined in drivers/mdev/mdev_mscb.h:51
m_name
std::string m_name
Defined in drivers/mdev/mdev_mscb.h:43
m_pwd
std::string m_pwd
Defined in drivers/mdev/mdev_mscb.h:45
mdev_mscb
class mdev_mscb : public mdev
Defined in drivers/mdev/mdev_mscb.h:112
Methods
add_node
void add_node(mscb_node n)
Defined in drivers/mdev/mdev_mscb.h:131
exit
override
void exit() override
Declared in drivers/mdev/mdev_mscb.h:144, defined in drivers/mdev/mdev_mscb.cxx:234
get_all
void get_all(int i)
Defined in drivers/mdev/mdev_mscb.h:140
get_mscb_node
midas::mscb *get_mscb_node(int i)
Defined in drivers/mdev/mdev_mscb.h:138
init
override
void init() override
Make repeated or previously failed initialization start from clean state.
Declared in drivers/mdev/mdev_mscb.h:143, defined in drivers/mdev/mdev_mscb.cxx:105
loop
override
void loop() override
read input values once per second
Declared in drivers/mdev/mdev_mscb.h:145, defined in drivers/mdev/mdev_mscb.cxx:246
mdev_mscb
mdev_mscb(std::string equipment_name)
Defined in drivers/mdev/mdev_mscb.h:126
odb_setup
override
void odb_setup() override
Declared in drivers/mdev/mdev_mscb.h:142, defined in drivers/mdev/mdev_mscb.cxx:17
read_event
override
int read_event(char *pevent, int off) override
Declared in drivers/mdev/mdev_mscb.h:146, defined in drivers/mdev/mdev_mscb.cxx:302
~mdev_mscb
override
~mdev_mscb() override
Defined in drivers/mdev/mdev_mscb.h:129
Revolution Pi driver
mdev_revpi
class mdev_revpi : public mdev
Defined in drivers/mdev/mdev_revpi.h:51
Methods
add_group
void add_group()
group handling
Defined in drivers/mdev/mdev_revpi.h:81
add_input
Note: this method has 2 different signatures.
add_input
void add_input(std::string var, std::string name, REVPI_IOTYPE ioType = RPI_WORD, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_revpi.h:90
add_input
void add_input(std::string var, std::string name, std::function<float(float)> f, REVPI_IOTYPE ioType = RPI_WORD, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_revpi.h:101
add_output
Note: this method has 2 different signatures.
add_output
void add_output(std::string var, std::string name, REVPI_IOTYPE ioType = RPI_WORD, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_revpi.h:113
add_output
void add_output(std::string var, std::string name, std::function<float(float)> f, REVPI_IOTYPE ioType = RPI_WORD, std::string unit = "", std::string format = "")
Defined in drivers/mdev/mdev_revpi.h:124
exit
override
void exit() override
Declared in drivers/mdev/mdev_revpi.h:76, defined in drivers/mdev/mdev_revpi.cxx:193
get_all
void get_all(int i)
Declared in drivers/mdev/mdev_revpi.h:71, defined in drivers/mdev/mdev_revpi.cxx:117
get_group
std::vector<bool> get_group()
Defined in drivers/mdev/mdev_revpi.h:86
init
override
void init() override
Declared in drivers/mdev/mdev_revpi.h:75, defined in drivers/mdev/mdev_revpi.cxx:120
loop
override
void loop() override
read input values once per second
Declared in drivers/mdev/mdev_revpi.h:77, defined in drivers/mdev/mdev_revpi.cxx:198
mdev_revpi
mdev_revpi(std::string equipment_name)
Defined in drivers/mdev/mdev_revpi.h:65
odb_setup
override
void odb_setup() override
MPDC settings in ODB
Declared in drivers/mdev/mdev_revpi.h:74, defined in drivers/mdev/mdev_revpi.cxx:62
read_event
override
int read_event(char *pevent, int off) override
Declared in drivers/mdev/mdev_revpi.h:78, defined in drivers/mdev/mdev_revpi.cxx:243
start_new_group
void start_new_group()
Defined in drivers/mdev/mdev_revpi.h:85
~mdev_revpi
~mdev_revpi()
Defined in drivers/mdev/mdev_revpi.h:69
REVPI_IOTYPE
enum REVPI_IOTYPE
| Enumerator | Value | Description |
|---|---|---|
RPI_ANALOG |
||
RPI_BOOL |
||
RPI_BYTE |
||
RPI_WORD |
Defined in drivers/mdev/mdev_revpi.h:27
TDK power supply driver
mdev_tdk
class mdev_tdk : public mdev
Defined in drivers/mdev/mdev_tdk.h:24
Type definitions
output_check_t
using output_check_t = std::function<bool(int, const std::string &, std::string &)>
Defined in drivers/mdev/mdev_tdk.h:51
Methods
exit
void exit()
Declared in drivers/mdev/mdev_tdk.h:56, defined in drivers/mdev/mdev_tdk.cxx:306
init
void init()
Declared in drivers/mdev/mdev_tdk.h:55, defined in drivers/mdev/mdev_tdk.cxx:101
loop
void loop()
Declared in drivers/mdev/mdev_tdk.h:57, defined in drivers/mdev/mdev_tdk.cxx:382
mdev_tdk
mdev_tdk(std::string equipment_name, const std::vector<TDK_DEVICE>& device)
Declared in drivers/mdev/mdev_tdk.h:46, defined in drivers/mdev/mdev_tdk.cxx:24
odb_setup
void odb_setup()
TDK settings in ODB
Declared in drivers/mdev/mdev_tdk.h:54, defined in drivers/mdev/mdev_tdk.cxx:34
read_event
int read_event(char *pevent, int off)
Declared in drivers/mdev/mdev_tdk.h:59, defined in drivers/mdev/mdev_tdk.cxx:397
set_output_off_check
void set_output_off_check(output_check_t f)
Defined in drivers/mdev/mdev_tdk.h:52
~mdev_tdk
~mdev_tdk()
Declared in drivers/mdev/mdev_tdk.h:47, defined in drivers/mdev/mdev_tdk.cxx:32
TDK_DEVICE
Defined in drivers/mdev/mdev_tdk.h:19
Attributes
hostname
std::string hostname
Defined in drivers/mdev/mdev_tdk.h:20
name
std::string name
Defined in drivers/mdev/mdev_tdk.h:21