Skip to content

Phase 5e: live-stat TFT presets (Battery, Volume, CPU, Clock) #6

Description

@wsclx

Vision

Replace static decorative TFT animations with live host-system info on the AK820 Pro's bottom-right TFT panel. Reported by @wsclx as the actual ask behind Phase 5c:

"Beispielsweise Akkustand, Lautstärkeprozent, aber auch andere Systeminformationen, die hilfreich sein können."

Scope (10 presets)

  • Battery percent + charging indicator
  • Volume percent with mute state
  • CPU usage with rolling sparkline
  • Memory pressure
  • Clock (HH:MM + date)
  • Network up/down rates
  • Now Playing (track + artist, scroll if overflow)
  • Wi-Fi SSID + signal strength
  • Date big-font
  • Stopwatch / Timer (driven by automation)

What's needed

Two things this build doesn't have yet:

  1. Bitmap-font rasteriser — render text as 128 × 128 RGB565 frames. Smallish 5×7 or 7×9 monospace bitmap font, embed as Rust &[u8] constant. Could borrow from embedded-graphics if we want vector glyphs.
  2. Polling loop — host-side timer (~1 Hz for clock/battery, ~10 Hz for volume/CPU) that re-rasterises the active preset and re-uploads. Tauri command starts/stops the loop; loop owns its own TFT connection so it doesn't fight the user's preset/image uploads.

Open questions

  • Does the firmware actually accept re-uploads at 1 Hz, or does it throttle? Test before committing to a polling design.
  • Do we want the user to compose their own preset (e.g. "Volume + Clock"), or are these 10 fixed?

Out of scope

  • Per-user customisation of text/colours within a preset (later).
  • TFT keyboard-knob interaction (the firmware doesn't expose this — see CLOSED won't-fix).

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions