跳转到内容

超时过滤器

在发送第一个数值后,如果在指定的 timeout 时间内没有发布后续数值,则发送一个可模板化的值,默认为 NaN。该值也可以设置为 last,这将导致再次发送过滤器接收到的最后一个数值。

此过滤器在以下情况下特别有用:

  • 数据来自可能中断的通信通道(例如串口)。
  • 放置在节流过滤器之前,以确保最后发布的数值能够通过节流。
# 示例配置条目
filters:
- timeout: 10s # 发送的值将为 NaN
- timeout:
timeout: 10s
value: !lambda return 0;
- timeout:
timeout: 10s
value: last # 发送的值将为过滤器接收到的最后一个数值