跳转至

🎯 控制器基类

介绍

Controller 是控制器的基类,封装了控制器的基础接口和核心行为。
该类设计为抽象基类,需通过子类继承并实现关键方法(如 set_up()get_information())后方可使用。

主要功能:
- 设置采集字段列表
- 获取控制器状态信息
- 发送控制命令
- 提供基础调试信息输出


类定义

class Controller:

控制器基类,不能直接实例化使用,必须由子类实现具体细节。


成员属性

属性名 类型 说明
name str 控制器名称,默认为 "controller"
controller_type str 控制器类型标识,默认为 "base_controller"
is_set_up bool 是否完成初始化,默认 False
collect_info List[str] 需要采集的字段列表,调用 set_collect_info 设置

函数

init(self)

初始化控制器基本属性。

  • 参数:无
  • 返回:无

set_collect_info(self, collect_info: List[str])

设置需要采集或控制的信息字段。

  • 参数:
  • collect_info (List[str]):字段名称列表
  • 返回:无

get(self) -> Dict[str, Any]

根据 self.collect_info 获取对应字段状态。
若未设置 collect_info,抛出异常。若采集字段对应数据为 None,输出错误日志。

  • 参数:无
  • 返回:
  • Dict[str, Any]:采集字段对应的状态字典。

move(self, move_data, is_delta=False)

发送控制指令,支持增量(is_delta=True)或绝对控制(is_delta=False)。
调用子类实现的 move_controller()。如发生异常,输出警告日志。

  • 参数:
  • move_data:控制字段及对应数据
  • is_delta (bool, 可选):是否为增量控制,默认 False
  • 返回:无

set_up(self)

初始化控制器(抽象方法,必须在子类中实现)。

  • 参数:无
  • 返回:无
  • 异常:默认抛出 NotImplementedError

repr(self) -> str

控制器的字符串表示,便于调试输出。

  • 参数:无
  • 返回:
  • str:描述控制器名称与类型的字符串。