Skip to content

Add NvmeInfo (NVMe SSD health) to SystemPerformanceInfo#275

Merged
jp-pino merged 3 commits into
masterfrom
jp-pino/nvme-ssd-health
Jun 29, 2026
Merged

Add NvmeInfo (NVMe SSD health) to SystemPerformanceInfo#275
jp-pino merged 3 commits into
masterfrom
jp-pino/nvme-ssd-health

Conversation

@jp-pino

@jp-pino jp-pino commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a NvmeInfo message and nests it in SystemPerformanceInfo (field 14) to expose NVMe SSD state — health/safety, thermal throttling, endurance/workload, and drive identity.

Jetson-only: i.MX drones boot/store on an SD card and have no NVMe device, so the message stays at its defaults there. Only the composite temperature is exposed (per-sensor values are vendor-specific and can be stuck placeholders). Partition used/free is already reported via DataStorageSpaceTel, so NvmeInfo carries only NVMe-specific state plus the physical drive capacity_bytes.

Addresses BluEye-Robotics/p2_drone#982.

Downstream

  • p2_msgs: mirrors the message
  • p2_drone: populates it from libnvme on Jetson

🤖 Generated with Claude Code

Add an NvmeInfo message (NVMe SSD health, wear, thermal throttling and
identity) and nest it in SystemPerformanceInfo (field 14). Jetson-only;
i.MX drones have no NVMe device and leave it at defaults. Partition
used/free is reported separately via DataStorageSpaceTel, so NvmeInfo
carries only NVMe-specific state plus the physical drive capacity.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jp-pino jp-pino self-assigned this Jun 26, 2026
@jp-pino jp-pino added the enhancement New feature or request label Jun 26, 2026
@jp-pino jp-pino added this to the Blunux v5.1 milestone Jun 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an NvmeInfo protobuf message and wires it into SystemPerformanceInfo to expose NVMe SSD SMART/health, throttling, workload, and identity telemetry (Jetson-only; i.MX remains default/empty).

Changes:

  • Introduced new NvmeInfo message with SMART/health + identify-controller derived fields.
  • Added SystemPerformanceInfo.nvme (field 14) to carry the new NVMe telemetry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread protobuf_definitions/message_formats.proto Outdated
Comment thread protobuf_definitions/message_formats.proto
Drop the _c suffix (units stay in the comment, consistent with the other
temperature fields) and add NVMe to the SystemPerformanceInfo summary.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread protobuf_definitions/message_formats.proto Outdated
@johannesschrimpf johannesschrimpf self-requested a review June 29, 2026 08:41
Message presence (has_nvme()) already signals whether NVMe data is
available, so the explicit present field is redundant -- remove it and
renumber 1..25 (not merged yet, so no wire-compat concern). Also drop the
composite-temperature trustworthiness note; it's an SSD-specific
implementation detail.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jp-pino jp-pino merged commit d7dd459 into master Jun 29, 2026
4 checks passed
@jp-pino jp-pino deleted the jp-pino/nvme-ssd-health branch June 29, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants