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