Documentazione utente

Manuale modulo Delimited ASCII Frame FemtoBench

Riferimento per interfaccia, configurazione e procedure d'uso

DocumentoManuale modulo Delimited ASCII Frame FemtoBench
Versione1.0.9
LinguaItaliano
Aggiornamento22 settembre 2026
StatoEdizione aggiornata

Manuale modulo Delimited ASCII Frame

Il modulo Delimited ASCII Frame 1.0.9 richiede FemtoBench 0.1.24 o successivo.

Il modulo Delimited ASCII Frame costruisce e interpreta frame ASCII strutturati con delimitatori, checksum e terminatori configurabili dal modulo.

Il modulo gestisce trasporti Serial, UDP e BLE. Le regole di framing restano uniformi, mentre la risorsa definisce il mezzo fisico e la destinazione descrive il comando applicativo.

Modulo Delimited ASCII Frame nell'elenco dei moduli
Stato di caricamento e licenza del modulo Delimited ASCII Frame.

Verifica prima dell’avvio

Da FemtoBench 0.1.28, con la verifica preliminare attiva nelle preferenze, il modulo controlla per i trasporti seriali che la porta configurata sia presente, accessibile e non risulti occupata tramite un blocco attivo. Il controllo non apre la porta e non invia comandi. Dopo aver collegato il cavo o liberato la porta, Riprova ripete le verifiche; Annulla evita l’avvio e la registrazione della sessione. La verifica non riserva la porta per l’esecuzione successiva.

Configurazione risorsa in Configurazioni banco

La risorsa si aggiunge nella schermata Configurazioni banco. Per il canale Serial, Dettagli risorsa espone Porta, cioè la porta fisica della postazione. UDP e BLE non dichiarano campi di identità a livello banco; i rispettivi punti di accesso e le regole di composizione appartengono al prodotto.

Per ogni parametro configurabile, Modificabile dall’operatore consente al progettista del banco di delegare un eventuale override a Configurazione stazione. L’override vale soltanto sulla postazione corrente.

Il campo Porta è una casella combinata editabile: propone le porte seriali rilevate dal sistema, ma accetta anche un nome o percorso inserito manualmente. Il pulsante di aggiornamento a fianco ripete l’enumerazione, utile dopo aver collegato o scollegato un adattatore USB-seriale senza chiudere la schermata.

Campo Descrizione
Nome Nome dell’istanza Delimited ASCII Frame disponibile sul banco.
Porta Porta seriale fisica, ad esempio COM3 o /dev/ttyUSB0.
Istanza della risorsa Delimited ASCII Frame nel banco
Istanza del canale; i parametri UDP e di framing sono configurati per prodotto.

Configurazione prodotto in Prodotti

Nella schermata Prodotti, selezionando il banco associato, il pannello di configurazione risorsa espone trasporto e framing usati dal DUT.

Seriale

Campo Descrizione
Velocità (baud) Velocità seriale. Valori predefiniti: 9600, 19200, 38400, 57600, 115200; sono ammessi valori personalizzati.
Bit dati Numero bit dati: 5, 6, 7 o 8.
Parità Parità: Nessuna, Pari o Dispari.
Bit di stop Numero bit di stop: 1 o 2.
Timeout risposta (ms) Timeout attesa risposta, intervallo 0..60000 ms.
Attesa dopo apertura (ms) Ritardo dopo apertura porta prima della richiesta.
Timeout pulizia pre-TX (ms) Tempo massimo per svuotare l’ingresso seriale pendente prima della trasmissione.
Intervallo di silenzio pre-TX (ms) Intervallo di quiete usato durante lo svuotamento dell’ingresso.
Riga di sincronizzazione all’apertura Invia una riga terminata vuota dopo l’apertura e svuota nuovamente l’ingresso.

UDP

Campo Descrizione
Host remoto Nome host o indirizzo IP del dispositivo.
Porta remota Porta UDP remota, intervallo 1..65535.
Porta locale Porta UDP locale, intervallo 0..65535; 0 usa assegnazione automatica.
Timeout risposta (ms) Timeout attesa risposta, intervallo 0..60000 ms.

BLE

Campo Descrizione
Nome dispositivo Nome DUT annunciato.
UUID servizio annunciato UUID servizio opzionale usato come filtro di rilevamento.
Timeout scansione (ms) Tempo massimo di rilevamento BLE, intervallo 100..120000 ms.
Timeout connessione (ms) Tempo massimo di connessione BLE, intervallo 100..120000 ms.
Timeout operazione (ms) Timeout operazioni BLE GATT, intervallo 100..120000 ms.
UUID servizio Servizio GATT che contiene le caratteristiche del frame ASCII.
UUID caratteristica di scrittura Caratteristica GATT usata per scrivere i frame richiesta.
UUID caratteristica di lettura Caratteristica GATT usata per leggere i frame risposta; vuoto usa la stessa caratteristica di scrittura.
Modalità di scrittura Modalità scrittura GATT: Con risposta o Senza risposta.
Timeout risposta (ms) Timeout attesa risposta BLE dopo scrittura richiesta, intervallo 100..120000 ms.

Framing comune

Questi campi sono comuni ai canali Serial, UDP e BLE.

Campo Descrizione
Inizio frame Marcatore ASCII opzionale all’inizio del frame. Valore predefinito $.
Separatore campi Separatore ASCII tra intestazione e campi. Valore predefinito ,.
Delimitatore checksum Marcatore ASCII opzionale prima del checksum. Se è vuoto, FemtoBench imposta automaticamente Tipo checksum su Nessuno.
Tipo checksum Algoritmo checksum: Nessuno, XOR8, SUM8, CRC16 CCITT, CRC16 Modbus o CRC32. Nessuno rimuove anche il delimitatore.
Codifica checksum Rappresentazione testuale checksum: esadecimale maiuscolo o minuscolo, oppure decimale.
Terminatore Terminatore frame: CRLF, LF, CR o Nessuno.

Per il canale Serial, Porta resta identificativo del banco; gli altri parametri seriali, timeout e framing sono configurabili per il prodotto. Per canali UDP e BLE, i campi di rete, rilevamento, caratteristiche GATT e framing sono configurabili per il prodotto.

Per il canale Serial, il modulo colloca nella sezione Avanzate questi parametri destinati alla messa a punto della comunicazione:

Campo Descrizione
Attesa dopo apertura (ms) Ritardo tra l’apertura della porta e l’invio della richiesta.
Timeout pulizia pre-TX (ms) Tempo massimo dedicato allo svuotamento dei dati seriali già presenti prima della trasmissione.
Intervallo di silenzio pre-TX (ms) Intervallo senza nuovi dati che conclude la pulizia prima della trasmissione.
Riga di sincronizzazione all’apertura Invia una riga vuota terminata dopo l’apertura e ripete la pulizia dell’ingresso.
Parametri Delimited ASCII specifici del prodotto
Parametri di trasporto e framing adattati al firmware del prodotto.

Configura destinazione Delimited ASCII Frame

La finestra si apre da Profili di comunicazione > Dettagli associazione > Configura… quando l’associazione usa il modulo Delimited ASCII Frame.

Richiesta

Campo Descrizione
Intestazione Intestazione del frame o token comando inviato prima del payload.
Schema dei token Espressione regolare che valida token richiesta e valore di scrittura.
Token payload Token separati da virgola aggiunti dopo l’intestazione.
Criterio valore di scrittura Indica se lo step deve fornire un valore per la richiesta.
Valore di scrittura predefinito Valore predefinito usato se lo step non fornisce un valore.

Risposta

Campo Descrizione
Tipo Regola di corrispondenza della risposta: Eco, Payload o Personalizzata.
Indice valore payload Indice del token payload da cui estrarre il valore.
Intestazione risposta Intestazione attesa; vuoto usa l’intestazione della richiesta.
Token payload risposta Token payload richiesti nella risposta personalizzata.
Prefisso payload atteso Prefisso payload opzionale richiesto prima del valore estratto.
Estrai valore payload Estrae il valore dal payload quando la risposta personalizzata lo prevede.

Il modulo attende una risposta che corrisponda all’intestazione e ai token configurati. Frame intermedi o destinati ad altri dispositivi restano nel log e non interrompono l’attesa; il timeout complessivo resta quello impostato. Una risposta corrispondente con un payload non valido produce invece un errore. Il comportamento è identico in tutte le lingue dell’interfaccia.

La riga Anteprima mostra il frame generato con delimitatori, checksum e terminatore correnti. OK salva una destinazione valida; Annulla chiude la finestra senza applicare modifiche.

Configurazione della destinazione Delimited ASCII Frame
Header, campi richiesta e regole di estrazione della risposta.

Esempio: lettura temperatura

Con inizio frame $, separatore ,, checksum XOR8 preceduto da * e terminatore CRLF, l’associazione device.temperature usa intestazione READ e token TEMP. La risposta di tipo Payload estrae il token all’indice configurato. Il valore risultante viene convertito nel tipo dell’associazione e confrontato con l’intervallo ammesso dalla sequenza.

Per la diagnostica si verifica prima l’Anteprima, poi si usa Prova associazione… per controllare frame TX, frame RX, checksum e token estratto.

Riferimenti ai campi del banco nel payload

Accanto a Token payload, premi Riferimenti…: la finestra elenca risorse e campi del banco selezionato, con ricerca per nome e descrizione. Seleziona il campo e premi Inserisci per aggiungere il riferimento alla posizione del cursore; Copia riferimento permette invece di incollarlo manualmente. Chiudere senza inserire lascia invariato il payload.

Ad esempio, un payload può contenere:

SET,${bench.resource.bt-audio.macAddress}

Il namespace è bench.resource, al singolare. Il riferimento mantiene maiuscole e minuscole; durante l’esecuzione viene sostituito con il valore effettivo della risorsa, incluse le impostazioni locali della stazione. I campi devono avere un valore configurato sul banco in uso. I riferimenti mancanti impediscono l’invio.

Schema dei token controlla il valore risolto: per trasmettere comandi e MAC con lettere esadecimali e due punti puoi usare ^[A-Z0-9_:]+$. Il pattern predefinito ^[A-Z0-9_]+$ non ammette i due punti. Mantieni il pattern coerente con il protocollo del dispositivo; i separatori del frame restano comunque vietati nei token.

La finestra Riferimenti non blocca l’editor: rimane aperta anche dopo la copia o l’inserimento. Se è già aperta quando accedi alla configurazione del target, resta utilizzabile nel target conservando ricerca, posizione e dimensioni; alla conferma o all’annullamento torna alla pagina del profilo. Puoi anche aprirla direttamente dal pulsante accanto ai token del payload. Il destinatario è indicato in basso e può essere cambiato selezionando un altro campo compatibile. Il catalogo comprende anche riferimenti generali e dati della sessione; Mostra anche i non disponibili consente di consultare e copiare le voci fuori contesto, mantenendo disabilitato il loro inserimento automatico. I valori delle variabili locali di una sequenza non sono riferimenti generali per un’associazione riutilizzabile.

Ascolto di eventi seriali spontanei

Nel target, Ascolta senza trasmettere (seriale) attende un nuovo frame senza inviare richieste, valori o terminatori di sincronizzazione. L’opzione è disponibile solo per un canale seriale. Header e token del payload identificano il messaggio in ingresso; le impostazioni Risposta stabiliscono come estrarre il valore. Per esempio, con header ABX, token IR, risposta Payload e indice 0, il frame NMEA ABX,IR,11 restituisce 11, dopo verifica del checksum.

Usare l’associazione come azione della sequenza e validare con Risposta azione: il valore atteso decide PASS/FAIL, mentre un valore diverso deve poter raggiungere la validazione. La politica del valore da scrivere è disabilitata durante l’ascolto. Il timeout è una singola finestra di attesa, senza ritrasmissioni o tentativi ripetuti.

Mostra istruzione durante l’ascolto nell’editor della sequenza mostra la richiesta all’operatore soltanto dopo apertura e svuotamento dell’ingresso seriale. Alla ricezione la finestra si chiude automaticamente; Interrompi annulla l’attesa. I dati già presenti prima dell’istruzione non valgono come nuova pressione. Un timeout termina il passo senza successo. Confermare il target con OK, poi salvare l’associazione; Annulla nel target e Scarta nella pagina conservano la configurazione salvata.