Skip to content

fix: ヘッダも組み立てる#5

Merged
Reimanbow merged 1 commit intomainfrom
feature/header_reassemble
Feb 16, 2026
Merged

fix: ヘッダも組み立てる#5
Reimanbow merged 1 commit intomainfrom
feature/header_reassemble

Conversation

@Reimanbow
Copy link
Owner

Summary

  • RGB565 → BMP (BI_BITFIELDS, 16bpp, top-down) ヘッダを自動付与
  • Grayscale → PGM (P5) ヘッダを自動付与
  • JPEG はそのまま(自己記述的フォーマット)
  • アプリ側は sdcard_write(path, data, len) するだけで正しいファイルが保存できる

Motivation

受信側のアプリが「画像ファイルが来たら保存するだけ」で済むようにしたい。
ファイルヘッダの生成ロジックをアプリに書くと、送信側と同じ問題(忘れる・重複する)が起きる。
Reassembler は fmt・width・height を全部知っているので、ここでヘッダを付与するのが最も自然。

Changes

  • src/cast_reassembler.c:
    • build_bmp_rgb565(): BMP ファイル生成 (FileHeader + InfoHeader + ColorMasks + 4byte行パディング)
    • build_pgm_grayscale(): PGM (P5) ファイル生成
    • フレーム完成時に fmt に応じて分岐し、ヘッダ付きデータをコールバックに渡す
  • test/host/test_cast_reassembler.cpp:
    • BmpHeaderRgb565: BMP signature, ファイルサイズ, bpp, ピクセルデータ一致を検証
    • PgmHeaderGrayscale: PGM ヘッダ文字列, ピクセルデータ, 全体サイズを検証
    • FormatPropagation: 各フォーマットのヘッダ先頭バイトを確認

Test plan

  • ホストテスト 29件全パス (chunker 12 + reassembler 17)
  • CI (host-test / build-test) が通ることを確認

@Reimanbow Reimanbow merged commit df6b9e3 into main Feb 16, 2026
2 checks passed
@Reimanbow Reimanbow deleted the feature/header_reassemble branch February 16, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant