Update:
C:\Users\myano>odrivetool dfu
ODrive control utility v0.5.1.post0
Waiting for ODrive…
AttributeError Traceback (most recent call last)
~\AppData\Local\Programs\Python\Python39\Scripts\odrivetool in
141 print_version()
142 import odrive.dfu
→ 143 odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
144
145 elif args.command == ‘liveplotter’:
c:\users\myano\appdata\local\programs\python\python39\lib\site-packages\odrive\dfu.py in launch_dfu(args, logger, cancellation_token)
463 firmware = FirmwareFromFile(args.file) if args.file else None
464
→ 465 update_device(device, firmware, logger, cancellation_token)
466
467
c:\users\myano\appdata\local\programs\python\python39\lib\site-packages\odrive\dfu.py in update_device(device, firmware, logger, cancellation_token)
274 # Read hardware version from one-time-programmable memory
275 otp_sector = [s for s in dfudev.sectors if s[‘name’] == ‘OTP Memory’ and s[‘addr’] == 0x1fff7800][0]
→ 276 otp_data = dfudev.read_sector(otp_sector)
277 if otp_data[0] == 0:
278 otp_data = otp_data[16:]
c:\users\myano\appdata\local\programs\python\python39\lib\site-packages\odrive\dfuse\DfuDevice.py in read_sector(self, sector)
209 self.set_address_safe(sector[‘addr’])
210
→ 211 transfer_size = fractions.gcd(sector[‘len’], MAX_TRANSFER_SIZE)
212 #blocknum_offset = int((sector[‘addr’] - sector[‘baseaddr’]) / transfer_size)
213
AttributeError: module ‘fractions’ has no attribute ‘gcd’
Odrive randomly connected. I tried flashing firware again, and was greeted with this. ZaDig is now only showing the Odrive as “STM32 Bootloader”, but even following the normal driver setup steps seems to cause no positive change. I’m certain this is an easy fix, but I would love some direction!