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;
}
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;
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)

View file

@ -129,7 +129,7 @@ void displayClearScreen(displayPort_t *instance, displayClearOption_e options);
bool displayDrawScreen(displayPort_t *instance);
int displayScreenSize(const displayPort_t *instance);
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);
bool displayIsTransferInProgress(const 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) {
uint8_t *buffer = getActiveLayerBuffer();
for (int i = 0; buff[i] && x + i < CHARS_PER_LINE; i++) {
buffer[y * CHARS_PER_LINE + x + i] = buff[i];
const uint32_t bufferYOffset = y * CHARS_PER_LINE;
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 max7456WriteNvm(uint8_t char_address, const uint8_t *font_data);
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 max7456ClearScreen(void);
void max7456RefreshAll(void);

View file

@ -86,12 +86,12 @@ static int screenSize(const displayPort_t *displayPort)
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(attr);
max7456Write(x, y, s);
max7456Write(x, y, text);
return 0;
}