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,8 @@
|
||||
file(GLOB_RECURSE SOURCE_FILES Source/*.c)
|
||||
set(CJSON_SOURCE "$ENV{IDF_PATH}/components/json/cJSON/cJSON.c")
|
||||
|
||||
idf_component_register(
|
||||
SRCS ${SOURCE_FILES} ${CJSON_SOURCE}
|
||||
INCLUDE_DIRS Source "$ENV{IDF_PATH}/components/json/cJSON"
|
||||
REQUIRES TactilitySDK esp_http_client
|
||||
)
|
||||
Reference in New Issue
Block a user