Speed displaying
This commit is contained in:
parent
7291a9eef3
commit
d4d9f44605
@ -13,6 +13,7 @@ void run_dashboard_loop() {
|
|||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
draw_battery(654, i * 100, 1321, 343);
|
draw_battery(654, i * 100, 1321, 343);
|
||||||
|
draw_speed(i * 1000);
|
||||||
|
|
||||||
HAL_Delay(100);
|
HAL_Delay(100);
|
||||||
if (i == 100) {
|
if (i == 100) {
|
||||||
@ -54,33 +55,31 @@ void draw_init() {
|
|||||||
LCD_Fill_Screen(COLOR_OFF, 1);
|
LCD_Fill_Screen(COLOR_OFF, 1);
|
||||||
LCD_Fill_Screen(COLOR_BG, 0);
|
LCD_Fill_Screen(COLOR_BG, 0);
|
||||||
|
|
||||||
GFX_DrawChar(40, 40, '!', &monomaniacone20pt, COLOR_PRIMARY, COLOR_BG);
|
// GFX_DrawChar(40, 40, '!', &monomaniacone20pt, COLOR_PRIMARY, COLOR_BG);
|
||||||
GFX_DrawChar(60, 40, '2', &monomaniacone20pt, COLOR_PRIMARY, COLOR_BG);
|
// GFX_DrawChar(60, 40, '2', &monomaniacone20pt, COLOR_PRIMARY, COLOR_BG);
|
||||||
GFX_DrawChar(80, 40, '3', &monomaniacone20pt, COLOR_SECONDARY, COLOR_BG);
|
// GFX_DrawChar(80, 40, '3', &monomaniacone20pt, COLOR_SECONDARY, COLOR_BG);
|
||||||
GFX_DrawChar(100, 40, '4', &monomaniacone20pt, COLOR_SECONDARY, COLOR_BG);
|
// GFX_DrawChar(100, 40, '4', &monomaniacone20pt, COLOR_SECONDARY, COLOR_BG);
|
||||||
GFX_DrawChar(120, 40, '5', &monomaniacone20pt, COLOR_ERROR, COLOR_BG);
|
// GFX_DrawChar(120, 40, '5', &monomaniacone20pt, COLOR_ERROR, COLOR_BG);
|
||||||
|
|
||||||
GFX_DrawText(LCD_WIDTH / 2, 50, "Bonjour Monsieur !", &monomaniacone12pt,
|
// GFX_DrawText(LCD_WIDTH / 2, 50, "Bonjour Monsieur !", &monomaniacone12pt,
|
||||||
COLOR_SECONDARY, COLOR_BG, 1, -2);
|
// COLOR_SECONDARY, COLOR_BG, 1, -2);
|
||||||
GFX_DrawText(LCD_WIDTH / 2, 70, "Bonjour Monsieur !", &monomaniacone14pt,
|
// GFX_DrawText(LCD_WIDTH / 2, 70, "Bonjour Monsieur !", &monomaniacone14pt,
|
||||||
COLOR_SECONDARY, COLOR_BG, 1, -2);
|
// COLOR_SECONDARY, COLOR_BG, 1, -2);
|
||||||
GFX_DrawText(LCD_WIDTH / 2, 100, "Bonjour MONSieur !", &monomaniacone20pt,
|
// GFX_DrawText(LCD_WIDTH / 2, 100, "Bonjour MONSieur !", &monomaniacone20pt,
|
||||||
COLOR_SUCCESS, COLOR_BG, 1, -2);
|
// COLOR_SUCCESS, COLOR_BG, 1, -2);
|
||||||
GFX_DrawText(LCD_WIDTH / 2, 26 + 95, "12", &monomaniacone72pt, COLOR_FG,
|
|
||||||
COLOR_BG, 1, -5);
|
|
||||||
|
|
||||||
// Draw a rectangle with different top/bottom radii
|
// Draw a rectangle with different top/bottom radii
|
||||||
LCD_DrawHollowRoundRect(10, 10, 100, 50, 10, 0, 4, BLACK, COLOR_PRIMARY, 1);
|
// LCD_DrawHollowRoundRect(10, 10, 100, 50, 10, 0, 4, BLACK, COLOR_PRIMARY, 1);
|
||||||
// Draw a pill-shaped rectangle (same radius for all corners)
|
//// Draw a pill-shaped rectangle (same radius for all corners)
|
||||||
LCD_DrawHollowRoundRect(20, 70, 80, 30, 15, 15, 2, COLOR_SUCCESS, 0, 0);
|
// LCD_DrawHollowRoundRect(20, 70, 80, 30, 15, 15, 2, COLOR_SUCCESS, 0, 0);
|
||||||
// Draw a square with rounded corners
|
//// Draw a square with rounded corners
|
||||||
LCD_DrawHollowRoundRect(50, 100, 60, 60, 10, 10, 6, COLOR_ERROR, 0, 0);
|
// LCD_DrawHollowRoundRect(50, 100, 60, 60, 10, 10, 6, COLOR_ERROR, 0, 0);
|
||||||
LCD_DrawHollowRoundRect(130, 100, 60, 60, 10, 10, 0, 0, COLOR_ERROR, 1);
|
// LCD_DrawHollowRoundRect(130, 100, 60, 60, 10, 10, 0, 0, COLOR_ERROR, 1);
|
||||||
LCD_DrawHollowRoundRect(136, 106, 48, 48, 4, 4, 0, 0, COLOR_PRIMARY, 1);
|
// LCD_DrawHollowRoundRect(136, 106, 48, 48, 4, 4, 0, 0, COLOR_PRIMARY, 1);
|
||||||
|
//
|
||||||
LCD_DrawHollowRoundRect(200, 100, 4, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
// LCD_DrawHollowRoundRect(200, 100, 4, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
||||||
LCD_DrawHollowRoundRect(200, 125, 6, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
// LCD_DrawHollowRoundRect(200, 125, 6, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
||||||
LCD_DrawHollowRoundRect(200, 150, 8, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
// LCD_DrawHollowRoundRect(200, 150, 8, 20, 6, 6, 0, 0, COLOR_PRIMARY, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Displays the battery voltage and percent, with the trip and life distances
|
// Displays the battery voltage and percent, with the trip and life distances
|
||||||
@ -163,13 +162,23 @@ void draw_battery(
|
|||||||
// Displays the power bars at the top
|
// Displays the power bars at the top
|
||||||
// Duty from COMM_GET_VALUES, scale 1000
|
// Duty from COMM_GET_VALUES, scale 1000
|
||||||
void draw_power_bars(int16_t duty) {
|
void draw_power_bars(int16_t duty) {
|
||||||
|
uint16_t offset = LCD_WIDTH/2;
|
||||||
|
uint16_t max_width = LCD_WIDTH/2;
|
||||||
|
|
||||||
|
uint16_t width = (duty/100) * max_width / 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Displays the huge speed counter with avg and max values.
|
// Displays the huge speed counter with avg and max values.
|
||||||
// Speed from COMM_GET_VALUES_SETUP, scale 1000
|
// Speed from COMM_GET_VALUES_SETUP, scale 1000
|
||||||
void draw_speed(int32_t speed) {
|
void draw_speed(int32_t speed) {
|
||||||
|
uint16_t erase_width = 90; // width to erase from center
|
||||||
|
|
||||||
|
char speed_text[6];
|
||||||
|
sprintf(speed_text, "%lu", abs(speed / 1000));
|
||||||
|
|
||||||
|
LCD_Draw_Rectangle(LCD_WIDTH/2 - erase_width, 22, 2*erase_width, 110, COLOR_BG);
|
||||||
|
GFX_DrawText(LCD_WIDTH / 2, 32 + 95, speed_text, &monomaniacone72pt, COLOR_FG,
|
||||||
|
COLOR_BG, 1, -5);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Displays Current, Duty, Watts
|
// Displays Current, Duty, Watts
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user