15#include <yarp/os/Log.h>
16#include <yarp/os/LogStream.h>
17#include <yarp/os/LogComponent.h>
21 YARP_LOG_COMPONENT(FAKERAWVALUESPUBLISHER,
"iCub.debugLibrary.fakeRawvaluespublisher")
29 yCError(FAKERAWVALUESPUBLISHER) << txt <<
"has not yet been emplemented";
35 yCError(FAKERAWVALUESPUBLISHER) << txt <<
"has been deprecated";
39#undef DEBUG_RAW_VALUES_MACRO
45 m_sawtoothThreshold = 128;
46 m_sawthootTestVal = 0;
47 m_rawValuesVectorTag =
"rawJomoEncoderValues";
48 m_rawValuesAxesNames = {};
49 m_rawDataAuxVector = {};
50 m_rawValuesMetadataMap = {};
55 for (
auto it = m_rawValuesMetadataMap.begin(); it != m_rawValuesMetadataMap.end(); it++)
57 if(!getRawData_core(it->first, m_rawDataAuxVector))
59 yCError(FAKERAWVALUESPUBLISHER) <<
"getRawData_core() failed. Cannot retrieve all data from local memory";
62 map.insert({it->first, m_rawDataAuxVector});
67bool FakeRawValuesPublisher::getRawData_core(std::string key, std::vector<std::int32_t> &
data)
72 m_sawthootTestVal = (m_sawthootTestVal < m_sawtoothThreshold) ? (++m_sawthootTestVal) : 0;
73 for (uint8_t i = 0; i < m_rawValuesMetadataMap[key].size; i++)
75 data.push_back(m_sawthootTestVal);
82 if (m_rawValuesMetadataMap.find(key) != m_rawValuesMetadataMap.end())
84 getRawData_core(key,
data);
88 yCError(FAKERAWVALUESPUBLISHER) <<
"Request key:" << key <<
"is not available. Cannot retrieve get raw data.";
98 for (
const auto &
p : m_rawValuesMetadataMap)
100 keys.push_back(
p.first);
108 return m_rawValuesMetadataMap.size();
115 #ifdef DEBUG_RAW_VALUES_MACRO
116 for (
auto [k, v] : m_rawValuesMetadataMap)
118 yCDebug(FAKERAWVALUESPUBLISHER) <<
"size of elements at key:" << k <<
"is:" << v.rawValueNames.size();
119 for (
size_t e = 0;
e < v.rawValueNames.size();
e++)
121 yCDebug(FAKERAWVALUESPUBLISHER) <<
"For axis:" << v.axesNames[
e] <<
"GOT rawValueNames:" << v.rawValueNames[
e];
127 if (m_rawValuesMetadataMap.empty())
129 yCError(FAKERAWVALUESPUBLISHER) <<
"embObjMotionControl Map is empty. No reason to proceed...";
138 if(m_rawValuesMetadataMap.find(key) != m_rawValuesMetadataMap.end())
140 meta = m_rawValuesMetadataMap[key];
144 yCError(FAKERAWVALUESPUBLISHER) <<
"Requested key" << key <<
"is not available in the map. Exiting";
153 if (m_rawValuesMetadataMap.find(key) != m_rawValuesMetadataMap.end())
155 axesNames.assign(m_rawValuesMetadataMap[key].axesNames.begin(), m_rawValuesMetadataMap[key].axesNames.end());
159 yCError(FAKERAWVALUESPUBLISHER) <<
"Requested key" << key <<
"is not available in the map. Exiting";
165bool FakeRawValuesPublisher::open(yarp::os::Searchable& config)
169 yCError(FAKERAWVALUESPUBLISHER) <<
"Failed to parse parameters from configuration";
178 m_rawValuesMetadataMap.insert({m_rawValuesVectorTag,
rawValuesKeyMetadata({}, {}, m_numberOfJomos)});
179 for (
int i = 0; i < m_numberOfJomos; i++)
181 m_rawValuesMetadataMap[m_rawValuesVectorTag].axesNames.push_back(
"fake_jomo_"+std::to_string(i));
182 m_rawValuesMetadataMap[m_rawValuesVectorTag].rawValueNames.push_back(
"fake_jomo_rawvalue_"+std::to_string(i));
185 m_rawDataAuxVector.resize(m_numberOfJomos);
189bool FakeRawValuesPublisher::close()
191 yCInfo(FAKERAWVALUESPUBLISHER) <<
"Closing the device.";
static bool NOT_YET_IMPLEMENTED(const char *txt)
static bool DEPRECATED(const char *txt)
bool parseParams(const yarp::os::Searchable &config) override
virtual bool getAxesNames(std::string key, std::vector< std::string > &axesNames) override
virtual bool getKeys(std::vector< std::string > &keys) override
virtual bool getRawData(std::string key, std::vector< std::int32_t > &data) override
virtual bool getRawDataMap(std::map< std::string, std::vector< std::int32_t > > &map) override
virtual bool getKeyMetadata(std::string key, rawValuesKeyMetadata &meta) override
virtual int getNumberOfKeys() override
virtual bool getMetadataMap(rawValuesKeyMetadataMap &metamap) override