Sensor ack packets for DisablePiezo/GetHeaterOffset/ClearAlarm (0xA9/0xAA/0xAD) are not decoded

オープン
#44 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
rust

調査の方向性

Read crates/pod-proto/src/sensor/command.rs and the SensorPacket::parse match in crates/pod-proto/src/sensor/packet.rs to understand the command and packet types. Check how other sensor acknowledgements are decoded, then run the relevant codec or packet tests if available. Done means acknowledgements for 0xA9 and 0xAA decode instead of reaching Unexpected; confirm ClearAlarm's opcode and payload before including it.

索引モデルが issue の本文から書いたものです。

説明

enhancement

The three // TODO add resp packet + 0x80 markers in crates/pod-proto/src/sensor/command.rs:21,28,32 sit on DisablePiezo (0x29), GetHeaterOffset (0x2A), and ClearAlarm (0x2D). SensorPacket::parse (crates/pod-proto/src/sensor/packet.rs:135-160) has no arm for their acknowledgements (0xA9/0xAA/0xAD), so sending any of these would make the reply fall to the _ => Unexpected branch, which the codec logs as an error (codec.rs:85). All three commands are currently #[allow(dead_code)] and unused, so this only bites once they're wired up. ClearAlarm is additionally flagged UNVERIFIED / 'seems to be crashing the mcu' (command.rs:29), so its opcode/payload needs confirming before use.


Filed from a repo-wide code audit (working tree at bcad746).

主要言語
Rust
スター
0
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

GoogleBot42/podd のほかの issue

GoogleBot42/podd の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。