Acquisizione: camera in ritardo ~1 s, grab restituisce frame vecchi #89
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
DIFETTO: pagina Acquisizione (#87) mostra la camera in ritardo di ~1 s; /camera/grab dopo una pausa restituisce un frame catturato subito dopo il grab precedente (misura sulla scena vecchia). Causa nella coda GenTL: gitea:Adriano/TieVision-Core#341 (misure li').
VERIFICATO (daitarn 24/10/2026, Itala 601020 via GenTL, VS_CAMERA_ESCLUDI=OECS): /camera/anteprima 32-49 ms e /camera/grab ~39 ms lato server, quindi il ritardo non e' HTTP ne' JPEG; e' l'eta' del frame (3 buffer OldestFirst × ciclo pagina 350 ms).
ANALISI (passo 1, claude-opus-5-5)
FILE: scripts/camera_service.py, funzione _apri (~riga 166): dopo open_source(...) e prima di _carica_settaggi:
if hasattr(sorgente, "solo_ultimo_frame"): # TieVision-Core#341: sempre il frame piu' recente
try: sorgente.solo_ultimo_frame()
except Exception as e: _log.warning("frame piu' recente non impostabile su %s: %s", nome, e)
Il servizio e' free-run (anteprima e Scatta vogliono la scena di adesso), quindi NewestOnly e' giusto per tutte le camere che lo aprono.
DIPENDE DA: metodo GenicamSource.solo_ultimo_frame di TieVision-Core#341 (submodule vendor/visionsuite, ramo lavoro/daitarn-dxfoverlay).
NON TOCCARE: calibrazione_pagina.py (ciclo 300 ms invariato), rotte, frontend.
TEST: scripts/tests (test del servizio esistenti): sorgente finta con solo_ultimo_frame → chiamato una volta all'apertura; sorgente che solleva → apertura riuscita e warning; sorgente senza metodo (cartella) → nessun errore.
Comando: uv run --python 3.13 --extra vision-worker --extra dev --with-editable vendor/visionsuite/packages/vs-camera pytest scripts/tests -q
Soluzione
ESITO: fatto
COSA: acquisitore chiama solo_ultimo_frame() all'apertura della camera (TieVision-Core#341); errore → warning, apertura prosegue.
FILE: scripts/camera_service.py _apri; scripts/tests/test_camera_acquisizione.py (3 test); submodule vendor/visionsuite → 06b549a
COMMIT:
cf64a24su lavoro/daitarn-tmf-dxfcalPROVA: scripts/tests → 65 passed; TMF da sorgente su daitarn riavviato, /camera/anteprima 200 in 32-34 ms, nessun warning; misura diretta in Core#341.
MANCA: entra nel PC fiera con la prossima build daltanius.