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:

4 Likes