The SDK dispatches a ChunkSent event for
each chunk it sends to DeepAffex Cloud. If you need to send the payloads
to Nuralogix for debugging purposes, you can use the saveToDisk and
downloadFile utility functions to save them as binary files.
A 30-second measurement emits 6 chunks (every 5 seconds), so these helpers will generate 2 files per chunk emitted:
Once the measurement is complete, send all generated files to Nuralogix.
Note: Make sure your browser allows multiple file downloads and doesn't block popups. If prompted by the browser to allow multiple downloads, grant the permission to ensure all files are saved properly.
const downloadFile = (data: Uint8Array, filename: string) => {
const blob = new Blob([data.buffer], {
type: 'application/octet-stream',
});
const url = window.URL.createObjectURL(blob);
const link = window.document.createElement('a');
link.href = url;
link.download = filename;
window.document.body.appendChild(link);
link.click();
window.document.body.removeChild(link);
window.URL.revokeObjectURL(url);
}
const saveToDisk = (chunk: ChunkSent) => {
const { chunkNumber, payload, metadata, measurementId } = chunk;
downloadFile(payload, `${measurementId}-payload-${chunkNumber}.bin`);
downloadFile(metadata, `${measurementId}-metadata-${chunkNumber}.bin`);
};
measurement.on.chunkSent = (chunk: ChunkSent) => {
saveToDisk(chunk);
};