1

ヘッドセット Emotiv Epoc の SDK からファイルをコンパイルしようとしています。しかし、コンパイルすると、次のエラーメッセージが表示されます。

"Traceback (most recent call last):
 File "emotiv.py", line 419, in 
 a.setup()
 File "emotiv.py", line 232, in setup
 self.setupWin()
 File "emotiv.py", line 305, in setupWin
gevent.spawn(self.setupCrypto, self.serialNum)
AttributeError: 'Emotiv' object has no attribute 'serialNum'"

このエラーが発生したコードを確認しました。

    def setupWin(self):
    devices = []
    try:
        for device in hid.find_all_hid_devices():
            if device.vendor_id != 0x21A1:
                continue
            if device.product_name == 'Brain Waves':
                devices.append(device)
                device.open()
                self.serialNum = device.serial_number
                device.set_raw_data_handler(self.handler)
            elif device.product_name == 'EPOC BCI':
                devices.append(device)
                device.open()
                self.serialNum = device.serial_number
                device.set_raw_data_handler(self.handler)
            elif device.product_name == '00000000000':
                devices.append(device)
                device.open()
                self.serialNum = device.serial_number
                device.set_raw_data_handler(self.handler)
        gevent.spawn(self.setupCrypto, self.serialNum)**<-- the error line**
        gevent.spawn(self.updateStdout)

学校のプロジェクトでこれが必要です。私はpythonが初めてなので、何が原因かわかりません.emokit sdkサイトにこの問題を投稿しましたが、答えがありませんでした. これはコード全体の Web サイトです: https://github.com/openyou/emokit/blob/master/python/emokit/emotiv.py 助けていただければ幸いです。

4

1 に答える 1

0

最近の EPOC では、vendor_idが変更されました。行を置き換えてみてください:

if device.vendor_id != 0x21A1:

if device.vendor_id != 0x21A1 and device.vendor_id != 0x1234:

誰かがすでにこれに気付き、emokit Github ページでチケットをオープンしました。

于 2013-06-21T12:42:50.863 に答える