Storage Movesense中的可用存储是什么?它能够在本地捕获数据多长时间?

Storage Movesense中的可用存储是什么?它能够在本地捕获数据多长时间?,storage,movesense,Storage,Movesense,在中,Movesense似乎使用512kB的本地内存: 我说得对吗?我们是否能够计算它能够在本地存储数据的时间(例如26Hz) 其想法是在本地存储数据,并每隔一段时间将数据与移动应用程序同步 谢谢更新2: 软件版本1.4、1.6和1.9中的数据记录器和日志改进使情况变得更好。现在数据块开销较小,为15/255字节,测量值较大的数据可以拆分为以下数据块。另外,为了查看内存是否已满,可以获取并订阅/Mem/Logbook/isFull资源 更新: 在上一次原型构建(hw构建G1)和生产构建中,EE

在中,Movesense似乎使用512kB的本地内存:

我说得对吗?我们是否能够计算它能够在本地存储数据的时间(例如26Hz)

其想法是在本地存储数据,并每隔一段时间将数据与移动应用程序同步


谢谢更新2:

软件版本1.4、1.6和1.9中的数据记录器和日志改进使情况变得更好。现在数据块开销较小,为15/255字节,测量值较大的数据可以拆分为以下数据块。另外,为了查看内存是否已满,可以获取并订阅/Mem/Logbook/isFull资源


更新:

在上一次原型构建(hw构建G1)和生产构建中,EEPROM数据内存已增长到384kB。可在数据记录器/日志使用和“其他”(Movesense设备lib sw版本>=1.0.1)之间自由分配内存


Movesense传感器有(在写入时):

  • 512kB闪存(程序)内存,其中约70kB用于客户应用程序(其余由蓝牙堆栈、引导加载程序、movesense平台和设置占用)
  • 64kB的RAM,其中约10kB预留给蓝牙堆栈。在初始化框架和执行上下文之后,当前软件似乎有12.5kB的空闲堆供客户软件使用
  • 128 kB的EEPROM数据存储器(尽管在生产版本中可能更大)。这是数据记录器保存测量值的内存
数据记录器要求的每次测量字节数见/sbem code/sbem_definitions.cpp。在26Hz采样率下,每个数据包包含2个测量值,因此需要28个字节,它们以13Hz的间隔出现。每个EEPROM块中有112个字节可用于数据,因此它完全适合,每个128字节块可包含4个数据包。所以答案是:

128*1024 [B] / 128 [B / chuck] / ( 13 [pkg/sec] / 2 [pkg/chunk] ) =>
1024 [chunks] / 6.5 [chuck/sec] = ~157 seconds
免责声明:上述计算是针对当前的Movesense硬件和当前的软件,两者的情况在未来可能会发生变化

完全披露:我为Movesense团队工作