[SOLVED] New firmware & odrive tool v5.1 for 3.4-24v custom board, one axis

Hello,

I am currently working with a v3.4-24v board. My board only has 1 axis and shunt resistors 0.015ohm. When i was working with odrive tool v4.12 and with the firmware v3.4-24v (with modified shunt resistors), everything was working well. But then, i updated the odrive tool to v5.1 and realised there are new attributes and methods. Thus, i downloaded the latest firmware, modified the shunt resistors, and expected everything to work as reviously. Unfortunately, it did not. When i try to run the command “odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE”, nothing moves.

As mentionned previously, i am using a modified odrive board based on the v3.4 design, that uses only one axis (axis0). Did something in the firmware change during this update? How come that before the update i was able to control axis0 and now i cannot? What should i modify in the new firmware to make it work?

Thank you :slight_smile:

Hi Cristian, 0.5.1 waits for both axes to respond on SPI before booting (not ideal, but it is what it is). Try commenting out this line of code https://github.com/madcowswe/ODrive/blob/devel/Firmware/Drivers/DRV8301/drv8301.cpp#L70-L71

That solved the issue! Thank you very much !!

Hello, according to your link (ODrive/drv8301.cpp at devel · odriverobotics/ODrive · GitHub), and direct download 0.5.1 source (Releases · odriverobotics/ODrive · GitHub), a. CPP and a. C files, contents of looking at is not consistent.What’s the difference between the two?I am a novice, looking forward to your reply, thank you

Hello, how did you solve it? What codes did you modify specifically?Looking forward to your reply. Thank you

Hello,
On the older firmware, i was able to comment out the lines that @Wetmelon told me to in his previous reply. But now, i noticed that the file changed, i do not know which lines have to be commented out for the Odrivetool 0.5.1 to not wait for the second axis to ping on the SPI. Maybe they changed the code to not wait for both axis anymore? I can’t really tell, sorry.

Hello, this link is invalid. What should I do?

Can you tell me if firmware 0.5.5(latest) is also waiting for both axes to respond on SPI before booting? The code has changed and need some pointing out if I need to modify something. if so please help on what I can do to change?

The newer firmware versions no longer wait for both axes to come online. No need to modify any code for this purpose.