fix: 子类实现 doMonProc() + 测试 CMake 添加缺失链接文件

This commit is contained in:
Huamonarch 2026-05-15 15:51:55 +08:00
parent 62a2e5568b
commit 18a5675109
11 changed files with 28 additions and 0 deletions

View File

@ -103,6 +103,8 @@ add_executable(eqpalg_test
./utility/expression_engine.cpp
./utility/fb_state_machine.cpp
./utility/bound_checker.cpp
./utility/HoldTime.cc
./gb_item_memory.cc
)
target_include_directories(eqpalg_test PUBLIC

View File

@ -50,6 +50,10 @@ ExpBound::ExpBound(const string &name, const mix_cc::json &rule_json,
ExpBound::~ExpBound() {
}
AlarmInfo ExpBound::doMonProc() {
return AlarmInfo{}; // 此类重写 mon_proc(),不使用 doMonProc()
}
AlarmInfo ExpBound::mon_proc() {
if (expr_engine_->evaluateBool("feedback") == false) {

View File

@ -24,6 +24,7 @@ public:
virtual ~ExpBound();
public:
AlarmInfo doMonProc() override;
int init() override;
virtual AlarmInfo mon_proc() override;
std::vector<AlarmInfo> exec_task(mix_cc::time_range_t time_range) override;

View File

@ -22,6 +22,10 @@ ExpSample2D::ExpSample2D(const string &name, const mix_cc::json &rule_json,
ExpSample2D::~ExpSample2D() {
}
AlarmInfo ExpSample2D::doMonProc() {
return AlarmInfo{}; // 此类重写 mon_proc(),不使用 doMonProc()
}
int ExpSample2D::init() {
int ret = 0;
ret += AlgBase::init();

View File

@ -23,6 +23,8 @@ class ExpSample2D : public ExpBase {
~ExpSample2D() override;
AlarmInfo doMonProc() override;
virtual int init() override;
/**

View File

@ -66,6 +66,10 @@ ExpTimes::~ExpTimes() {
this->wait_flag_ = 0;
}
AlarmInfo ExpTimes::doMonProc() {
return AlarmInfo{}; // 此类重写 mon_proc(),不使用 doMonProc()
}
int ExpTimes::init() {
int ret = 0;
try {

View File

@ -20,6 +20,7 @@ class ExpTimes : public ExpBase {
const string& ruleId, size_t exp_type);
~ExpTimes() override;
AlarmInfo doMonProc() override;
virtual AlarmInfo mon_proc() override;
virtual int init() override;
/**

View File

@ -51,6 +51,10 @@ Roller2::~Roller2() {
}
AlarmInfo Roller2::doMonProc() {
return AlarmInfo{}; // 此类重写 mon_proc(),不使用 doMonProc()
}
AlarmInfo Roller2::mon_proc() {
refresh_var_result();
if (!pre_exp_flag_) {

View File

@ -24,6 +24,7 @@ class Roller2 : public ExpBase {
virtual ~Roller2();
public:
AlarmInfo doMonProc() override;
const vector<string> ExpStr = {"pre_exp", "X1", "X2", "X3", "X4",
"X5", "X6", "X7", "X8", "X9"};
int init() override;

View File

@ -69,6 +69,10 @@ Roller3::~Roller3() {
}
AlarmInfo Roller3::doMonProc() {
return AlarmInfo{}; // 此类重写 mon_proc(),不使用 doMonProc()
}
AlarmInfo Roller3::mon_proc() {
if (!expr_engine_->evaluateBool("act")) {

View File

@ -36,6 +36,7 @@ public:
virtual ~Roller3();
public:
AlarmInfo doMonProc() override;
int init() override;
virtual AlarmInfo mon_proc() override;
std::vector<AlarmInfo> exec_task(mix_cc::time_range_t time_range) override;