我试图从 Emotiv 支持团队和社区获得一些问题的答案,但没有人回答,所以我想也许你们中的一些人正在使用 Emotiv API。
我很难弄清楚原始数据采集过程是如何工作的。我阅读了所有我能找到的关于使用 Emotiv 耳机获取 EEG 原始数据的主题,但它们没有帮助。
这是我的问题:
- 每个通道是否有可能获得 1 个样本?
在我的应用程序中有一个定时器函数,它每 1 毫秒调用一次。如果缓冲区每个通道包含 1 个样本,我想调用另一个函数。
- 函数 EE_DataUpdateHandle() 在调用时是否会转储所有检索到的样本?
如果缓冲区包含每个通道的 1 个样本但 EE_DataGetNumberOfSample() 函数从不返回 1 个样本,我轮询了 EE_DataGetNumberOfSample() 函数以调用另一个函数。这是因为 EE_DataUpdateHandle() 如果调用它会转储所有其他样本吗?我想如果调用 EE_DataUpdatedHandle() 函数,它会指向新数据吗?--> 这是否意味着之前收集的所有数据都无法再访问了?当准备好检索每个通道的 1 个样本时,是否有一个仅返回 EDK_OK 的函数。所以我可以在我的计时器函数中每毫秒轮询一次,如果它返回 EDK_OK,我调用 EE_DataGet 并返回每个通道 1 个样本。
- 我读到您建议使用 Sl eep() 以便在调用 EE_DataUpdateHandle() 之前填充缓冲区您认为可以只在我的计时器函数中计数 1/128 秒以检索每个通道的 1 个样本吗?我真的不知道该怎么做......大约 7.8 毫秒后,缓冲区中每个通道应该有 1 个样本,对吧?如果我每 8 毫秒调用一次 EE_DataGet 函数,因为我的定时器函数每 1 毫秒调用一次,会发生什么情况?
好的,我希望你能提出一些建议来解决我的问题!
干杯,多米尼克