ifw-slm 0.1.2
 
Loading...
Searching...
No Matches
slConfig.hpp File Reference

Secondary Loop configuration constants and helper functions. More...

#include <rad/config.hpp>
#include <sstream>
#include <string>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  ifw
 
namespace  ifw::slm
 
namespace  ifw::slm::detail
 

Enumerations

enum  ifw::slm::LoopState { ifw::slm::SL_OPEN = 1 , ifw::slm::SL_CLOSED = 2 , ifw::slm::SL_SUSPENDED = 3 }
 
enum  ifw::slm::SlIndex {
  ifw::slm::SL_1 = 1 , ifw::slm::SL_2 , ifw::slm::SL_3 , ifw::slm::SL_4 ,
  ifw::slm::SL_5 , ifw::slm::SL_6 , ifw::slm::SL_7 , ifw::slm::SL_8 ,
  ifw::slm::SL_9
}
 

Functions

std::string ifw::slm::GetLoopConfigKey (int loop_index, const std::string &param_name)
 
std::string ifw::slm::GetLoopOldbKey (const std::string &prefix, int loop_index, const std::string &param_name)
 
int ifw::slm::GetNumSecondaryLoops (const rad::Config &config)
 
std::vector< int > ifw::slm::GetEnabledLoopIndices (const rad::Config &config)
 
std::string ifw::slm::GetLoopParam (const rad::Config &config, int loop_index, const std::string &param_name)
 
bool ifw::slm::IsLoopEnabled (const rad::Config &config, int loop_index)
 
void ifw::slm::DecomposeStatus (const std::string &sm_status, std::string &state, std::string &substate)
 
std::string ifw::slm::ToSupervisorSubstate (const std::string &substate)
 
std::string ifw::slm::FormatSupervisorStatus (const std::string &sm_status)
 
bool ifw::slm::TryGetLoopVectorParam (const rad::Config &config, int loop_index, const std::string &param_name, std::string &out)
 
template<typename T>
ifw::slm::detail::ConvertLoopParamValue (const std::string &s)
 
template<typename T>
ifw::slm::GetLoopParamFromConfig (const rad::Config &config, int loop_index, const std::string &name)
 
template<typename T>
ifw::slm::GetLoopParamFromConfig (const rad::Config &config, int loop_index, const std::string &name, const T &default_value)
 As above, returning default_value when the parameter is absent.
 
void ifw::slm::LoadLoopParamsIntoConfig (rad::Config &config, const std::string &config_filename="")
 

Variables

const int ifw::slm::SL_MAX_NUM = 9
 
const std::string ifw::slm::SL_DB_NUM_IN_USE = "config/SL_inUse"
 
const std::string ifw::slm::SL_KEY_LOOP_NUM = "sl/loop_num"
 
const std::string ifw::slm::SL_KEY_LOOP_PREFIX = "sl/loop/"
 
const std::string ifw::slm::SL_KEY_ACTIVE = "active"
 
const std::string ifw::slm::SL_KEY_STATE = "state"
 
const std::string ifw::slm::SL_KEY_CYCLE_COUNTER = "cycle_counter"
 
const std::string ifw::slm::SL_KEY_CYCLE_LAST_SUCCESS = "cycle_last_success"
 
const std::string ifw::slm::SL_KEY_CYCLE_LAST = "cycle_last"
 
const std::string ifw::slm::SL_KEY_CYCLE_START = "cycle_start"
 
const std::string ifw::slm::SL_KEY_CYCLE_FAILURE = "cycle_failure"
 
const std::string ifw::slm::SL_KEY_CYCLE_NERRORS = "cycle_nerrors"
 
const std::string ifw::slm::SL_KEY_CYCLE_NSUCCESS = "cycle_nsuccess"
 
const std::string ifw::slm::SL_KEY_CYCLE_VALUE = "cycle_value"
 
const std::string ifw::slm::SL_KEY_CYCLE_LAST_ERROR = "cycle_last_error"
 
const std::string ifw::slm::SL_KEY_TIMER_PERIOD_SEC = "timer_period_sec"
 

Detailed Description

Secondary Loop configuration constants and helper functions.

Author