Skip to content

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
EnumeratorValueDescription
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