nate711 / odrive Goto Github PK
View Code? Open in Web Editor NEWThis project forked from odriverobotics/odrive
High performance motor control
Home Page: https://odriverobotics.com
This project forked from odriverobotics/odrive
High performance motor control
Home Page: https://odriverobotics.com
I run 'make' in the 'Firmware' directory and download 'Odrivefirmware.hex' into ODrive by STLink v3. I am not sure if this is the correct operation? How to determine custom firmware has been flashed successfully. Thank you.
Could you please post a picture of Odrive configurations, like pos_gain,vel_gain,vel_integrator_gain?
The axes variable is not volatile and could be written and read at the same time, leading to errors.
compile firmware and get the hex file.however I failed to flash ODrive via the hex file.here the error info:
ODrive control utility v0.4.11
Waiting for ODrive...
Found ODrive 20823599524B (v3.6-24V) with firmware v0.4.11-dev
Warning: you are about to flash firmware [unknown version] which is older than the firmware on the device (v0.4.11-dev).
Do you want to flash this firmware anyway? [y/N] y
Contiguous segments in hex file:
08000000 to 08000187
08000190 to 08025D87
10000000 to 1000FFFF
Saving configuration to /tmp/odrive-config-20823599524B.json...
Configuration saved.
Putting device 20823599524B into DFU mode...
Sectors on device:
08000000 to 08003FFF (Internal Flash)
08004000 to 08007FFF (Internal Flash)
08008000 to 0800BFFF (Internal Flash)
0800C000 to 0800FFFF (Internal Flash)
08010000 to 0801FFFF (Internal Flash)
08020000 to 0803FFFF (Internal Flash)
08040000 to 0805FFFF (Internal Flash)
08060000 to 0807FFFF (Internal Flash)
08080000 to 0809FFFF (Internal Flash)
080A0000 to 080BFFFF (Internal Flash)
080C0000 to 080DFFFF (Internal Flash)
080E0000 to 080FFFFF (Internal Flash)
1FFFC000 to 1FFFC00F (Option Bytes)
1FFF7800 to 1FFF79FF (OTP Memory)
1FFF7A00 to 1FFF7A0F (OTP Memory)
FFFF0000 to FFFF0003 (Device Feature)
The following sectors will be flashed:
08000000 to 08003FFF
08004000 to 08007FFF
08008000 to 0800BFFF
0800C000 to 0800FFFF
08010000 to 0801FFFF
08020000 to 0803FFFF
Erasing... done
Flashing... done
Verifying... done
10000000 to 1000FFFF ,the segment in hex file,can not be found in internal Flash on device...
Hi, I'm sorry to disturb you again. When I test motor(only M0) in position control mode. The motor squealed slightly, and the A channel MOSFET on ODrive is very hot, neither B nor C channel is hot. Is this normal?
HI,I flash the firmware in my odrive it was successful but when i try to connected the odrive by odrivetools,it was just stuck at downloading json form odrive.
Thank you
Dear everyone!
one odrive have two leg,I want to know four odrive,whitch leg should connet the Mo
Thanks
with the compiled firmware, it can not work secussfully.
i can mark the motor work smoothly by python's odrivetool
however, using the aurt protocol, it fails.
i think it maybe the problem of compile's environment or configs.
hoping there is a file describe the config.
something wrong during flashing the odrive, and the code is here.
how can I fix it.
RuntimeError Traceback (most recent call last)
D:\anaconda\Scripts\odrivetool in ()
140 print_version()
141 import odrive.dfu
--> 142 odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
143
144 elif args.command == 'liveplotter':
D:\anaconda\lib\site-packages\odrive\dfu.py in launch_dfu(args, logger, cancellation_token)
452 firmware = FirmwareFromFile(args.file) if args.file else None
453
--> 454 update_device(device, firmware, logger, cancellation_token)
455
456
D:\anaconda\lib\site-packages\odrive\dfu.py in update_device(device, firmware, logger, cancellation_token)
380 for i, (sector, data) in enumerate(touched_sectors):
381 print("Flashing... (sector {}/{}) \r".format(i, len(touched_sectors)), end='', flush=True)
--> 382 dfudev.write_sector(sector, data)
383 print('Flashing... done \r', end='', flush=True)
384 finally:
D:\anaconda\lib\site-packages\odrive\dfuse\DfuDevice.py in write_sector(self, sector, data)
185 status = self.wait_while_state(DfuState.DFU_DOWNLOAD_BUSY)
186 if status[1] != DfuState.DFU_DOWNLOAD_IDLE:
--> 187 raise RuntimeError("An error occured. Device Status: {!r}".format(status))
188
189 def read_sector(self, sector):
RuntimeError: An error occured. Device Status: (0, 2, 0, 0)`
Hello Nate711,
I flashed your customized firmware based on version 0.4.0, but it sometimes caused the uncontrolled spinning of some motors. These motors will spin up to full speed if I use odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL. I tested the firmware of version 0.4.0-master, it still happened. But after I flashed version 0.4.11-master, it works. So maybe some problems existed in version 0.4.0. For stablely running and widely spreading your research results, could you please migrate your changes to version 0.4.11?
Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.