EEROS  1.0.0.0
API for the EEROS Real-Time Robotics Framework
JsonParser.hpp
Go to the documentation of this file.
1 #ifndef ORG_EEROS_HAL_JSONPARSER_HPP_
2 #define ORG_EEROS_HAL_JSONPARSER_HPP_
3 
4 #include <ucl++.h>
6 
7 namespace eeros {
8  namespace hal {
9  class JsonParser
10  {
11  public:
12  JsonParser();
13  JsonParser(std::string filePath);
14  virtual void createHalObjects(std::map<std::string, void*> lib);
15  private:
16  virtual void createLogicObject(void *libHandle, std::string type, std::string id, std::string devHandle, uint32_t subDevNumber, uint32_t channelNumber, bool inverted, std::string additionalArguments);
17  virtual void createRealObject(void *libHandle, std::string type, std::string id, std::string devHandle, uint32_t subDevNumber, uint32_t channelNumber, double scale, double offset, double rangeMin, double rangeMax, std::string unit, std::string additionalArguments);
18  virtual void parseChannelProperties(ucl::Ucl chanObj, std::string *chanType, std::string *sigId, double *scale, double *offset, double *rangeMin, double *rangeMax, std::string *chanUnit, bool *inverted, std::string *additionalArguments);
19  virtual void createComediFqd(void *libHandle, std::string type, std::string id, std::string devHandle, uint32_t subDevNumber, uint32_t channelA, uint32_t channelB, uint32_t channelZ, double scale, double offset, double rangeMin, double rangeMax, std::string unit);
20 
21  void calcScale(ucl::Ucl obj, double *scale, double *offset, double *rangeMin, double *rangeMax);
22 
23  ucl::Ucl halRootObj;
24  logger::Logger log;
25  };
26  };
27 };
28 
29 #endif /* ORG_EEROS_HAL_JSONPARSER_HPP_ */
JsonParser()
Definition: JsonParser.cpp:18
Definition: JsonParser.hpp:9
Definition: Logger.hpp:15
Definition: Config.hpp:14
virtual void createHalObjects(std::map< std::string, void * > lib)
Definition: JsonParser.cpp:35