Launching odrivetool_ui with Anaconda on Windows

Hello,

I recently started trying Odrive and thought it wasn’t very comfortable doing the configuration using the command prompt.

I saw this topic, but it still did not answer the question of how to launch odrivetool_ui using the Anaconda on Windows. For this I had to deal with this myself and now I can share this with you.

So this works for Anaconda 2019.10 for Windows, Python 3.7.
and ODrive v3.6 with firmware v0.4.11-dev.

  1. Download the source code of odrivetool_ui as a zip archive.
  2. Unpack to any place (for example: *D:\ui_odrivetool-master*).
  3. Install standalone Python from here. I installed version 3.8.0. In fact, during installation we are only interested in py launcher.
  4. Run the Anaconda command prompt with administrator privileges.
  5. Complete the installation of the requirements:

pip install pyqtgraph
pip install pyqt5

  1. Run odrivetool_ui using the command:

py _you folder _\odrivetool_UI.py (for example: py D:\ui_odrivetool-master\ui_odrivetool-master\odrivetool_UI.py)

6.1 No need to run standard odrivetool.
6.2 To avoid errors, open file odrivetool_UI.py in any text editor (such as notepad++) and comment out the following lines:

665 #self.my_drive.axis0.config.ramp_up_distance = float(self.doubleSpinBox_rampUpDistanceValue_axis0.value())
666 #self.my_drive.axis0.config.spin_up_current = float(self.doubleSpinBox_spinUpCurrentValue_axis0.value())
667 #self.my_drive.axis0.config.spin_up_target_vel = float(self.doubleSpinBox_spinUpTargetVelValue_axis0.value())
668 #self.my_drive.axis0.config.ramp_up_time = float(self.doubleSpinBox_rampUpTimeValue_axis0.value())
670 #self.my_drive.axis0.config.spin_up_acceleration = float(self.doubleSpinBox_spinUpAccelerationValue_axis0.value())
678 #self.my_drive.axis0.encoder.config.idx_search_speed = float(self.doubleSpinBox_idxSearchSpeedValue_axis0.value())
713 #self.my_drive.axis1.config.ramp_up_distance = float(self.doubleSpinBox_rampUpDistanceValue_axis1.value())
714 #self.my_drive.axis1.config.spin_up_current = float(self.doubleSpinBox_spinUpCurrentValue_axis1.value())
715 #self.my_drive.axis1.config.spin_up_target_vel = float(self.doubleSpinBox_spinUpTargetVelValue_axis1.value())
716 #self.my_drive.axis1.config.ramp_up_time = float(self.doubleSpinBox_rampUpTimeValue_axis1.value())
718 #self.my_drive.axis1.config.spin_up_acceleration = float(self.doubleSpinBox_spinUpAccelerationValue_axis1.value())
726 #self.my_drive.axis1.encoder.config.idx_search_speed = float(self.doubleSpinBox_idxSearchSpeedValue_axis1.value())
902 #self.doubleSpinBox_rampUpTimeValue_axis0.setValue(self.my_drive.axis0.config.ramp_up_time)
903 #self.doubleSpinBox_rampUpDistanceValue_axis0.setValue(self.my_drive.axis0.config.ramp_up_distance)
904 #self.doubleSpinBox_spinUpCurrentValue_axis0.setValue(self.my_drive.axis0.config.spin_up_current)
905 #self.doubleSpinBox_spinUpAccelerationValue_axis0.setValue(self.my_drive.axis0.config.spin_up_acceleration)
906 #self.doubleSpinBox_spinUpTargetVelValue_axis0.setValue(self.my_drive.axis0.config.spin_up_target_vel)
946 #self.doubleSpinBox_idxSearchSpeedValue_axis0.setValue(self.my_drive.axis0.encoder.config.idx_search_speed)
1057 #self.doubleSpinBox_rampUpTimeValue_axis1.setValue(self.my_drive.axis1.config.ramp_up_time)
1058 #self.doubleSpinBox_rampUpDistanceValue_axis1.setValue(self.my_drive.axis1.config.ramp_up_distance)
1059 #self.doubleSpinBox_spinUpCurrentValue_axis1.setValue(self.my_drive.axis1.config.spin_up_current)
1060 #self.doubleSpinBox_spinUpAccelerationValue_axis1.setValue(self.my_drive.axis1.config.spin_up_acceleration)
1061 #self.doubleSpinBox_spinUpTargetVelValue_axis1.setValue(self.my_drive.axis1.config.spin_up_target_vel)
1165 #self.doubleSpinBox_idxSearchSpeedValue_axis1.setValue(self.my_drive.axis1.encoder.config.idx_search_speed)

enjoy! :slightly_smiling_face:

8 Likes

Awesome, thank you for the write up. Crystal clear directions and had it up and running in no time!

Hello, that was helpful and Thank you but my knowledge’s are limited and i have tried a lottt before sending this message… Is possible for you sending me the correct code please? I am sorry for my English … my mail is info@mentzeniotis.gr.

Thank you in advance…

Hi,

I try this method to connect odrive to the gui on windows. I can open the gui windows without error, but when i try to connect odrive, i receive this error :

TypeError: find_any() got an unexpected keyword argument ‘find_multiple’

Can someone help me please ?