我试图从Emotiv支持团队和社区获得我的问题的答案,但没有人回答,所以我想也许你们中的一些人正在使用Emotiv API。
我很难弄清楚原始数据采集过程是如何工作的。我阅读了有关使用Emotiv耳机获取EEG原始数据的所有主题,但他们没有帮助。
这是我的问题:
在我的应用程序中,有一个定时器功能,每1ms调用一次。如果缓冲区每个通道包含1个样本,我想调用另一个函数。
如果Buffer包含每个Channel 1个Sample但EE_DataGetNumberOfSample()函数永远不返回1个样本,则轮询EE_DataGetNumberOfSample()函数以调用另一个函数。这是因为如果调用它,EE_DataUpdateHandle()会转储所有其他样本吗?我想如果调用了EE_DataUpdatedHandle()函数,它指向新数据吧? - >这是否意味着以前收集的所有数据都不再可访问? 当准备好检索每个通道1个样本时,是否存在仅返回EDK_OK的函数。 所以我可以轮询我的计时器函数中的每个ms,如果它返回EDK_OK,我调用EE_DataGet,它返回每个通道1个样本。
好的,我希望你能提出一些如何解决我的问题的建议!
干杯, 多米尼克
答案 0 :(得分:1)
OpenVibe是开源的,附带Emotiv驱动程序,您可以查看。
答案 1 :(得分:0)
我认为除非情绪改变他们的编程模型,否则不可能同时从频道获得1个样本。
当前的情感API库似乎从耳机获取数据并将其保存到数据缓冲区,而客户端应用程序只能使用EE_DataGet从缓冲区轮询数据。
可能缓冲区不会被情感库仅填充一个数据条目。如果不是这样,您可以尝试尽快进行轮询(比数据采集更快),看看是否只能使用EE_DataGet获取1个样本(然后调用EE_DataUpdateHandle来清理新样本的缓冲区)。