跳转到内容

监控急停按钮相关接口

EStopMonitor 是一个急停按钮监控器类,提供主动获取急停按钮状态和设置事件回调。

  • 方法原型:

    __init__(self, cfg: EStopMConfig = ...) -> None
  • 参数说明:

    参数名称说明
    cfg配置参数,具体参见 EStopMConfig
  • 返回值:

    None

若配置中 EStopMConfig.auto_start_True(默认值),系统将自动启用监控,无需手动调用 run()。另外,多次调用 run() 方法无影响。

当启动监控后,注册的事件回调函数才可能被触发。

  • 方法原型:

    run(self) -> bool
  • 返回值:

    True 表示启动成功,False 表示启动失败。

当暂停监控后,注册的事件回调函数不会被触发。另外,多次调用 pause() 方法无影响。

  • 方法原型:

    pause(self) -> bool
  • 返回值:

    True 表示暂停成功,False 表示暂停失败。

  • 方法原型:

    is_running(self) -> bool
  • 返回值:

    True 表示正在监控,False 表示未监控。

  • 方法原型:

    get_state(self) -> ESState
  • 返回值:

    急停按钮的状态,具体参见 ESState

  • 方法原型:

    set_pressed_event_callback(self, callback: typing.Callable[[], None]) -> int
  • 参数说明:

    参数名称说明
    callback急停按钮按下的回调函数。
    EStopMConfig.allow_multicb_True 时,允许设置多个回调函数。
  • 返回值:

    01 表示成功,1 表示原有的回调函数被替换(仅在只允许一个回调函数的情况下才会出现);-1 表示失败。

  • 方法原型:

    set_released_event_callback(self, callback: typing.Callable[[], None]) -> int
  • 参数说明:

    参数名称说明
    callback急停按钮释放的回调函数。
    EStopMConfig.allow_multicb_True 时,允许设置多个回调函数。
  • 返回值:

    01 表示成功,1 表示原有的回调函数被替换(仅在只允许一个回调函数的情况下才会出现);-1 表示失败。

属性数据类型说明
pressed_level_int急停按钮按下时的 GPIO 电平极性。
- 0:低电平有效(Active-Low),按下时引脚电平为低。
- 1:高电平有效(Active-High),按下时引脚电平为高。
allow_multicb_bool是否允许多个回调函数。
- True:允许设置多个回调函数。
- False:仅允许设置一个回调函数。
name_str名称。
静态方法说明
ApacheOrin返回配置完成的 EStopMConfig 实例(gpiochip0 + 引脚 2 + 低电平有效),适用于搭载 ApacheOrin 芯片的机器人。
NvidiaOrin返回配置完成的 EStopMConfig 实例(gpiochip1 + 引脚 9 + 高电平有效),适用于搭载 NvidiaOrin 芯片的机器人。

ESState 类是一个枚举器,用于表示急停按钮的状态。

常量成员说明
Invalid-1无法获取状态
Pressed1急停按钮处于被按下的状态
Released0急停按钮处于被释放的状态