我试着从Emotiv支持小组和社区那里得到一些问题的答案,但是没有人回答,所以我想也许你们中的一些人正在使用Emotiv。
我很难弄清楚原始数据采集过程是如何工作的。我阅读了所有关于Emotiv耳机脑电原始数据采集的主题,但它们没有帮助。
以下是我的问题:
在我的应用程序中,有一个计时器函数,精确地每1ms调用一次。如果缓冲区每个通道包含一个样本,我想调用另一个函数。
我轮询了EE_DataGetNumberOfSample()函数,以便调用另一个函数,如果缓冲区每个通道包含1个样本,但是EE_DataGetNumberOfSample()函数永远不会返回1个示例。这是因为如果调用EE_DataUpdateHandle(),会转储所有其他示例吗?我认为如果调用EE_DataUpdatedHandle()函数,它会指向新的数据,对吗?->这是否意味着以前收集的所有数据都无法访问?当每个通道准备检索一个样本时,是否有一个函数只返回EDK_OK。因此,我可以轮询计时器函数中的每个ms,如果它返回EDK_OK,则调用EE_DataGet,然后每个通道返回1个示例。
好的,我希望你能提出一些解决我的问题的建议!
干杯,多明尼克
发布于 2012-06-14 21:00:52
OpenVibe是开源的,带有Emotiv驱动程序,您可以查看它。
发布于 2012-07-20 12:04:23
我认为,除非emotiv改变他们的编程模型,否则不可能一次从一个通道中获得一个样本。
当前的emotiv库似乎从耳机中获取数据并将其保存到数据缓冲区,而客户端应用程序只能使用EE_DataGet从缓冲区轮询数据。
可能emotiv库不会只用一个数据输入来填充缓冲区。如果不是这样,您可以尝试尽可能快地进行轮询(比数据采集更快),看看是否只能使用EE_DataGet获得一个样本(然后调用EE_DataUpdateHandle来清理新示例的缓冲区)。
https://stackoverflow.com/questions/10155227
复制相似问题