mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-17 13:25:30 +03:00
Dashboard tidy
This commit is contained in:
parent
c1576cdba6
commit
0d2239ddd6
1 changed files with 44 additions and 44 deletions
|
@ -129,7 +129,7 @@ typedef struct pageState_s {
|
||||||
|
|
||||||
static pageState_t pageState;
|
static pageState_t pageState;
|
||||||
|
|
||||||
void resetDisplay(void)
|
static void resetDisplay(void)
|
||||||
{
|
{
|
||||||
dashboardPresent = ug2864hsweg01InitI2C(bus);
|
dashboardPresent = ug2864hsweg01InitI2C(bus);
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ void LCDprint(uint8_t i)
|
||||||
i2c_OLED_send_char(bus, i);
|
i2c_OLED_send_char(bus, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void padLineBuffer(void)
|
static void padLineBuffer(void)
|
||||||
{
|
{
|
||||||
uint8_t length = strlen(lineBuffer);
|
uint8_t length = strlen(lineBuffer);
|
||||||
while (length < sizeof(lineBuffer) - 1) {
|
while (length < sizeof(lineBuffer) - 1) {
|
||||||
|
@ -148,7 +148,8 @@ void padLineBuffer(void)
|
||||||
lineBuffer[length] = 0;
|
lineBuffer[length] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void padHalfLineBuffer(void)
|
#ifdef GPS
|
||||||
|
static void padHalfLineBuffer(void)
|
||||||
{
|
{
|
||||||
uint8_t halfLineIndex = sizeof(lineBuffer) / 2;
|
uint8_t halfLineIndex = sizeof(lineBuffer) / 2;
|
||||||
uint8_t length = strlen(lineBuffer);
|
uint8_t length = strlen(lineBuffer);
|
||||||
|
@ -157,9 +158,11 @@ void padHalfLineBuffer(void)
|
||||||
}
|
}
|
||||||
lineBuffer[length] = 0;
|
lineBuffer[length] = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// LCDbar(n,v) : draw a bar graph - n number of chars for width, v value in % to display
|
// LCDbar(n,v) : draw a bar graph - n number of chars for width, v value in % to display
|
||||||
void drawHorizonalPercentageBar(uint8_t width,uint8_t percent) {
|
static void drawHorizonalPercentageBar(uint8_t width,uint8_t percent)
|
||||||
|
{
|
||||||
uint8_t i, j;
|
uint8_t i, j;
|
||||||
|
|
||||||
if (percent > 100)
|
if (percent > 100)
|
||||||
|
@ -178,7 +181,7 @@ void drawHorizonalPercentageBar(uint8_t width,uint8_t percent) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
void fillScreenWithCharacters()
|
static void fillScreenWithCharacters()
|
||||||
{
|
{
|
||||||
for (uint8_t row = 0; row < SCREEN_CHARACTER_ROW_COUNT; row++) {
|
for (uint8_t row = 0; row < SCREEN_CHARACTER_ROW_COUNT; row++) {
|
||||||
for (uint8_t column = 0; column < SCREEN_CHARACTER_COLUMN_COUNT; column++) {
|
for (uint8_t column = 0; column < SCREEN_CHARACTER_COLUMN_COUNT; column++) {
|
||||||
|
@ -190,7 +193,7 @@ void fillScreenWithCharacters()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void updateTicker(void)
|
static void updateTicker(void)
|
||||||
{
|
{
|
||||||
static uint8_t tickerIndex = 0;
|
static uint8_t tickerIndex = 0;
|
||||||
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 1, 0);
|
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 1, 0);
|
||||||
|
@ -199,7 +202,7 @@ void updateTicker(void)
|
||||||
tickerIndex = tickerIndex % TICKER_CHARACTER_COUNT;
|
tickerIndex = tickerIndex % TICKER_CHARACTER_COUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateRxStatus(void)
|
static void updateRxStatus(void)
|
||||||
{
|
{
|
||||||
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 2, 0);
|
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 2, 0);
|
||||||
char rxStatus = '!';
|
char rxStatus = '!';
|
||||||
|
@ -211,60 +214,57 @@ void updateRxStatus(void)
|
||||||
i2c_OLED_send_char(bus, rxStatus);
|
i2c_OLED_send_char(bus, rxStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateFailsafeStatus(void)
|
static void updateFailsafeStatus(void)
|
||||||
{
|
{
|
||||||
char failsafeIndicator = '?';
|
char failsafeIndicator = '?';
|
||||||
switch (failsafePhase()) {
|
switch (failsafePhase()) {
|
||||||
case FAILSAFE_IDLE:
|
case FAILSAFE_IDLE:
|
||||||
failsafeIndicator = '-';
|
failsafeIndicator = '-';
|
||||||
break;
|
break;
|
||||||
case FAILSAFE_RX_LOSS_DETECTED:
|
case FAILSAFE_RX_LOSS_DETECTED:
|
||||||
failsafeIndicator = 'R';
|
failsafeIndicator = 'R';
|
||||||
break;
|
break;
|
||||||
case FAILSAFE_LANDING:
|
case FAILSAFE_LANDING:
|
||||||
failsafeIndicator = 'l';
|
failsafeIndicator = 'l';
|
||||||
break;
|
break;
|
||||||
case FAILSAFE_LANDED:
|
case FAILSAFE_LANDED:
|
||||||
failsafeIndicator = 'L';
|
failsafeIndicator = 'L';
|
||||||
break;
|
break;
|
||||||
case FAILSAFE_RX_LOSS_MONITORING:
|
case FAILSAFE_RX_LOSS_MONITORING:
|
||||||
failsafeIndicator = 'M';
|
failsafeIndicator = 'M';
|
||||||
break;
|
break;
|
||||||
case FAILSAFE_RX_LOSS_RECOVERED:
|
case FAILSAFE_RX_LOSS_RECOVERED:
|
||||||
failsafeIndicator = 'r';
|
failsafeIndicator = 'r';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 3, 0);
|
i2c_OLED_set_xy(bus, SCREEN_CHARACTER_COLUMN_COUNT - 3, 0);
|
||||||
i2c_OLED_send_char(bus, failsafeIndicator);
|
i2c_OLED_send_char(bus, failsafeIndicator);
|
||||||
}
|
}
|
||||||
|
|
||||||
void showTitle()
|
static void showTitle()
|
||||||
{
|
{
|
||||||
i2c_OLED_set_line(bus, 0);
|
i2c_OLED_set_line(bus, 0);
|
||||||
i2c_OLED_send_string(bus, pageState.page->title);
|
i2c_OLED_send_string(bus, pageState.page->title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void handlePageChange(void)
|
static void handlePageChange(void)
|
||||||
{
|
{
|
||||||
i2c_OLED_clear_display_quick(bus);
|
i2c_OLED_clear_display_quick(bus);
|
||||||
showTitle();
|
showTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawRxChannel(uint8_t channelIndex, uint8_t width)
|
static void drawRxChannel(uint8_t channelIndex, uint8_t width)
|
||||||
{
|
{
|
||||||
uint32_t percentage;
|
|
||||||
|
|
||||||
LCDprint(rcChannelLetters[channelIndex]);
|
LCDprint(rcChannelLetters[channelIndex]);
|
||||||
|
|
||||||
percentage = (constrain(rcData[channelIndex], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN);
|
const uint32_t percentage = (constrain(rcData[channelIndex], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN);
|
||||||
drawHorizonalPercentageBar(width - 1, percentage);
|
drawHorizonalPercentageBar(width - 1, percentage);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define RX_CHANNELS_PER_PAGE_COUNT 14
|
#define RX_CHANNELS_PER_PAGE_COUNT 14
|
||||||
void showRxPage(void)
|
static void showRxPage(void)
|
||||||
{
|
{
|
||||||
|
for (int channelIndex = 0; channelIndex < rxRuntimeConfig.channelCount && channelIndex < RX_CHANNELS_PER_PAGE_COUNT; channelIndex += 2) {
|
||||||
for (uint8_t channelIndex = 0; channelIndex < rxRuntimeConfig.channelCount && channelIndex < RX_CHANNELS_PER_PAGE_COUNT; channelIndex += 2) {
|
|
||||||
i2c_OLED_set_line(bus, (channelIndex / 2) + PAGE_TITLE_LINE_COUNT);
|
i2c_OLED_set_line(bus, (channelIndex / 2) + PAGE_TITLE_LINE_COUNT);
|
||||||
|
|
||||||
drawRxChannel(channelIndex, HALF_SCREEN_CHARACTER_COLUMN_COUNT);
|
drawRxChannel(channelIndex, HALF_SCREEN_CHARACTER_COLUMN_COUNT);
|
||||||
|
@ -281,7 +281,7 @@ void showRxPage(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showWelcomePage(void)
|
static void showWelcomePage(void)
|
||||||
{
|
{
|
||||||
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
||||||
|
|
||||||
|
@ -293,11 +293,11 @@ void showWelcomePage(void)
|
||||||
i2c_OLED_send_string(bus, targetName);
|
i2c_OLED_send_string(bus, targetName);
|
||||||
}
|
}
|
||||||
|
|
||||||
void showArmedPage(void)
|
static void showArmedPage(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void showProfilePage(void)
|
static void showProfilePage(void)
|
||||||
{
|
{
|
||||||
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
||||||
|
|
||||||
|
@ -346,8 +346,8 @@ void showProfilePage(void)
|
||||||
#define SATELLITE_GRAPH_LEFT_OFFSET ((SCREEN_CHARACTER_COLUMN_COUNT - SATELLITE_COUNT) / 2)
|
#define SATELLITE_GRAPH_LEFT_OFFSET ((SCREEN_CHARACTER_COLUMN_COUNT - SATELLITE_COUNT) / 2)
|
||||||
|
|
||||||
#ifdef GPS
|
#ifdef GPS
|
||||||
void showGpsPage() {
|
static void showGpsPage()
|
||||||
|
{
|
||||||
if (!feature(FEATURE_GPS)) {
|
if (!feature(FEATURE_GPS)) {
|
||||||
pageState.pageFlags |= PAGE_STATE_FLAG_FORCE_PAGE_CHANGE;
|
pageState.pageFlags |= PAGE_STATE_FLAG_FORCE_PAGE_CHANGE;
|
||||||
return;
|
return;
|
||||||
|
@ -438,7 +438,7 @@ void showGpsPage() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void showBatteryPage(void)
|
static void showBatteryPage(void)
|
||||||
{
|
{
|
||||||
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ void showBatteryPage(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showSensorsPage(void)
|
static void showSensorsPage(void)
|
||||||
{
|
{
|
||||||
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
||||||
static const char *format = "%s %5d %5d %5d";
|
static const char *format = "%s %5d %5d %5d";
|
||||||
|
@ -532,7 +532,7 @@ void showSensorsPage(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef SKIP_TASK_STATISTICS
|
#ifndef SKIP_TASK_STATISTICS
|
||||||
void showTasksPage(void)
|
static void showTasksPage(void)
|
||||||
{
|
{
|
||||||
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
uint8_t rowIndex = PAGE_TITLE_LINE_COUNT;
|
||||||
static const char *format = "%2d%6d%5d%4d%4d";
|
static const char *format = "%2d%6d%5d%4d%4d";
|
||||||
|
@ -560,7 +560,7 @@ void showTasksPage(void)
|
||||||
|
|
||||||
#ifdef ENABLE_DEBUG_DASHBOARD_PAGE
|
#ifdef ENABLE_DEBUG_DASHBOARD_PAGE
|
||||||
|
|
||||||
void showDebugPage(void)
|
static void showDebugPage(void)
|
||||||
{
|
{
|
||||||
for (int rowIndex = 0; rowIndex < 4; rowIndex++) {
|
for (int rowIndex = 0; rowIndex < 4; rowIndex++) {
|
||||||
tfp_sprintf(lineBuffer, "%d = %5d", rowIndex, debug[rowIndex]);
|
tfp_sprintf(lineBuffer, "%d = %5d", rowIndex, debug[rowIndex]);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue