---
# System prepended metadata

title: TPW1 Subboard Protocol
tags: [TPW1]

---

---
tags: TPW1
---

# TPW1 Subboard Protocol

[TOC]

## 通訊方式
以Uart進行溝通
配備Lossless Datalink

## 通訊格式
使用byte array進行通訊
Header: 前4個byte為命令的Header，第4個byte之後的為命令的內容。
| 位元 | 長度 | 用途描述 |
| --- | -------- |  -------- |
| 0 | 1 | 命令編號(ID)     |
| 1 | 1 | 傳送序號，板子收到命令後，會以該序號進行回傳，用以區別回應哪一個命令 |
| 2 | 1 | 錯誤碼 |
| 3 | 1 | 命令資料內容長度 |
### Sequence Diagram
```mermaid
    sequenceDiagram
    Client->>+Board: Command with sn: x
    Note right of Board: 以相同序號回傳
    Board->>-Client: Response with sn: x
```

## 命令種類
### (ID: 01) Query Data
取得板子上面的sensor資料

- Request command: No data
- Response command:<br><br>
    | 位元  | 長度 | 用途描述 (以big endian編碼) |
    |:-----:|:----:|:---------------------------:|
    |  4-7  |  4   |         溫度: float         |
    | 8-11  |  4   |         濕度: float          |
    | 12-15 |  4   |       電池電壓: float       |
    | 16-19 |  4   |       電池電流: float       |
    | 20-23 |  4   |       電池電量: float       |
    | 24-27 |  4   |       電池溫度: float       |
    | 28-31 |  4   |       電池健康狀態: float       |
    | 32-33 |  2   |       電池Life Cycle: ushort       |

### (ID: 02) Open Door
開啟門
- Request command: No data
- Response command: No data

### (ID: 03) Close Door
關閉門
- Request command: No data
- Response command: No data
