Class Modulator

Nested Relationships

Nested Types

Class Documentation

class Modulator

calib modulator class

This class contains the interface to the lamp modulator.

Public Functions

inline Modulator()

no default constructor

long configure_host(std::string input)

configure lamp modulator host

long configure_mod(std::string input)

configure lamp modulators

long open_arduino()
long close_arduino()
long reopen_arduino()
long send_command(std::string cmd)

writes commands to Arduino

long send_command(std::string cmd, std::string &reply)

writes commands to, reads reply from Arduino

long control(std::string args, std::string &retstring)

lamp modulator control main parser

long control(int num, std::string &status)

lamp modulator control return status

long control(int num, int power)

lamp modulator control set power

long control(int num, double dut, double per)

lamp modulator control set D and T

long set_defaults()

set all modulators as defined in config file

long mod(int num, double dut, double per)

send command to change duty cycle and period

long power(int num, int pow)

send command to set power state

long status(int num, double &dut, double &per, int &pow)

send command to read all status

Public Members

std::unique_ptr<Network::Interface> arduino

communcate with Arduino through this interface

std::map<std::string, mod_info_t> modmap_name

map of modulator info indexed by modulator name

std::map<int, std::string> modmap_num

map of modulator names indexed by number

std::vector<int> mod_nums

vector of configured modulator numbers

struct mod_info_t

Public Members

int num

modulator number

double dut

duty cycle

double per

period