What is the storage available in Movesense? For how long is it able to capture data locally?

510 views Asked by At

In the tech specs sheet, it seems that Movesense operates with 512kB local memory:

Am I right? Are we able count for how long is it able to store data locally (e.g. 26Hz).

The idea is to store data locally and once a while to sync it with mobile app.

Thanks

1

There are 1 answers

0
PetriL On

UPDATE 2:

The DataLogger and Logbook improvements in software versions 1.4, 1.6 and 1.9 have changed the situation to better. Now the chunk overhead is smaller at 15/255 bytes and the data with big measurements can be split to following chunks. Also to see if the memory is full there is the /Mem/Logbook/isFull resource that can be GET'd and SUBSCRIBE'd.


UPDATE:

In the last proto build (hw build G1) and production builds, the EEPROM Data memory has grown to 384kB. The memory can be freely allocated between DataLogger/Logbook use and "other" (Movesense device lib sw version >= 1.0.1).


Movesense sensor has (at the moment of writing):

  • 512kB of FLASH (program) memory, out of which there is about 70kB for customer application (the rest is taken by Bluetooth stack, bootloader, movesense platform and settings)
  • 64kB of RAM out of which ~10kB is reserved for Bluetooth stack. Current software seems to have 12.5kB free heap for customer software after framework and execution contexts have been initialized.
  • 128 kB of EEPROM data memory (though it may be bigger in production version). This is the memory where DataLogger saves the measurements.

The bytes per measurement required by dataLogger is seen in /sbem-code/sbem_definitions.cpp. At 26Hz sample rate each data packet contains 2 measurements so it takes 28 bytes and they come at 13Hz interval. There is 112 bytes in each EEPROM chunk available for data so it fits exactly and each 128 byte chunk can contain 4 data packets. So the answer:

128*1024 [B] / 128 [B / chuck] / ( 13 [pkg/sec] / 2 [pkg/chunk] ) =>
1024 [chunks] / 6.5 [chuck/sec] = ~157 seconds

Disclaimer: The calculations above are for current Movesense hardware and current software, the situation for both may change in the future

Full disclosure: I work for the Movesense team