TReK C++  5.3.3
Telemetry/Command API
trek::CalibratorSwitchSet Class Reference

This class switches calibrator sets. More...

#include <calibrator_switch_set.h>

Inherits trek::SwitchSet.

Public Member Functions

int32_t AddCalibrator (Calibrator *input)
 Adds a calibrator. More...
 
int32_t AddCalibrator (Calibrator &input)
 Adds a calibrator. More...
 
int32_t DeleteCalibrator (const char *name)
 Deletes the specified calibrator. More...
 
void DeleteAllCalibrators ()
 Deletes all of the calibrators. More...
 
CalibratorGetCalibrator (const char *name)
 Returns the calibrator with the specified name. More...
 
int32_t Calibrate (double input_value, double &output_value)
 Calibrates the input value. More...
 
Constructors, Destructor, and Other Basic Methods
 CalibratorSwitchSet ()
 Default constructor of the class.
 
 CalibratorSwitchSet (CalibratorSwitchSet &input)
 Copy constructor of the class.
 
virtual ~CalibratorSwitchSet ()
 Class destructor. More...
 
virtual SwitchSetClone ()
 Creates and returns an extact copy of the object.
 
void operator= (CalibratorSwitchSet &right_side)
 Provides the equal operator.
 
Serialization Methods

These methods help read and write the class to disk or memory. Most users will not be interested in these. Those that are can continue reading.

int32_t LoadFile (const char *filename)
 Loads the Packet definition from the specified file. More...
 
int32_t SaveFile (const char *filename)
 Saves the Packet definition to the specified file. More...
 
virtual int32_t ToXml (XmlElement &element)
 
virtual int32_t FromXml (XmlElement &element)
 
- Public Member Functions inherited from trek::SwitchSet
int32_t SetDefaultSetName (const char *name)
 Sets the default set name. More...
 
const char * GetDefaultSetName ()
 Gets the default set name. More...
 
int32_t SetSwitchParameterName (const char *name)
 Sets the name of the parameter to use as a switch. More...
 
const char * GetSwitchParameterName ()
 Gets the parameter name for the switch. More...
 
void SetSwitchType (switch_type input)
 Sets the type of switch to use. More...
 
switch_type GetSwitchType ()
 Returns the current switch type. More...
 
int32_t SetSwitchParameter (Parameter *input_ptr)
 Sets the parameter to use for switching. More...
 
int32_t AddRangeSwitch (double low, double high, const char *name)
 Adds a range switch. More...
 
int32_t AddEnumerationSwitch (const char *enum_name, const char *name)
 Adds an enumeration switch. More...
 
int32_t DeleteRangeSwitch (double low)
 Deletes the specified range switch. More...
 
int32_t DeleteEnumerationSwitch (const char *enum_name)
 Deletes the specified enumeration switch. More...
 
int32_t GetRangeSwitches (double **input, uint32_t &array_size)
 Gets the low value for each range switch. More...
 
void GetEnumerationSwitches (StringArray &input)
 Gets the enumeration values for the switch. More...
 
int32_t GetRangeSwitchInfo (double low, double &high, char **name)
 Gets the high value and name for a range switch based on its low value. More...
 
int32_t GetEnumerationInfo (const char *enum_name, char **name)
 Gets the name for a switch based on its enumerated value. More...
 
int32_t Validate ()
 Determines if it is safe to use the switch set. More...
 
const char * GetValidationErrors ()
 Gets a string of the last validation errors. More...
 
uint32_t GetEnumerationInfoLength (const char *enum_name)
 Gets the length for returned info of input parameter. Does not include space for the NULL termination character. More...
 
int32_t GetEnumerationInfo (const char *enum_name, char *name, uint16_t &name_size)
 Gets the name for a switch based on its enumerated value. More...
 
uint32_t GetRangeSwitchInfoLength (double low)
 Gets the length for returned info of input parameter. Does not include space for the NULL termination character. More...
 
int32_t GetRangeSwitchInfo (double low, double &high, char *name, uint16_t &name_size)
 Gets the high value and name for a range switch based on its low value. More...
 
uint32_t GetNumberOfRangeSwitches ()
 Returns the number of range switches available. More...
 
int32_t GetRangeSwitches (double *low_values, uint32_t low_value_size)
 Gets the low value for each range switch. More...
 
void GetItemNames (StringArray &input)
 Retrieves an array of the (e.g., calibrator) names from the set. More...
 
 SwitchSet ()
 Default constructor of the class.
 
 SwitchSet (SwitchSet &input)
 Copy constructor of the class.
 
virtual ~SwitchSet ()
 Class destructor. More...
 
void operator= (SwitchSet &right_side)
 Provides the equal operator.
 
virtual void Init ()
 Initializes the object.
 
- Public Member Functions inherited from trek::NamedItem
void SetName (const char *input_ptr)
 Sets the name of the item. More...
 
void SetAlias (const char *input)
 Sets the alias of the item. More...
 
void SetShortDescription (const char *input_ptr)
 Sets the short description of the item. More...
 
void SetLongDescription (const char *input_ptr)
 Sets the long description of the item. More...
 
void SetUserDescription (const char *input_ptr)
 Sets the user description of the item. More...
 
void SetOwner (const char *input_ptr)
 Sets the owner of the item. More...
 
const char * GetName ()
 Returns the name of the item.
 
const char * GetAlias ()
 Returns the alias of the item.
 
const char * GetShortDescription ()
 Returns the short description of the item.
 
const char * GetLongDescription ()
 Returns the long description of the item.
 
const char * GetUserDescription ()
 Returns the user description of the item.
 
const char * GetOwner ()
 Returns the owner of the item.
 
 NamedItem ()
 Default constructor of the class.
 
 NamedItem (NamedItem &input)
 Copy constructor of the class.
 
virtual ~NamedItem ()
 Class destructor. More...
 
void operator= (NamedItem &right_side)
 Provides the equal operator.
 
bool operator== (NamedItem &right_side)
 Provides the == operator.
 

Detailed Description

This class switches calibrator sets.

The details of switching are defined in SwitchSet. This class limits the type of information that is in the set and provides the serialization of the data.

Constructor & Destructor Documentation

◆ ~CalibratorSwitchSet()

trek::CalibratorSwitchSet::~CalibratorSwitchSet ( )
virtual

Class destructor.

Removes all resources created with this instance of the class.

Member Function Documentation

◆ AddCalibrator() [1/2]

int32_t trek::CalibratorSwitchSet::AddCalibrator ( Calibrator input)

Adds a calibrator.

Adds the calibrator that can be referenced by a switch. The name of the calibrator is used for the reference.

Parameters
[in]inputA copy is made for this class.
Returns
SUCCESS
TREK_DATA_NULL_PTR
TREK_DATA_ALREADY_EXISTS

Example:

pc.SetName( "whatever" );
pc.SetOrder(2);
pc.SetCoefficient( 2, 1 );
ret_value = css.AddCalibrator( pc );
This class switches calibrator sets.
Definition: calibrator_switch_set.h:20
int32_t AddCalibrator(Calibrator *input)
Adds a calibrator.
Definition: calibrator_switch_set.cpp:92
void SetName(const char *input_ptr)
Sets the name of the item.
Definition: named_item.cpp:114
This class calibrates a value using a polynomial equation.
Definition: polynomial_calibrator.h:17
int32_t SetCoefficient(uint16_t power, double input_value)
Sets the coefficient value for the specified term.
Definition: polynomial_calibrator.cpp:211
int32_t SetOrder(uint16_t input_value, bool keep_coefficients=false)
Sets the order for the polynomial calibrator.
Definition: polynomial_calibrator.cpp:121

◆ AddCalibrator() [2/2]

int32_t trek::CalibratorSwitchSet::AddCalibrator ( Calibrator input)

Adds a calibrator.

Adds the calibrator that can be referenced by a switch. The name of the calibrator is used for the reference.

Parameters
[in]inputA pointer to a valid calibrator. A copy is made for this class.
Returns
SUCCESS
TREK_DATA_NULL_PTR
TREK_DATA_ALREADY_EXISTS

Example:

pc.SetOrder(2);
pc.SetCoefficient( 2, 1 );
ret_value = css.AddCalibrator( &pc );

◆ Calibrate()

int32_t trek::CalibratorSwitchSet::Calibrate ( double  input_value,
double &  output_value 
)

Calibrates the input value.

Determines the correct calibrator to use based on the switching and calibrates the input value.

Parameters
[in]input_valueThe value to calibrate.
[out]output_valueThe calibrated value if return is SUCCESS.
Returns
SUCCESS
TREK_DATA_SWITCH_ERROR
other errors
Note
This method is typically only called by internal TReK code. Example:
double output_value;
int ret_value;
ret_value = css.Calibrate( 5.21, output_value );
if( ret_value == SUCCESS )
{
printf( "Calibrated value is %lf\n", output_value );
}
int32_t Calibrate(double input_value, double &output_value)
Calibrates the input value.
Definition: calibrator_switch_set.cpp:223
#define SUCCESS
The function completed successfully.
Definition: trek_error.h:8

◆ DeleteAllCalibrators()

void trek::CalibratorSwitchSet::DeleteAllCalibrators ( )

Deletes all of the calibrators.

Example:

pc.SetName( "whatever" );
pc.SetOrder(2);
pc.SetCofficient( 2, 1 );
ret_value = css.AddCalibrator( pc );
void DeleteAllCalibrators()
Deletes all of the calibrators.
Definition: calibrator_switch_set.cpp:168

◆ DeleteCalibrator()

int32_t trek::CalibratorSwitchSet::DeleteCalibrator ( const char *  name)

Deletes the specified calibrator.

Parameters
[in]nameThe name of the calibrator to delete.
Returns
SUCCESS
TREK_DATA_NULL_PTR
TREK_DATA_DOES_NOT_EXIST

Example:

pc.SetName( "whatever" );
pc.SetOrder(2);
pc.SetCoefficient( 2, 1 );
ret_value = css.AddCalibrator( pc );
ret_value = css.DeleteCalibrator( "whatever" );
int32_t DeleteCalibrator(const char *name)
Deletes the specified calibrator.
Definition: calibrator_switch_set.cpp:148

◆ GetCalibrator()

Calibrator * trek::CalibratorSwitchSet::GetCalibrator ( const char *  name)

Returns the calibrator with the specified name.

The returned copy is owned by the class. Don't go deleting it.

Parameters
[in]nameThe name of the calibrator to find.
Returns
A pointer to the calibrator if found and NULL otherwise.

Example:

Calibrator *cal_ptr;
cal_ptr = css.GetCalibrator( "whatever" );
if( cal_ptr )
{
// safe to use
}
This class is the abstraction for all numeric calibration.
Definition: calibrator.h:20
Calibrator * GetCalibrator(const char *name)
Returns the calibrator with the specified name.
Definition: calibrator_switch_set.cpp:193

◆ LoadFile()

int32_t trek::CalibratorSwitchSet::LoadFile ( const char *  filename)

Loads the Packet definition from the specified file.

Reads an XML format for the Packet. It can be written in with SaveFile.

Parameters
[in]filenameThe file to load the parameter object from.
Returns
SUCCESS
TREK_DATA_NULL_PTR
Other return codes

Example:

ret_value = css.LoadFile( "my_file.xml" );
int32_t LoadFile(const char *filename)
Loads the Packet definition from the specified file.
Definition: calibrator_switch_set.cpp:255

◆ SaveFile()

int32_t trek::CalibratorSwitchSet::SaveFile ( const char *  filename)

Saves the Packet definition to the specified file.

Writes an XML format for the Packet. It can be read in with LoadFile.

Parameters
[in]filenameThe file to save the parameter object to.
Returns
SUCCESS
TREK_DATA_NULL_PTR
Other return codes

Example:

ret_value = css.SaveFile( "my_file.xml" );
int32_t SaveFile(const char *filename)
Saves the Packet definition to the specified file.
Definition: calibrator_switch_set.cpp:289