Ho la necessità di salvare un flusso dati campionati ogni 1,1mSec (Fast ADC 12bit) sia nella scheda SD che inviarli in tempo reale ad un server esterno (con il protocollo più adatto, in ordine di preferenza: REST, TCP, UDP, MODBUS). Il flusso non è continuo, ma attivato a richiesta con la generazione di un blocco di circa 2000 campionamenti della dimensione di ~16byte (se binario) oppure di ~64byte se ASCII (ordini di grandezza) contenenti un timestamp, forza, spazio e stato, generati al massimo ogni 1,1mSec (i record vengono salvati solo se Forza, Spazio o stato superano dei valori di trigger impostabili).
Per preservare un backup delle prove effettuate ma anche per prevenire la durata della memoria SD, pensavo di utilizzare un file differente per ciascuna prova. Nella documentazione ho trovato descritto il blocco funzione FIFOFile, che gestisce un registro FIFO su file.
E’ possibile utilizzarlo per il mio scopo, con FIFOSize e RLimit molto alti in modo che i dati non vengano mai sovrascritti e con esso alimentare la trasmissione dei dati al server remoto?
Al cambiamento del parametro FIFOFile cosa succede (il file precedente rimane o viene cancellato)?
Lo scopo è quello di cambiare il nome del file conservando il precedente con la possibilità di rileggere il file in un secondo momento (per questo serve conoscere il suo formato, oppure se è possibile forzare i parametri del blocco funzione FIFOFile per rileggerne il contenuto).
Con le tempistiche sopra descritte ritiene possibile utilizzare il blocco funzione RESTClient, anche utilizzando la sua FIFO per salvare i dati nella scheda SD come sopra descritto?
Dove posso trovare la documentazione del protocollo REST implementato in RESTClient?