#ifndef CARDBASE_H #define CARDBASE_H #include "data_config.h" //#ifdef NAME // #undef NAME //#endif //#define NAME(x) (x, #x) class CardBase { public: CardBase() {} ~CardBase() {} // void FromJson(const Json::Value &cfg) { // version_ = cfg["version"].asInt(); // slot_ = cfg["slot"].asInt(); // card_type_ = static_cast(cfg["type"].asInt()); // } // Json::Value ToJson() { // Json::Value ch; // ch[NAME(version)] = version_; // ch[NAME(slot)] = slot_; // ch[NAME(type)] = card_type_; // return ch; // } // protected: int version_; int slot_; // 从1~15 CardType card_type_; }; class VariableBase { public: VariableBase() {} ~VariableBase() {} int id_; VibChannelType type_; Filter filter_[3]; DirectImpl direct_; XImpl x1_; XImpl x2_; RecorderOut recorder_out_; Delay delay_; }; // 位移 class RadialVariable : public VariableBase { public: bool alert_latching_; bool danger_latching_; RadialImpl not1x_; RadialImpl smax_; }; // 加速度与速度 class AccVelVariable : public VariableBase { public: bool alert_latching_; bool danger_latching_; bool timed_ok_; bool rms_active_; bool integrate_active_; }; #endif // CARDBASE_H