...
POST No. 2407343
Can't upload to OpenCR1.0: it just hangs
2019-03-13 12:35:46 tomsepe

I just received my OpenCr1.0 board, I was able to upload only once to it. I first successfully uploaded the "b_Blink_led" sketch with the Arduino IDE. and it worked.... 


But then I tried to upload the Open_Manipulator_Chain sketch and it hung on upload. and now I can't even upload the Blink sketch. I tried updating the bootloader by placing in DFU mode  and running "sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./opencr_boot.bin" and I also tried manually uploading the sketch by saving the binary and  using opencr_ld.exe. But nothing works. I don't know what else todo. Maybe I just have a bad board?

2019-03-13 12:35:46
tomsepe
2019-03-13 13:22:36 Will Son

Hi,


I'm sorry for the inconvenience.

If you could show me the error code or message you get would be greatly helpful to figure out what went wrong.

If you are running the bootloader recovery, you need to run the command where the opencr_boot.bin file is located at.


You can download the OpenCR repository that contains opencr_boot.bin file.

https://github.com/ROBOTIS-GIT/OpenCR 

The binary file is located at below directory in the repository.

https://github.com/ROBOTIS-GIT/OpenCR/tree/master/arduino/opencr_arduino/opencr/bootloaders 


When I run the command where the binary file is not exist:


 


When I run the command in the directory with the opencr_boot.bin file.

 

2019-03-13 13:22:36
willson
2019-03-14 00:36:50 Thomas Sepe

the bootloader downlad went fine that is not the problem



thomas@ubuntudev:~/Downloads/OpenCR-master/arduino/opencr_arduino/opencr/bootloaders$ sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./opencr_boot.bin
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 25604
Download [=========================] 100% 25604 bytes
Download done.
File downloaded successfully

 

2019-03-14 00:36:50
tomsepe
2019-03-14 00:39:44 Thomas Sepe

I was able to upload the blink sketch by putting the board into firmware recovery mode by pressing the SW2 and Reset buttons

but the Arduino just hangs when I try to open the Serial Monitor.


I have to quit the Arduino IDE or unplug the USB cable.


I was able to load the open_manipulator_chain.ino but when I run the processing sketch this is the error I get:



2019-03-14 00:39:44
tomsepe
2019-03-14 00:41:29 Thomas Sepe


 

2019-03-14 00:41:29
tomsepe
2019-03-14 12:23:04 Will Son

Hi, 


Just a quick question, did you properly connected OpenManipulator to OpenCR?

2019-03-14 12:23:04
willson
2019-03-14 23:33:06 Thomas Sepe

I don't think I understand the question? Did you see my previous response? 


No I did not connect the OpenManipulator


I explained in my previous message that I loaded the open_manipulator_chain.ino onto the OpenCR board, then I opened Processing and ran the Chain.pde script. and all I got was a bunch of errors. (see above)


also when I open the serial monitor in the Arduino IDE after loading the open_manipulator_chain.ino it just hangs. there are no error messages the application just freezes and I have to diconnect the USB cable or close the program.

2019-03-14 23:33:06
tomsepe
2019-03-18 11:52:34 Will Son

Hi,


I had no idea whether you were using the software with the actual hardware or not, so I needed to know your environment first.


The Processing uses the Serial port that is assigned for OpenCR to read data from OpenCR, and while the Processing is running, you are not suppose to open the serial port as the port will be occupied by Processing, therefore, it could hang from Arduino IDE when you try to open the same serial port.

When I tried to turn on the controller without connecting the OpenManipulator as shown in below image, the Processing returned the exact same error you received.

 

However, I was able to adjust each joint without turning on the Controller.

2019-03-18 11:52:34
willson
2019-03-19 19:51:10 Thomas Sepe

Ok . thanks.. but I am still having some issues with the USB Serial cmmunication.... now the board is not showing up in the Arduino IDE. I tried uninstalling and reinstalling the windows STM32 driver but the board would now show up.


finally I i found a solution.  I downloaded the Impulse RC Driver Fixer:


https://www.dronetrest.com/t/fix-any-stm32-dfu-drivers-issues-when-flashing-betaflight-cleanflight-firmware/3603 


and the OpenCR is showing up again as USB Serial Device (COM4) and I can communicate with it. oh and I don't have to keep going into recovery mode

2019-03-19 19:51:10
tomsepe
2019-03-20 11:38:26 Will Son

Thank you for the feedback and glad that you fixed the problem :D

Didn't Zadig driver installer work for you?

http://emanual.robotis.com/docs/en/parts/controller/opencr10/#install-windows-driver

Since this is the first time I've heard about it, I'll see if there's any changes in their software / driver.

Recovery mode is recommended when the program is not properly downloading, and usually I don't have any issues with downloading sketches.

Enjoy your project!

Thank you.

comment
2019-03-21 02:20:36 tomsepe
No the Zadig driver did not work. First of all in the list of devices there was no "STM32 BOOTLOADER" listed.

I think windows 10 was hiding it? I eventually found it by choosing "show hidden devices" in the Device Manager,

but that was after I had tried uninstalling and reinstalling. etc etc. and was still having issues



so to summarize neither the STM32 official driver or the Zadig tool worked fully. I could upload to the board if I manuallty pressed put board into bootloader mode,

but then after uploading the board would not show up as a device so I couldn't communicate with it over the USB Serial port.



However using the "ImpulseRC Driver Fixer" took care of the problem, and now I can upload to the board and communicate with it over serial.

https://impulserc.blob.core.windows.net/utilities/ImpulseRC_Driver_Fixer.exe
2019-03-21 02:20:36
tomsepe
2019-03-21 14:18:26 willson
Hmm.. I don't remember whether my Windows 10 was hiding the device in the device manager, but glad to hear that you figured all that out and now it is working well :)
Thank you so much for the detailed description about the issue.
I'll also try the driver you used.
2019-03-21 14:18:26
willson
2019-03-20 11:38:26
willson
Reply
웹에디터 시작 웹 에디터 끝