I am using the Puck.js to just collect accelerometer data over a period of time. So far, I have built some code to collect and store the accelerometer data until the button is pushed. However, the memory is full after just a couple sections, and I am aiming to store accelerometer data over nearly an hour.
I also want the data to be stored in a csv, ideally a simple downloadable file. I feel like there has to be a way to store the data as it comes in on a separate file, and then delete it off the memory to keep that space open, but I can't find anything about that. Any suggestions?
As an additional note, this is in conjuction with data we collect at 250 Hz, while this data is not as significant to need that high of a sampling frequency, at least 1 datapoint per second would be necessary.
It might be worth looking at http://www.espruino.com/Data+Collection#flash-memory for how to store data in flash memory vs RAM. It also comes with an example of how to output the data as CSV.
If you write a 'minimal' Puck.js build to your Puck (https://www.espruino.com/Download#puckjs) you get more free flash memory - I think around 90kB.
So if you write accelerometer data as 16 bit values so you don't lose any information that's 6 bytes per reading, so 15,000 samples - and there are only 3600 seconds in an hour.
Actually, I should add, that example stores the data as a string - and to get the maximum data in there you want in binary.
So instead of:
you probably want:
saveData((new Uint16Array([acc.x, acc.y, acc.z])).buffer);
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem