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