mcx::parameter_server

mcx::parameter_server

Classes

Name
class mcx::parameter_server::FileSerialization
class mcx::parameter_server::FileSerializationJson
struct mcx::parameter_server::RequestQueueData
class mcx::parameter_server::CustomXMLPrinter
class mcx::parameter_server::UpdateItr
class mcx::parameter_server::SaveItr
class mcx::parameter_server::FileSerializationXml
struct mcx::parameter_server::Link
struct mcx::parameter_server::LinkGroup
class mcx::parameter_server::Linking
struct mcx::parameter_server::SetParam
struct mcx::parameter_server::Action
class mcx::parameter_server::ActionBuffer
struct mcx::parameter_server::OffsetData
struct mcx::parameter_server::ConversionData
class mcx::parameter_server::DataContainer
class mcx::parameter_server::DFIterator
class mcx::parameter_server::Handle
class mcx::parameter_server::ParamHandle
class mcx::parameter_server::GroupHandle
class mcx::parameter_server::ReqHandle
class mcx::parameter_server::SubHandle
class mcx::parameter_server::PubHandle
class mcx::parameter_server::LinkHandle
class mcx::parameter_server::OverwriteHandle
class mcx::parameter_server::InputBuffer
struct mcx::parameter_server::DataTypeInfo
class mcx::parameter_server::ParameterInfo
class mcx::parameter_server::Iterator
class mcx::parameter_server::OutputBuffer
class mcx::parameter_server::ParameterBase
struct mcx::parameter_server::LinkData
class mcx::parameter_server::Parameter
class mcx::parameter_server::ParameterPath
class mcx::parameter_server::PersistenceItr
class mcx::parameter_server::Persistence

Types

Name
enum ActionType { NONE = 0, START_PUBLISH, STOP_PUBLISH, PUBLISH_ONCE, NEW_VALUE, OVERWRITE_OUTPUT, OVERWRITE_INPUT, ACTIVATE_OVERWRITE_OUTPUT, ACTIVATE_OVERWRITE_INPUT, DEACTIVATE_OVERWRITE, ACTIVATE_LINK, DEACTIVATE_LINK}
enum class ParameterType { UNDEFINED = motorcortex_ParameterType::motorcortex_ParameterType_param_type_undefined, INPUT = motorcortex_ParameterType::motorcortex_ParameterType_INPUT, OUTPUT = motorcortex_ParameterType::motorcortex_ParameterType_OUTPUT, PARAMETER = motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER, PARAMETER_VOLATILE = motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER_VOLATILE, PARAMETER_PERSISTENT = motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER_PERSISTENT}
enum class ParameterFlag { LINK_IS_ACTIVE = motorcortex_ParameterFlag::motorcortex_ParameterFlag_LINK_IS_ACTIVE, OVERWRITE_IS_ACTIVE = motorcortex_ParameterFlag::motorcortex_ParameterFlag_OVERWRITE_IS_ACTIVE}
enum class Unit { undefined = motorcortex_Unit::motorcortex_Unit_unit_undefined, mm = motorcortex_Unit::motorcortex_Unit_mm, m = motorcortex_Unit::motorcortex_Unit_m, rad = motorcortex_Unit::motorcortex_Unit_rad, deg = motorcortex_Unit::motorcortex_Unit_deg, nanosec = motorcortex_Unit::motorcortex_Unit_nanosec, microsec = motorcortex_Unit::motorcortex_Unit_microsec, millisec = motorcortex_Unit::motorcortex_Unit_millisec, sec = motorcortex_Unit::motorcortex_Unit_sec, gram = motorcortex_Unit::motorcortex_Unit_gram, kg = motorcortex_Unit::motorcortex_Unit_kg, m_sec = motorcortex_Unit::motorcortex_Unit_m_sec, rad_sec = motorcortex_Unit::motorcortex_Unit_rad_sec, m_sec2 = motorcortex_Unit::motorcortex_Unit_m_sec2, rad_sec2 = motorcortex_Unit::motorcortex_Unit_rad_sec2, N = motorcortex_Unit::motorcortex_Unit_N, Nm = motorcortex_Unit::motorcortex_Unit_Nm, percent = motorcortex_Unit::motorcortex_Unit_percent}
enum class DataType { undefined = motorcortex_DataType::motorcortex_DataType_data_type_undefined, INT8 = motorcortex_DataType::motorcortex_DataType_INT8, UINT8 = motorcortex_DataType::motorcortex_DataType_UINT8, INT16 = motorcortex_DataType::motorcortex_DataType_INT16, UINT16 = motorcortex_DataType::motorcortex_DataType_UINT16, INT32 = motorcortex_DataType::motorcortex_DataType_INT32, UINT32 = motorcortex_DataType::motorcortex_DataType_UINT32, INT64 = motorcortex_DataType::motorcortex_DataType_INT64, UINT64 = motorcortex_DataType::motorcortex_DataType_UINT64, BOOL = motorcortex_DataType::motorcortex_DataType_BOOL, FLOAT = motorcortex_DataType::motorcortex_DataType_FLOAT, DOUBLE = motorcortex_DataType::motorcortex_DataType_DOUBLE, CHAR = motorcortex_DataType::motorcortex_DataType_CHAR, STRING = motorcortex_DataType::motorcortex_DataType_STRING, BYTES = motorcortex_DataType::motorcortex_DataType_BYTES, USER_TYPE = motorcortex_DataType::motorcortex_DataType_USER_TYPE}
enum class UserGroup { undefined = motorcortex_UserGroup::motorcortex_UserGroup_user_group_undefined, GUEST = motorcortex_UserGroup::motorcortex_UserGroup_GUEST, OPERATOR = motorcortex_UserGroup::motorcortex_UserGroup_OPERATOR, ADMINISTRATOR = motorcortex_UserGroup::motorcortex_UserGroup_ADMINISTRATOR, SYSTEM = motorcortex_UserGroup::motorcortex_UserGroup_SYSTEM}
enum class Permission { undefined = motorcortex_Permission::motorcortex_Permission_permission_undefined, U_R = motorcortex_Permission_USER_READ, U_W = motorcortex_Permission_USER_WRITE, U_E = motorcortex_Permission_USER_EXECUTE, U_RWE = Permission::U_W + Permission::U_R + Permission::U_E, G_R = motorcortex_Permission_GROUP_READ, G_W = motorcortex_Permission_GROUP_WRITE, G_E = motorcortex_Permission_GROUP_EXECUTE, G_RWE = Permission::G_W + Permission::G_R + Permission::G_E, UG_RWE = Permission::U_RWE + Permission::G_RWE, O_R = motorcortex_Permission_OTHERS_READ, O_W = motorcortex_Permission_OTHERS_WRITE, O_E = motorcortex_Permission_OTHERS_EXECUTE, O_RWE = Permission::O_R + Permission::O_W + Permission::O_E}
typedef std::list< RequestQueueData > RequestQueue
using typename std::vector< LinkGroup > LinkGroups
using std::map< std::string, Parameter *, std::less<> > param_map_t
using std::vector< Parameter * > param_vector_t
using std::vector< LinkData > link_vector_t
using OutputBuffer OverwriteBuffer

Functions

Name
std::unique_ptr< FileSerialization > selectSerialization(const std::string & file_name)
bool load(const std::string & file_name, Parameter * root, bool is_relative)
bool load(const std::string & file_name, Parameter * root, cmd_line::SystemMode system_mode, bool is_relative)
bool save(const std::string & file_name, Parameter * root, size_t max_number_of_trials, size_t delay_us, bool force_update)
bool link(const std::string & file_name, Parameter * root, cmd_line::SystemMode system_mode)
bool setParameter(const std::string & path, const SetParam & set_param, Parameter * root)
std::string readValue(const nlohmann::json & json)
template <typename SRC_TYPE ,typename DST_TYPE >
void
convertClbBool(uint8_t * dst, const uint8_t * src, uint32_t size, const ConversionData & conversion)
template <typename SRC_TYPE ,typename DST_TYPE >
void
convertClampClb(uint8_t * dst, const uint8_t * src, uint32_t size, const ConversionData & conversion)
template <typename SRC_TYPE ,typename DST_TYPE >
void
convertClb(uint8_t * dst, const uint8_t * src, uint32_t size, const ConversionData & conversion)
template <typename SRC_TYPE ,typename DST_TYPE >
ConversionData::CoversionClb
selectClamped(bool clamp)
template <typename SRC_TYPE >
bool
selectDst(DataType dst_type, bool clamp, ConversionData::CoversionClb * clb)
bool selectConversionHelper(DataType src_type, DataType dst_type, bool clamp, ConversionData::CoversionClb * clb)
size_t removeSurroundingSlash(char * dest, const char * source, size_t source_len)
size_t rfindSingleSlash(const char * source, size_t length)
size_t lfindSingleSlash(const char * source, size_t length)
size_t normalizePath(char * normalized_path, size_t max_length, const char * base_path, const char * relative_path)

Attributes

Name
constexpr auto MAX_BUFFER_SIZE
constexpr const char * PATH
constexpr const char * PARAM
constexpr const char * PARAMLIST
constexpr size_t MAX_ACTION_BUFFER_LENGTH
constexpr size_t DEFAULT_INPUT_BUFFER_LENGTH
constexpr size_t MAX_PATH_LENGTH
constexpr size_t MAX_NAME_LENGTH
constexpr uint32_t OVERWRITE_IS_ACTIVE
constexpr uint32_t LINK_IS_ACTIVE
constexpr UserGroup default_group
constexpr uint32_t read_permissions
constexpr uint32_t write_permissions
constexpr uint32_t execute_permissions
constexpr uint32_t default_permissions

Types Documentation

enum ActionType

Enumerator Value Description
NONE 0
START_PUBLISH
STOP_PUBLISH
PUBLISH_ONCE
NEW_VALUE
OVERWRITE_OUTPUT
OVERWRITE_INPUT
ACTIVATE_OVERWRITE_OUTPUT
ACTIVATE_OVERWRITE_INPUT
DEACTIVATE_OVERWRITE
ACTIVATE_LINK
DEACTIVATE_LINK

enum ParameterType

Enumerator Value Description
UNDEFINED motorcortex_ParameterType::motorcortex_ParameterType_param_type_undefined
INPUT motorcortex_ParameterType::motorcortex_ParameterType_INPUT
OUTPUT motorcortex_ParameterType::motorcortex_ParameterType_OUTPUT
PARAMETER motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER
PARAMETER_VOLATILE motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER_VOLATILE
PARAMETER_PERSISTENT motorcortex_ParameterType::motorcortex_ParameterType_PARAMETER_PERSISTENT

enum ParameterFlag

Enumerator Value Description
LINK_IS_ACTIVE motorcortex_ParameterFlag::motorcortex_ParameterFlag_LINK_IS_ACTIVE
OVERWRITE_IS_ACTIVE motorcortex_ParameterFlag::motorcortex_ParameterFlag_OVERWRITE_IS_ACTIVE

enum Unit

Enumerator Value Description
undefined motorcortex_Unit::motorcortex_Unit_unit_undefined
mm motorcortex_Unit::motorcortex_Unit_mm
m motorcortex_Unit::motorcortex_Unit_m
rad motorcortex_Unit::motorcortex_Unit_rad
deg motorcortex_Unit::motorcortex_Unit_deg
nanosec motorcortex_Unit::motorcortex_Unit_nanosec
microsec motorcortex_Unit::motorcortex_Unit_microsec
millisec motorcortex_Unit::motorcortex_Unit_millisec
sec motorcortex_Unit::motorcortex_Unit_sec
gram motorcortex_Unit::motorcortex_Unit_gram
kg motorcortex_Unit::motorcortex_Unit_kg
m_sec motorcortex_Unit::motorcortex_Unit_m_sec
rad_sec motorcortex_Unit::motorcortex_Unit_rad_sec
m_sec2 motorcortex_Unit::motorcortex_Unit_m_sec2
rad_sec2 motorcortex_Unit::motorcortex_Unit_rad_sec2
N motorcortex_Unit::motorcortex_Unit_N
Nm motorcortex_Unit::motorcortex_Unit_Nm
percent motorcortex_Unit::motorcortex_Unit_percent

enum DataType

Enumerator Value Description
undefined motorcortex_DataType::motorcortex_DataType_data_type_undefined
INT8 motorcortex_DataType::motorcortex_DataType_INT8
UINT8 motorcortex_DataType::motorcortex_DataType_UINT8
INT16 motorcortex_DataType::motorcortex_DataType_INT16
UINT16 motorcortex_DataType::motorcortex_DataType_UINT16
INT32 motorcortex_DataType::motorcortex_DataType_INT32
UINT32 motorcortex_DataType::motorcortex_DataType_UINT32
INT64 motorcortex_DataType::motorcortex_DataType_INT64
UINT64 motorcortex_DataType::motorcortex_DataType_UINT64
BOOL motorcortex_DataType::motorcortex_DataType_BOOL
FLOAT motorcortex_DataType::motorcortex_DataType_FLOAT
DOUBLE motorcortex_DataType::motorcortex_DataType_DOUBLE
CHAR motorcortex_DataType::motorcortex_DataType_CHAR
STRING motorcortex_DataType::motorcortex_DataType_STRING
BYTES motorcortex_DataType::motorcortex_DataType_BYTES
USER_TYPE motorcortex_DataType::motorcortex_DataType_USER_TYPE

enum UserGroup

Enumerator Value Description
undefined motorcortex_UserGroup::motorcortex_UserGroup_user_group_undefined
GUEST motorcortex_UserGroup::motorcortex_UserGroup_GUEST
OPERATOR motorcortex_UserGroup::motorcortex_UserGroup_OPERATOR
ADMINISTRATOR motorcortex_UserGroup::motorcortex_UserGroup_ADMINISTRATOR
SYSTEM motorcortex_UserGroup::motorcortex_UserGroup_SYSTEM

enum Permission

Enumerator Value Description
undefined motorcortex_Permission::motorcortex_Permission_permission_undefined
U_R motorcortex_Permission_USER_READ
U_W motorcortex_Permission_USER_WRITE
U_E motorcortex_Permission_USER_EXECUTE
U_RWE Permission::U_W + Permission::U_R + Permission::U_E
G_R motorcortex_Permission_GROUP_READ
G_W motorcortex_Permission_GROUP_WRITE
G_E motorcortex_Permission_GROUP_EXECUTE
G_RWE Permission::G_W + Permission::G_R + Permission::G_E
UG_RWE Permission::U_RWE + Permission::G_RWE
O_R motorcortex_Permission_OTHERS_READ
O_W motorcortex_Permission_OTHERS_WRITE
O_E motorcortex_Permission_OTHERS_EXECUTE
O_RWE Permission::O_R + Permission::O_W + Permission::O_E

typedef RequestQueue

typedef std::list<RequestQueueData> mcx::parameter_server::RequestQueue;

using LinkGroups

using mcx::parameter_server::LinkGroups = typedef typename std::vector<LinkGroup>;

using param_map_t

using mcx::parameter_server::param_map_t = typedef std::map<std::string, Parameter*, std::less<> >;

using param_vector_t

using mcx::parameter_server::param_vector_t = typedef std::vector<Parameter*>;
using mcx::parameter_server::link_vector_t = typedef std::vector<LinkData>;

using OverwriteBuffer

using mcx::parameter_server::OverwriteBuffer = typedef OutputBuffer;

Functions Documentation

function selectSerialization

std::unique_ptr< FileSerialization > selectSerialization(
    const std::string & file_name
)

function load

bool load(
    const std::string & file_name,
    Parameter * root,
    bool is_relative
)

function load

bool load(
    const std::string & file_name,
    Parameter * root,
    cmd_line::SystemMode system_mode,
    bool is_relative
)

function save

bool save(
    const std::string & file_name,
    Parameter * root,
    size_t max_number_of_trials,
    size_t delay_us,
    bool force_update
)
bool link(
    const std::string & file_name,
    Parameter * root,
    cmd_line::SystemMode system_mode
)

function setParameter

bool setParameter(
    const std::string & path,
    const SetParam & set_param,
    Parameter * root
)

function readValue

std::string readValue(
    const nlohmann::json & json
)

function convertClbBool

template <typename SRC_TYPE ,
typename DST_TYPE >
void convertClbBool(
    uint8_t * dst,
    const uint8_t * src,
    uint32_t size,
    const ConversionData & conversion
)

function convertClampClb

template <typename SRC_TYPE ,
typename DST_TYPE >
void convertClampClb(
    uint8_t * dst,
    const uint8_t * src,
    uint32_t size,
    const ConversionData & conversion
)

function convertClb

template <typename SRC_TYPE ,
typename DST_TYPE >
void convertClb(
    uint8_t * dst,
    const uint8_t * src,
    uint32_t size,
    const ConversionData & conversion
)

function selectClamped

template <typename SRC_TYPE ,
typename DST_TYPE >
ConversionData::CoversionClb selectClamped(
    bool clamp
)

function selectDst

template <typename SRC_TYPE >
bool selectDst(
    DataType dst_type,
    bool clamp,
    ConversionData::CoversionClb * clb
)

function selectConversionHelper

bool selectConversionHelper(
    DataType src_type,
    DataType dst_type,
    bool clamp,
    ConversionData::CoversionClb * clb
)

function removeSurroundingSlash

size_t removeSurroundingSlash(
    char * dest,
    const char * source,
    size_t source_len
)

function rfindSingleSlash

size_t rfindSingleSlash(
    const char * source,
    size_t length
)

function lfindSingleSlash

size_t lfindSingleSlash(
    const char * source,
    size_t length
)

function normalizePath

size_t normalizePath(
    char * normalized_path,
    size_t max_length,
    const char * base_path,
    const char * relative_path
)

Attributes Documentation

variable MAX_BUFFER_SIZE

constexpr auto MAX_BUFFER_SIZE = 1024u;

variable PATH

constexpr const char * PATH {"Path"};

variable PARAM

constexpr const char * PARAM {"Param"};

variable PARAMLIST

constexpr const char * PARAMLIST {"ParamList"};

variable MAX_ACTION_BUFFER_LENGTH

static constexpr size_t MAX_ACTION_BUFFER_LENGTH {1024};

variable DEFAULT_INPUT_BUFFER_LENGTH

static constexpr size_t DEFAULT_INPUT_BUFFER_LENGTH {4};

variable MAX_PATH_LENGTH

static constexpr size_t MAX_PATH_LENGTH {sizeof(motorcortex_ParameterInfo::path) - 1};

variable MAX_NAME_LENGTH

static constexpr size_t MAX_NAME_LENGTH {128};

variable OVERWRITE_IS_ACTIVE

constexpr uint32_t OVERWRITE_IS_ACTIVE = static_cast<uint32_t>(ParameterFlag::OVERWRITE_IS_ACTIVE);
constexpr uint32_t LINK_IS_ACTIVE = static_cast<uint32_t>(ParameterFlag::LINK_IS_ACTIVE);

variable default_group

constexpr UserGroup default_group = UserGroup::undefined;

variable read_permissions

constexpr uint32_t read_permissions = static_cast<uint32_t>(Permission::U_R) + static_cast<uint32_t>(Permission::G_R) +
                                      static_cast<uint32_t>(Permission::O_R);

variable write_permissions

constexpr uint32_t write_permissions = static_cast<uint32_t>(Permission::U_W) + static_cast<uint32_t>(Permission::G_W) +
                                       static_cast<uint32_t>(Permission::O_W);

variable execute_permissions

constexpr uint32_t execute_permissions = static_cast<uint32_t>(Permission::U_E) +
                                         static_cast<uint32_t>(Permission::G_E) +
                                         static_cast<uint32_t>(Permission::O_E);

variable default_permissions

constexpr uint32_t default_permissions = motorcortex_Permission::motorcortex_Permission_permission_undefined;

Updated on 2022-04-05 at 16:21:27 +0200