mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-10 07:02:11 +00:00
Memory screen fix
This commit is contained in:
parent
af7a70ce08
commit
6f47035420
@ -2535,18 +2535,19 @@ static void drawMemoryScreen(OLEDDisplay *display, OLEDDisplayUiState *state, in
|
|||||||
display->setColor(WHITE);
|
display->setColor(WHITE);
|
||||||
|
|
||||||
// === Layout ===
|
// === Layout ===
|
||||||
|
// Offset the content start position without affecting title
|
||||||
|
int contentY = y + FONT_HEIGHT_SMALL;
|
||||||
|
|
||||||
const int rowYOffset = FONT_HEIGHT_SMALL - 3;
|
const int rowYOffset = FONT_HEIGHT_SMALL - 3;
|
||||||
const int barHeight = 6;
|
const int barHeight = 6;
|
||||||
const int labelX = x;
|
const int labelX = x;
|
||||||
const int barsOffset = (screenWidth > 128) ? 24 : 0;
|
const int barsOffset = (screenWidth > 128) ? 24 : 0;
|
||||||
const int barX = x + 40 + barsOffset;
|
const int barX = x + 40 + barsOffset;
|
||||||
const int textRightX = x + SCREEN_WIDTH - 2;
|
|
||||||
|
|
||||||
int rowY = y + rowYOffset;
|
int rowY = contentY;
|
||||||
|
|
||||||
// === Heap delta tracking ===
|
// === Heap delta tracking ===
|
||||||
static uint32_t previousHeapFree = 0;
|
static uint32_t previousHeapFree = 0;
|
||||||
static int32_t lastHeapDelta = 0;
|
|
||||||
static int32_t totalHeapDelta = 0;
|
static int32_t totalHeapDelta = 0;
|
||||||
static int deltaChangeCount = 0;
|
static int deltaChangeCount = 0;
|
||||||
|
|
||||||
@ -2566,7 +2567,7 @@ static void drawMemoryScreen(OLEDDisplay *display, OLEDDisplayUiState *state, in
|
|||||||
int textWidth = display->getStringWidth(combinedStr);
|
int textWidth = display->getStringWidth(combinedStr);
|
||||||
int adjustedBarWidth = SCREEN_WIDTH - barX - textWidth - 6;
|
int adjustedBarWidth = SCREEN_WIDTH - barX - textWidth - 6;
|
||||||
if (adjustedBarWidth < 10)
|
if (adjustedBarWidth < 10)
|
||||||
adjustedBarWidth = 10; // prevent weird bar if display is too small
|
adjustedBarWidth = 10;
|
||||||
|
|
||||||
int fillWidth = (used * adjustedBarWidth) / total;
|
int fillWidth = (used * adjustedBarWidth) / total;
|
||||||
|
|
||||||
@ -2593,7 +2594,6 @@ static void drawMemoryScreen(OLEDDisplay *display, OLEDDisplayUiState *state, in
|
|||||||
// === Heap delta (inline with heap row only)
|
// === Heap delta (inline with heap row only)
|
||||||
if (isHeap && previousHeapFree > 0) {
|
if (isHeap && previousHeapFree > 0) {
|
||||||
int32_t delta = (int32_t)(memGet.getFreeHeap() - previousHeapFree);
|
int32_t delta = (int32_t)(memGet.getFreeHeap() - previousHeapFree);
|
||||||
lastHeapDelta = delta;
|
|
||||||
|
|
||||||
if (delta != 0) {
|
if (delta != 0) {
|
||||||
totalHeapDelta += delta;
|
totalHeapDelta += delta;
|
||||||
|
Loading…
Reference in New Issue
Block a user