1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 17:25:20 +03:00

MAX7456 - Cleanups.

This commit is squashed from the following commits:

MAX7456 - Calculate buffer offset only once per string.

MAX7456 - Avoid duplicate addition by using second loop variable.

MAX7456 - Rename 'buff' to 'input' for clarity.
> There's two 'buffers', now the other variable names make more sense.

MAX7456 - Use consistent variable names.
> Use `text` instead of `s` and `input`.
This commit is contained in:
Dominic Clifton 2021-05-25 02:15:17 +02:00
parent 192f2b1734
commit 6c53ca2552
5 changed files with 11 additions and 10 deletions

View file

@ -80,11 +80,11 @@ void displaySetXY(displayPort_t *instance, uint8_t x, uint8_t y)
instance->posY = y; instance->posY = y;
} }
int displayWrite(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, const char *s) int displayWrite(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, const char *text)
{ {
instance->posX = x + strlen(s); instance->posX = x + strlen(text);
instance->posY = y; instance->posY = y;
return instance->vTable->writeString(instance, x, y, attr, s); return instance->vTable->writeString(instance, x, y, attr, text);
} }
int displayWriteChar(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, uint8_t c) int displayWriteChar(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, uint8_t c)

View file

@ -129,7 +129,7 @@ void displayClearScreen(displayPort_t *instance, displayClearOption_e options);
bool displayDrawScreen(displayPort_t *instance); bool displayDrawScreen(displayPort_t *instance);
int displayScreenSize(const displayPort_t *instance); int displayScreenSize(const displayPort_t *instance);
void displaySetXY(displayPort_t *instance, uint8_t x, uint8_t y); void displaySetXY(displayPort_t *instance, uint8_t x, uint8_t y);
int displayWrite(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, const char *s); int displayWrite(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, const char *text);
int displayWriteChar(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, uint8_t c); int displayWriteChar(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, uint8_t c);
bool displayIsTransferInProgress(const displayPort_t *instance); bool displayIsTransferInProgress(const displayPort_t *instance);
bool displayHeartbeat(displayPort_t *instance); bool displayHeartbeat(displayPort_t *instance);

View file

@ -498,12 +498,13 @@ void max7456WriteChar(uint8_t x, uint8_t y, uint8_t c)
} }
} }
void max7456Write(uint8_t x, uint8_t y, const char *buff) void max7456Write(uint8_t x, uint8_t y, const char *text)
{ {
if (y < VIDEO_LINES_PAL) { if (y < VIDEO_LINES_PAL) {
uint8_t *buffer = getActiveLayerBuffer(); uint8_t *buffer = getActiveLayerBuffer();
for (int i = 0; buff[i] && x + i < CHARS_PER_LINE; i++) { const uint32_t bufferYOffset = y * CHARS_PER_LINE;
buffer[y * CHARS_PER_LINE + x + i] = buff[i]; for (int i = 0, bufferXOffset = x; text[i] && bufferXOffset < CHARS_PER_LINE; i++, bufferXOffset++) {
buffer[bufferYOffset + bufferXOffset] = text[i];
} }
} }
} }

View file

@ -53,7 +53,7 @@ bool max7456ReInitIfRequired(bool forceStallCheck);
bool max7456DrawScreen(void); bool max7456DrawScreen(void);
bool max7456WriteNvm(uint8_t char_address, const uint8_t *font_data); bool max7456WriteNvm(uint8_t char_address, const uint8_t *font_data);
uint8_t max7456GetRowsCount(void); uint8_t max7456GetRowsCount(void);
void max7456Write(uint8_t x, uint8_t y, const char *buff); void max7456Write(uint8_t x, uint8_t y, const char *text);
void max7456WriteChar(uint8_t x, uint8_t y, uint8_t c); void max7456WriteChar(uint8_t x, uint8_t y, uint8_t c);
void max7456ClearScreen(void); void max7456ClearScreen(void);
void max7456RefreshAll(void); void max7456RefreshAll(void);

View file

@ -86,12 +86,12 @@ static int screenSize(const displayPort_t *displayPort)
return maxScreenSize; return maxScreenSize;
} }
static int writeString(displayPort_t *displayPort, uint8_t x, uint8_t y, uint8_t attr, const char *s) static int writeString(displayPort_t *displayPort, uint8_t x, uint8_t y, uint8_t attr, const char *text)
{ {
UNUSED(displayPort); UNUSED(displayPort);
UNUSED(attr); UNUSED(attr);
max7456Write(x, y, s); max7456Write(x, y, text);
return 0; return 0;
} }