Praxis Design Explorer

Sequence Diagram:对象交互:同步 GPS 时间

Trail Mate 系统 / 设备管理 · Use Case 同步 GPS 时间 · 项目版本 0.0.0 · Git 34aad0bffa2f dirty · 更新于 2026-06-25T14:17:55.307Z

Trail Mate 系统 / 设备管理 / 同步 GPS 时间

对象交互:同步 GPS 时间

candidate · medium

UI 调用 Board 同步时间

交互场景

获取精确的时间基准

参与者 / 生命线

  • - participant User as 用户
  • - participant UI as SettingsUI
  • - participant Board as TLoRaPagerBoard
  • - participant GPS as GPS Module
  • - participant RTC as RTC

消息时序

  • - User->>UI: 点击同步时间
  • - UI->>Board: syncGpsTime()
  • - Board->>GPS: getUtcTime()
  • - GPS-->>Board: 返回 utcTime
  • - Board->>RTC: setTime(utcTime)
  • - RTC-->>Board: 写入成功
  • - Board-->>UI: 同步完成
  • - UI-->>User: 提示成功

同步 / 异步 / 回调

  • - GPS-->>Board: 返回 utcTime
  • - RTC-->>Board: 写入成功
  • - Board-->>UI: 同步完成
  • - UI-->>User: 提示成功

返回 / 异常 / 补偿

  • - GPS-->>Board: 返回 utcTime
  • - RTC-->>Board: 写入成功
  • - Board-->>UI: 同步完成
  • - UI-->>User: 提示成功

事务 / 幂等 / 重试边界

Board 作为 GPS 和 RTC 之间的适配器

  • - 无

Sequence UML 读图说明

UI 请求同步,Board 检查 GPS 并写入 RTC

实现范围锚点

  • - 模块:boards
  • - 关键文件:boards/tlora_pager/src/tlora_pager_board.cpp
  • - 代码锚点:boards/tlora_pager/src/tlora_pager_board.cpp#L1
  • - 不覆盖代码:非当前场景的全部调用链
  • - 不覆盖代码:未被证据支持的异步/补偿路径

不覆盖场景

  • - 时间回退处理

UML 底图

sequenceDiagram
  participant User as 用户
  participant UI as SettingsUI
  participant Board as TLoRaPagerBoard
  participant GPS as GPS Module
  participant RTC as RTC
  User->>UI: 点击同步时间
  UI->>Board: syncGpsTime()
  Board->>GPS: getUtcTime()
  GPS-->>Board: 返回 utcTime
  Board->>RTC: setTime(utcTime)
  RTC-->>Board: 写入成功
  Board-->>UI: 同步完成
  UI-->>User: 提示成功

变更记录

Git 34aad0bffa2f · main · dirty

恢复或更新 Sequence Diagram。