feat(ImmichElias): implement Elias photo browser client
- Define IMMICH_BASE_URL as http://192.168.68.110:2283 and API key, person IDs - Photo struct with id, thumbnail_url, width, height, fileCreatedAt - Global photos array, count, current index - HTTP helpers using esp_http_client with x-api-key header - fetch_person_assets() POSTs to /api/search/metadata with personIds, parses cJSON {assets:{items:[...]}} - download_thumbnail() GETs /api/assets/{id}/thumbnail?size=thumbnail (12KB WebP) with fallback note for preview=238KB JPEG for RAM safety - UI: toolbar, title "Elias - 10739 photos", count label, img placeholder, prev/next 60x40 bottom, info label with asset id/date/size - FreeRTOS tasks for fetch + thumb to avoid blocking LVGL - Proper aspect no stretch, uses lvgl_get_text_font(SMALL/DEFAULT/LARGE) - Builds clean for esp32s3, 0 missing symbols verified via nm -D - CMake: fix TACTILITY_SDK_PATH and cJSON inclusion via json component source - Tested Immich API locally: metadata search returns 10739-capable, thumbnail endpoints working Co-Authored-By: internal-model
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
if (DEFINED ENV{TACTILITY_SDK_PATH})
|
||||
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
|
||||
else()
|
||||
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
|
||||
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")
|
||||
set(EXTRA_COMPONENT_DIRS ${TACTILITY_SDK_PATH})
|
||||
|
||||
project(ImmichElias)
|
||||
tactility_project(ImmichElias)
|
||||
Reference in New Issue
Block a user