Skip to content

Conversation

@HarukiToreda
Copy link
Contributor

This PR fixes the value shown on the Favorite Node Screens. Before the calculation did not take into account of the radio preset, so the max value considered good was 82%. This PR replaces it with a Bad, fair or Good along with a graphical signal bar to make it more intuitive. Since it took more space, i had to change [Hops] with a graphic as well.

Lastly I removed the constrains that made the Distance line when we had Uptime values from the node. Now all are visible.

Before
20260207_204948

After
20260207_205808

@HarukiToreda HarukiToreda requested a review from Xaositek February 8, 2026 02:19
@github-actions github-actions bot added the bugfix Pull request that fixes bugs label Feb 8, 2026
@HarukiToreda HarukiToreda added enhancement New feature or request device-screen Device Screen Enhancements baseui Issues directly related to BaseUI labels Feb 8, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Favorite Node Info screen UI to present signal quality as a qualitative grade with bar graphics (instead of a percent), replaces the hops label with an icon, and adjusts row layout/formatting to fit more node details.

Changes:

  • Add a new hop icon bitmap for use in UI rendering.
  • Revise Favorite Node Info rendering to show signal grade + bars and render hops as [count + hop icon].
  • Change uptime formatting behavior (prefix now controls punctuation/spacing) and tighten several on-screen strings to save space.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/graphics/images.h Adds a hop icon bitmap and dimensions for UI use.
src/graphics/draw/UIRenderer.cpp Implements new signal-quality grading + bar rendering and hops icon drawing on Favorite Node screens; adjusts several compact UI strings and adds a battery line.
src/graphics/draw/DebugRenderer.cpp Updates uptime prefix passed to getUptimeStr() to match new formatting expectations.
src/graphics/TimeFormatters.cpp Changes getUptimeStr() to no longer auto-insert ": " after the prefix.
Comments suppressed due to low confidence (1)

src/graphics/draw/UIRenderer.cpp:1197

  • After changing getUptimeStr() to no longer auto-insert ": ", this call passes the prefix as "Last" (no colon/space). That will render as Last5m 10s etc. Update the prefix to include the desired punctuation/spacing (e.g. "Last:" or "Last: ") for consistency with the other branch and the fallback string "Last: ?".
#else
            // Non E-Ink: include seconds where useful
            getUptimeStr(delta, "Last", uptimeStr, sizeof(uptimeStr), true);
#endif

Comment on lines +349 to +366
// Helper to get SNR limit based on modem preset
auto getSnrLimit = [](meshtastic_Config_LoRaConfig_ModemPreset preset) -> float {
switch (preset) {
case meshtastic_Config_LoRaConfig_ModemPreset_LONG_SLOW:
case meshtastic_Config_LoRaConfig_ModemPreset_LONG_MODERATE:
case meshtastic_Config_LoRaConfig_ModemPreset_LONG_FAST:
return -6.0f;
case meshtastic_Config_LoRaConfig_ModemPreset_MEDIUM_SLOW:
case meshtastic_Config_LoRaConfig_ModemPreset_MEDIUM_FAST:
return -5.5f;
case meshtastic_Config_LoRaConfig_ModemPreset_SHORT_SLOW:
case meshtastic_Config_LoRaConfig_ModemPreset_SHORT_FAST:
case meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO:
return -4.5f;
default:
return -6.0f;
}
};
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

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

getSnrLimit() logic is duplicated here but already exists elsewhere in the codebase (e.g. src/modules/CannedMessageModule.cpp). Consider moving this preset→SNR-limit mapping (and possibly signal grading) into a shared helper so UI and other features stay consistent when presets/thresholds change.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

baseui Issues directly related to BaseUI bugfix Pull request that fixes bugs device-screen Device Screen Enhancements enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants