Il componente “Circular Buffer”, è un metodo di immagazzinamento dati di tipo “First In First Out” (FIFO), il primo dato che entra è il primo dato che esce.
E’ utilizzato per comunicare, catturare e immagazzinare i dati, attraverso un collegamento seriale, per un utilizzo successivo.
esempio di immagazinamento erecuper dei dati
Tra i messaggi di risposta disponibili, ci sono: “OK”, “Error” e “Timeout”.
L’immagine seguente mostra i dati nel Circular Buffer all’avvio della prima simulazione.
Nella seconda immagine la posizione di partenza è spostata di 4 posizioni, da qui il nome , Circular Buffer.
Macro reference
LookForValue:
scansiona il buffer alla ricerca di uno specifico valore.
Restituisce 0 se non lo trova. - restituisce1 se il valore è trovato.
Parametri:
GetIndexeByte:
ottiene il valore di un singolo byte a una posizione conosciuta nel buffer.
Lascia inalterati il contenuto del buffer e i puntatori .
Parametri: UINT adress
Return value: BYTE
WaitForValue:
attende finchè arriva un array o un valore nel circolar buffer.
Restituisce 0 per indicare un Time Out - restituisce 1 per indicare che il dato è stato trovato.
Parametri
Return value: BYTE
GetNumberBytes:
Restituisce il numero o un dato valido presente nel buffer.
Parametri : non ci sono parametri
Valore di ritorno: UINT
PeekByte:
Legge il prossimo byte disponibile nel circolar buffer senza incrementare l’indice corrente.
Valore di ritorno: 255/512 se il buffer è vuoto.
Parametri: questa macro non ha parametri.
Valore di ritorno: UINT
PutByte
Aggiunge un byte alla prossima posizione libera nel circular buffer.
Se il byte è inserito correttamente restituisce 1, altrimenti il buffer è pieno e il valore di ritorno è 0.
Parametri: BYTE Data
Return value: BYTE
GetByte:
Legge il prossimo byte disponibile dal circular buffer.
Ritorna 255 se il buffer è vuoto.
Parametri: questa macro non ha parametri.
Valore di ritorno: UINT
FlushBuffer:
Pulisce il contenuto del buffer e re-inizializza l’indice.
Parametri: questa macro non ha parametri.
Return value: questa chiamata non restituisce un valore
simulazione
GetConsoleHandle: ottiene la gestione alla console permettendo di visualizzare i dati sul pannello, etc.
Parametri: questa macro non ha parametri.
Return value: HANDLE
properties reference
Buffer size: riferito alla variabile BufferSize di tipo Unsigned integer.
Imposta il numero di byte nel circolar buffer.
Storage Type: riferito alla variabile StorageType di tipo “Fix list of ints”. (Lista di interi)
Quando il buffer è pieno questa proprietà decide cosa fare.
Immagazzina il “first x value” –mantiene l’informazione nel buffer il nuovo dato sarà scaricato.
Immagazzina “last X value” – scarica la posizione più vecchia nel buffer e sovrascrive con il dato nuovo.
Memory Type: riferito alla variabile MemType di tipo “Fixed list of ints” .
Non ci sono altre informazioni.
Return Type: riferito alla variabile Returns di tipo “Fixed list of ints”.
Specifica il modo di indicare il timeout.
Riccardo Monti