 /*
 * Copyright (c) 2024 Markus Lehr.
 * 
 *
 * SPDX-License-Identifier: Owend property of Markus Lehr
 * 
 */

#ifndef RTS_INCLUDE_VIBSENSORDESC_H_
#define RTS_INCLUDE_VIBSENSORDESC_H_

#include <ISensorDesc.h>
#include <IChannelDesc.h>
#include <string>
#include <list>
#include <json.hpp>

using json = nlohmann::json;


class VibSensorDesc: public ISensorDesc
{
private:
   std::string name;
   std::list<std::shared_ptr<IChannelDesc>> mDescriptions;

public:

   VibSensorDesc(const std::string& name);

   int GetDescription() override;
   bool AddHW2Json(json& j) override;    
   u_int32_t AddValues2Json(json& j, u_int32_t* values, u_int32_t actno, u_int32_t length) override; 
};


#endif /* RTS_INCLUDE_VIBSENSORDESC_H_ */