diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a4b2cc..a18b31a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,8 @@ cmake_minimum_required(VERSION 3.5) include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +set(PROJECT_NAME "MCH2022 launcher") +set(PROJECT_VER "0.1") + project(main) diff --git a/main/main.c b/main/main.c index 26d3841..3c01c49 100644 --- a/main/main.c +++ b/main/main.c @@ -15,7 +15,7 @@ #include "pax_gfx.h" #include "sdcard.h" #include "appfs.h" - +#include "esp_ota_ops.h" #include "rp2040.h" #include "rp2040bl.h" @@ -71,6 +71,10 @@ void display_fatal_error(pax_buf_t* pax_buffer, ILI9341* ili9341, const char* li void app_main(void) { esp_err_t res; + + const esp_app_desc_t *app_description = esp_ota_get_app_description(); + ESP_LOGI(TAG, "App version: %s", app_description->version); + //ESP_LOGI(TAG, "Project name: %s", app_description->project_name); /* Initialize memory */ uint8_t* framebuffer = heap_caps_malloc(ILI9341_BUFFER_SIZE, MALLOC_CAP_8BIT); @@ -236,7 +240,7 @@ void app_main(void) { /* Launcher menu */ while (true) { - menu_start(rp2040->queue, pax_buffer, ili9341); + menu_start(rp2040->queue, pax_buffer, ili9341, app_description->version); } free(framebuffer); diff --git a/main/menus/start.c b/main/menus/start.c index 5de0a34..4f1854b 100644 --- a/main/menus/start.c +++ b/main/menus/start.c @@ -41,14 +41,20 @@ typedef enum action { ACTION_SETTINGS } menu_start_action_t; -void render_start_help(pax_buf_t* pax_buffer) { +void render_start_help(pax_buf_t* pax_buffer, const char* version) { const pax_font_t *font = pax_get_font("saira regular"); pax_background(pax_buffer, 0xFFFFFF); pax_noclip(pax_buffer); pax_draw_text(pax_buffer, 0xFF491d88, font, 18, 5, 240 - 18, "[A] accept"); + + char version_text[64]; + snprintf(version_text, sizeof(version_text), "v%s", version); + + pax_vec1_t version_size = pax_text_size(font, 18, version_text); + pax_draw_text(pax_buffer, 0xFF491d88, font, 18, 320 - 5 - version_size.x, 240 - 18, version_text); } -void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili9341) { +void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili9341, const char* version) { menu_t* menu = menu_alloc("Main menu", 34, 18); menu->fgColor = 0xFF000000; @@ -83,7 +89,7 @@ void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili934 bool render = true; menu_start_action_t action = ACTION_NONE; - render_start_help(pax_buffer); + render_start_help(pax_buffer, version); while (1) { rp2040_input_message_t buttonMessage = {0}; @@ -135,7 +141,7 @@ void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili934 } action = ACTION_NONE; render = true; - render_start_help(pax_buffer); + render_start_help(pax_buffer, version); } } diff --git a/main/menus/start.h b/main/menus/start.h index f3de243..88c8ab7 100644 --- a/main/menus/start.h +++ b/main/menus/start.h @@ -5,4 +5,4 @@ #include "pax_gfx.h" #include "ili9341.h" -void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili9341); +void menu_start(xQueueHandle buttonQueue, pax_buf_t* pax_buffer, ILI9341* ili9341, const char* version); diff --git a/sdkconfig b/sdkconfig index 753c246..7461ec7 100644 --- a/sdkconfig +++ b/sdkconfig @@ -157,15 +157,15 @@ CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y CONFIG_APP_BUILD_GENERATE_BINARIES=y CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -CONFIG_APP_REPRODUCIBLE_BUILD=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set # end of Build type # # Application manager # # CONFIG_APP_COMPILE_TIME_DATE is not set -CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y -CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 # end of Application manager