Instrument Control Lib
Framework to control Oscilloscopes, SMUs, Function Generators and DC Powersupplies via Ethernet.
SPD1305 Class Reference

#include <SPD1305.h>

Inheritance diagram for SPD1305:
Inheritance graph
Collaboration diagram for SPD1305:
Collaboration graph

Public Member Functions

 SPD1305 (const char *ip, int timeoutInMS)
 
 SPD1305 (const char *ip, PIL::Logging *logger, int timeoutInMs)
 
PIL_ERROR_CODE turnOn (DC_CHANNEL channel) override
 
PIL_ERROR_CODE turnOff (DC_CHANNEL channel) override
 
PIL_ERROR_CODE setCurrent (DC_CHANNEL channel, double current) override
 
PIL_ERROR_CODE getCurrent (DC_CHANNEL channel, double *current) override
 
- Public Member Functions inherited from DCPowerSupply
 DCPowerSupply (const char *ip, int timeoutInMs, PIL::Logging *logger)
 
- Public Member Functions inherited from Device
 Device (std::string ipAddress, int timeoutInMs, SEND_METHOD mode=DIRECT_SEND, bool throwException=true)
 Constructor for the Device without passing a logging object. More...
 
 Device (std::string ipAddress, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND, bool throwException=true)
 Constructor of Device generates a socket handle without connecting to it. More...
 
 Device (std::string ipAddress, uint16_t srcPort, uint16_t destPort, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND, bool throwException=true)
 Base class containing the base functionality of all devices. And parameters to store the name connection type, etc. More...
 
 ~Device ()
 
PIL_ERROR_CODE Connect ()
 Establish a connection to the device. More...
 
PIL_ERROR_CODE Disconnect ()
 Disconnect from the device. More...
 
bool isOpen () const
 Checks if the connection to the device is established. More...
 
bool isBuffered () const
 Checks if the commands sent to the device get buffered. More...
 
std::string getDeviceIdentifier ()
 Gets the name of the currently connected device. More...
 
PIL_ERROR_CODE Exec (const std::string &command, ExecArgs *args=nullptr, char *result=nullptr, bool br=true, int size=1024)
 execute a (SCPI) command More...
 
PIL_ERROR_CODE Exec (const std::string &command, ExecArgs *args, std::string *result, bool br)
 
PIL_ERROR_CODE ExecCommands (std::string &commands)
 
std::string ReturnErrorMessage ()
 
std::string getBufferedScript ()
 Transforms the current buffered script into a string and returns it. More...
 
void changeSendMode (SEND_METHOD mode)
 Changes the send mode of this device, i.e. whether the commands get buffered or sent directly to the device. More...
 
PIL_ERROR_CODE delay (double delayTime)
 Stops the execution for the specified amount of time in seconds. If buffering is enabled, the delay is included in the buffered script. Otherwise this thread sleeps for the given time. More...
 

Additional Inherited Members

- Public Types inherited from DCPowerSupply
enum  DC_CHANNEL { CHANNEL_1 = 1 , CHANNEL_2 = 2 }
 
- Public Types inherited from Device
enum  SEND_METHOD { DIRECT_SEND = 0 , BUFFER_ENABLED = 1 }
 
- Protected Member Functions inherited from Device
PIL_ERROR_CODE handleErrorsAndLogging (PIL_ERROR_CODE errorCode, bool throwException, PIL::Level logLevel, const std::string &fileName, int line, std::string formatStr,...)
 Handle logging messages, logs it based on the previously passed logging object. If exceptions are enabled throw an exception otherwise return the error code. More...
 
- Static Protected Member Functions inherited from Device
static bool errorOccured (PIL_ERROR_CODE errorCode)
 Checks if a error occured given the error code. More...
 
static PIL_ERROR_CODE postRequest (const std::string &url, std::string &payload)
 Sends a post request to the given url with the given payload. More...
 
static std::string vectorToStringNL (std::vector< std::string > vector)
 Transforms the given vector into a string. Each vector entry will be a line in the resulting string. More...
 
static std::string replaceAllSubstrings (std::string str, const std::string &from, const std::string &to)
 Replaces all substrings in the string with the given replacement string. More...
 
static std::vector< std::string > splitString (const std::string &toSplit, const std::string &delimiter)
 Splits a string by the given delimiter. More...
 
- Protected Attributes inherited from Device
std::string m_IPAddr
 
PIL_ErrorHandle m_ErrorHandle
 
std::string m_DeviceName {}
 
PIL::Socket * m_SocketHandle
 
PIL::Logging * m_Logger
 
int m_destPort = 5025
 
int m_srcPort = 5025
 
bool m_EnableExceptions
 
SEND_METHOD m_SendMode
 
std::vector< std::string > m_BufferedScript
 

Constructor & Destructor Documentation

◆ SPD1305() [1/2]

SPD1305::SPD1305 ( const char *  ip,
int  timeoutInMS 
)
explicit

◆ SPD1305() [2/2]

SPD1305::SPD1305 ( const char *  ip,
PIL::Logging *  logger,
int  timeoutInMs 
)
explicit

Member Function Documentation

◆ getCurrent()

PIL_ERROR_CODE SPD1305::getCurrent ( DC_CHANNEL  channel,
double *  current 
)
overridevirtual

Implements DCPowerSupply.

Here is the call graph for this function:

◆ setCurrent()

PIL_ERROR_CODE SPD1305::setCurrent ( DC_CHANNEL  channel,
double  current 
)
overridevirtual

Implements DCPowerSupply.

Here is the call graph for this function:

◆ turnOff()

PIL_ERROR_CODE SPD1305::turnOff ( DC_CHANNEL  channel)
overridevirtual

Implements DCPowerSupply.

Here is the call graph for this function:

◆ turnOn()

PIL_ERROR_CODE SPD1305::turnOn ( DC_CHANNEL  channel)
overridevirtual

Implements DCPowerSupply.

Here is the call graph for this function:

The documentation for this class was generated from the following files: