Acquisizione: camera in ritardo ~1 s, grab restituisce frame vecchi #89

Closed
opened 2026-10-24 13:39:52 +00:00 by Adriano · 1 comment
Owner

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

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
Adriano added the bug label 2026-10-24 13:39:52 +00:00
Author
Owner

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: cf64a24 su lavoro/daitarn-tmf-dxfcal
PROVA: 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.

**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: cf64a24 su lavoro/daitarn-tmf-dxfcal PROVA: 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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#89