Skip to content

[Device][M2A] 建立带传感器堆栈公共合同与测试夹具 #3

Description

@TablewareBox

Parent

Outcome

建立可复用的带传感器堆栈 device contract、Adapter seam 与 contract fixtures,作为 SZLab 各物理堆栈的唯一实现规范。

Scope

  • 参考 Xuwznln/device_package_u/kaimisiterui/eit_consumables_rack 的 driver/controller/runtime 分层,不复制其业务槽位分配职责。
  • device __init__() 直接展开:
    • occupancy_sensor_array_address
    • observation_poll_interval_s=1.0
    • observation_freshness_ttl_s=3.0
    • observation_debounce_count=2
    • 显式 OPC endpoint/auth/client 参数。
  • 校验 TTL > poll、debounce >= 1;topic period 使用实例最终 poll 值。
  • 定义一个裸 SensorOccupancyObservation[] @topic_config 状态;Adapter 规范化 bool/0/1/null。
  • read failure 返回 correct-length unknown;错误 shape 不 pad/truncate。
  • device 只发布 presence,不查找/分配 Material,不写 Site occupancy。
  • 提供 fake driver/clock、array normalization、connection lifecycle contract tests。

Non-goals

  • OS freshness/debounce projector、Material/Site allocation、reconciliation、versioned envelope。

Gate

  • 公共合同文档、示例 package tree、init schema、topic payload 与 fixtures;
  • reference device 单测全绿并完成独立 review。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions