GUI 3 Errors :)

I reinstalled Anaconda with add PATH to name option checked. I ran the python requirements from the github: pip install flask flask_socketio flask_cors odrive, they all installed successfully (requirement already satisfied from previous runs of the command).

Launching the GUI has the bar turn green, however the interface does not actually work. Debug output as follows:

self.run() File “C:\Users\ConnorLeClaire\Anaconda3\lib\threading.py”, line 870, in run

self._target(*self._args, **self._kwargs)

File “C:\Users\ConnorLeClaire\Anaconda3\lib\site-packages\socketio\server.py”, line 690, in _handle_event_internal

r = server._trigger_event(data[0], namespace, sid, *data[1:]) File “C:\Users\ConnorLeClaire\Anaconda3\lib\site-packages\socketio\server.py”, line 714, in _trigger_event

return self.handlers[namespace]event File “C:\Users\ConnorLeClaire\Anaconda3\lib\site-packages\flask_socketio_init_.py”, line 284, in _handler

return self.handle_event(handler, message, namespace, sid, File "C:\Users\ConnorLeClaire\Anaconda3\lib\site-packages\flask_socketio_init.py", line 767, in _handle_event

ret = handler(*args) File “C:\Users\CONNOR~1\AppData\Local\Temp\1m2eIZGTRxmt3FzYSWZkn2xgNP8\resources\server\odrive_server.py”, line 86, in getODrives

start_discovery() File “C:\Users\CONNOR~1\AppData\Local\Temp\1m2eIZGTRxmt3FzYSWZkn2xgNP8\resources\server\odrive_server.py”, line 74, in start_discovery

fibre.find_all(“usb”, None, discovered_device, shutdown, shutdown, log) AttributeError: module ‘fibre’ has no attribute ‘find_all’

Any thoughts to what this could be?

2 Likes

Hi All,
I am seeing the same error. It worked fine yesterday but today i’m getting fibre has no attribute find_all.

Hope you can help.
Nick

I got the same trouble.Have you solved it?If you can give your solution, you are really very friendly

Hello, I am also getting the exact same error, has anyone made any progress with this?

Thanks,

OB

Same I am also get the error, after some search on docs the problem were solved for me.
Steps that I followed

  1. Clone the project in “Users/<you>” directory from command prompt
    git clone https://github.com/odriverobotics/ODrive.git
    if git is not installed download code here and extract in “Users/<you>
  2. After cloning/downloading, in command prompt move to ODrive/GUI/server directory run the below command
    python odrive_server.py
  3. Power Up odrive and connect to PC execute ODriveGUI.exe (address bar greens up) it will shows the odrive connection at the bottom.

Hope you also get it.

4 Likes

Thanks so much! That worked.

Hi, I got the same error and I followed your steps, but these didn’t work as expected.
Hope you could help, thanks

I am trying to run Odrive GUI on windows. Odrivetool on cmd prompt works and able to connect to the motors. Using gui I am getting the error:
shutdown = fibre.Event() AttributeError: module ‘fibre’ has no attribute ‘Event’.

Any suggestion will be appriciated.

2 Likes

Hi I am still having these errors, did you manage to solve them?
Thanks

Hi im still having this error, did you solve the error?
THKS

Having the same error except it reads module 'fibre' has no attribute 'Domain'. Has anyone solved this? It seems ridiculous that you have to start a GUI in order to operate the ODrive

in the GUI > README.md, you can find

./odrive_gui_win.exe C:/Users/<you>/ODrive/tools C:/Users/<you>/ODrive/Firmware

actually the first arg should/can be your ODrive/tools directory and the second arg should/can be your Odrive/Firmware directory.

in odrive_server.py, change
socketio.run(app, host=‘0.0.0.0’, port=5000) to
socketio.run(app, host=‘0.0.0.0’, port=5000, allow_unsafe_werkzeug=True)

start the server by
python odrive_server.py e:\odrive_dev\ODrive\tools e:\odrive_dev\ODrive\Firmware
please change the directories to your specific dirs.
and then start OdriveGUI.exe

the reason is in odrive_server.py

if __name__ == "__main__":
    print("args from python: " + str(sys.argv[1:0]))
    #print(sys.argv[1:])
    # try to import based on command line arguments or config file

    for optPath in sys.argv[1:]:
        print("adding " + str(optPath.rstrip()) + " to import path for odrive_server.py")
        sys.path.insert(0,optPath.rstrip())

    import odrive
    import odrive.utils # for dump_errors()
    import fibre

sys.path is the PATH environment variable. You need to specify the correct path for odrive and fibre. Or you will meet the error of no attribute of fibre.Event and other attributes missing errors.