acquisitore: «Attiva calibrazione» con scelta e CONFERMA sotto l'immagine calibrata #93

Closed
opened 2026-10-24 14:59:05 +00:00 by Adriano · 1 comment
Owner

Richiesta Adriano 24/10/2026: nella tab Acquisizione la casella «Mostra immagine calibrata» diventa «Attiva calibrazione»; attivandola compare la seconda immagine e sotto una combo per scegliere la calibrazione e il pulsante CONFERMA che la attiva sulla sorgente.

ANALISI (Opus, base ramo lavoro/daitarn-tmf-dxfcal 9c45a51; solo scripts/calibrazione_pagina.py + test)

  1. Casella id=mostraCal (id invariato): testo «Attiva calibrazione». Spenta = nasconde solo il riquadro, NON scollega (la calibrazione attiva resta per il backend). PRESUNTO, da confermare con Adriano.
  2. Dentro #riquadroCal, sotto .palco: riga con select id=sceltaCal, pulsante id=confermaCal «CONFERMA», messaggio id=msgSceltaCal.
    Voci: «— nessuna (non calibrata) —» (value vuoto) + tutte le calibrazioni di C.elenco, testo «nome · W×H · px/mm», suffisso « — risoluzione diversa» se A.ris noto e diverso (stessa regola di segnaRisoluzioni). Preselezionata C.attiva (o nessuna).
  3. CONFERMA: nome -> PUT /camera/calibrazione-attiva {source, nome}; nessuna -> DELETE /camera/calibration?source=. 409/404: messaggio rosso in msgSceltaCal, select torna su C.attiva, anteprima grezza continua. Riuscita: messaggio verde, A.bloccoCal=false, await aggiornaStato(), caricaCalibrazioni() (schede della tab Calibrazione allineate), aggiornaCalibrata().
    caricaNome/scollega si riusano con il campo messaggio come parametro (msgElenco | msgSceltaCal), senza duplicare il fetch.
  4. Combo ridisegnata da disegnaElenco (ogni ricarica dell'elenco: cambio sorgente, salva, elimina, carica, scollega) e da segnaRisoluzioni quando arriva la risoluzione del frame. Senza sorgente: select e CONFERMA disabilitati.
  5. Larghezza 400 px: niente scorrimento orizzontale (select flessibile, pulsante a capo).
    NON TOCCARE: scripts/camera_service.py, scripts/calibrazione.py, rotte, cache sorgenti (#92).
    TEST: test_pagina_tab.py / test_pagina_acquisizione.py aggiornati al nuovo testo; nuovo test: ids sceltaCal/confermaCal/msgSceltaCal presenti, «Attiva calibrazione» e «CONFERMA» nel testo, «Mostra immagine calibrata» assente, handler di confermaCal usa PUT /camera/calibrazione-attiva e DELETE /camera/calibration; pytest scripts/tests tutti verdi (base 151); node --check sullo script estratto. Prova d'insieme Playwright fatta da Opus su TMF.
Richiesta Adriano 24/10/2026: nella tab Acquisizione la casella «Mostra immagine calibrata» diventa «Attiva calibrazione»; attivandola compare la seconda immagine e sotto una combo per scegliere la calibrazione e il pulsante CONFERMA che la attiva sulla sorgente. ANALISI (Opus, base ramo lavoro/daitarn-tmf-dxfcal 9c45a51; solo scripts/calibrazione_pagina.py + test) 1. Casella id=mostraCal (id invariato): testo «Attiva calibrazione». Spenta = nasconde solo il riquadro, NON scollega (la calibrazione attiva resta per il backend). PRESUNTO, da confermare con Adriano. 2. Dentro #riquadroCal, sotto .palco: riga con select id=sceltaCal, pulsante id=confermaCal «CONFERMA», messaggio id=msgSceltaCal. Voci: «— nessuna (non calibrata) —» (value vuoto) + tutte le calibrazioni di C.elenco, testo «nome · W×H · px/mm», suffisso « — risoluzione diversa» se A.ris noto e diverso (stessa regola di segnaRisoluzioni). Preselezionata C.attiva (o nessuna). 3. CONFERMA: nome -> PUT /camera/calibrazione-attiva {source, nome}; nessuna -> DELETE /camera/calibration?source=. 409/404: messaggio rosso in msgSceltaCal, select torna su C.attiva, anteprima grezza continua. Riuscita: messaggio verde, A.bloccoCal=false, await aggiornaStato(), caricaCalibrazioni() (schede della tab Calibrazione allineate), aggiornaCalibrata(). caricaNome/scollega si riusano con il campo messaggio come parametro (msgElenco | msgSceltaCal), senza duplicare il fetch. 4. Combo ridisegnata da disegnaElenco (ogni ricarica dell'elenco: cambio sorgente, salva, elimina, carica, scollega) e da segnaRisoluzioni quando arriva la risoluzione del frame. Senza sorgente: select e CONFERMA disabilitati. 5. Larghezza 400 px: niente scorrimento orizzontale (select flessibile, pulsante a capo). NON TOCCARE: scripts/camera_service.py, scripts/calibrazione.py, rotte, cache sorgenti (#92). TEST: test_pagina_tab.py / test_pagina_acquisizione.py aggiornati al nuovo testo; nuovo test: ids sceltaCal/confermaCal/msgSceltaCal presenti, «Attiva calibrazione» e «CONFERMA» nel testo, «Mostra immagine calibrata» assente, handler di confermaCal usa PUT /camera/calibrazione-attiva e DELETE /camera/calibration; pytest scripts/tests tutti verdi (base 151); node --check sullo script estratto. Prova d'insieme Playwright fatta da Opus su TMF.
Adriano added the sviluppo label 2026-10-24 14:59:05 +00:00
Author
Owner

Soluzione

ESITO: fatto
RIF: gitea:Adriano/TieMeasureFlow#93, ramo lavoro/daitarn-tmf-dxfcal, commit 800ec41
COSA: casella «Attiva calibrazione»; sotto la calibrata combo (— nessuna — + tutte le calibrazioni, nome · W×H · px/mm, «risoluzione diversa») e CONFERMA (PUT /camera/calibrazione-attiva o DELETE /camera/calibration). Casella spenta = nasconde solo il riquadro, non scollega (PRESUNTO, detto ad Adriano).
FILE: scripts/calibrazione_pagina.py — disegnaSceltaCal, testoVoceCal, confermaCal.onclick, caricaNome/scollega con idMsg; test in scripts/tests/test_pagina_tab.py e test_pagina_acquisizione.py
PROVA: pytest scripts/tests → 152 passed; Playwright Edge su TMF: immagine calibration_135_1.bmp nessuna→non calibrata, Scacchiera→calibrata e immagine raddrizzata; Itala 601020 + Scacchiera → 409 in rosso, combo torna su nessuna, anteprima grezza viva, 0 richieste calibrata; 400 px senza scorrimento.
NOTA: prima prova subito dopo il riavvio del servizio: stato in ritardo di un passo; non riprodotto nella seconda (stato aggiornato in 40 ms). PRESUNTO: richieste lente durante la ricerca camere iniziale. Da tenere d'occhio.

**Soluzione** ESITO: fatto RIF: gitea:Adriano/TieMeasureFlow#93, ramo lavoro/daitarn-tmf-dxfcal, commit 800ec41 COSA: casella «Attiva calibrazione»; sotto la calibrata combo (— nessuna — + tutte le calibrazioni, nome · W×H · px/mm, «risoluzione diversa») e CONFERMA (PUT /camera/calibrazione-attiva o DELETE /camera/calibration). Casella spenta = nasconde solo il riquadro, non scollega (PRESUNTO, detto ad Adriano). FILE: scripts/calibrazione_pagina.py — disegnaSceltaCal, testoVoceCal, confermaCal.onclick, caricaNome/scollega con idMsg; test in scripts/tests/test_pagina_tab.py e test_pagina_acquisizione.py PROVA: pytest scripts/tests → 152 passed; Playwright Edge su TMF: immagine calibration_135_1.bmp nessuna→non calibrata, Scacchiera→calibrata e immagine raddrizzata; Itala 601020 + Scacchiera → 409 in rosso, combo torna su nessuna, anteprima grezza viva, 0 richieste calibrata; 400 px senza scorrimento. NOTA: prima prova subito dopo il riavvio del servizio: stato in ritardo di un passo; non riprodotto nella seconda (stato aggiornato in 40 ms). PRESUNTO: richieste lente durante la ricerca camere iniziale. Da tenere d'occhio.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#93