ethz-asl/asctec_mav_framework

asctec_hl_firmware with ubuntu 16 kinetic

Opened this issue · 2 comments

Hi,

I am trying to make the mastermind connect to the firefly HL processor of the autopilot board to use ROS.
For this purpose, I have build the asctec_hl_firmware from the current asctec_mav_framework
master branch. AI had problems to get openocd running on my Ubuntu 16 system,
I have instead flashed the HL processor using FlashMagic.
Unfortunately, now I run the current hl ros interface on the mastermind,
I get communication errors:

checksum error for packet 4 ,resyncing 
checksum error for packet 14 ,resyncing 
checksum error for packet 14 ,resyncing 

I have seen some people having the same problem here before, but no solution has been found.

  • For this reason, I wanted to ask if anyone has succeeded / can provide the current build of the hex file for the HL processor?
  • Alternatively, has anyone succeeded in adjusting the lpc2xxx_asctecusbjtag05.cfg accordingly,
    by substituting the deprecated FT2232 description with the current FTDI interface?

Thanks and best regards,
Jan

Hi Jan,

I am having a very similar problem to yours. I am using a Pelican with a Mastermind trying to communicate with the HL processor of the autopilot using ROS. I have build the asctec_hl_firmware with no problem and I have flashed this new firmware with both Flashmagic and openocd successfully. I have attached the modified configuration file that I used for openocd. lpc2xxx_asctecusbjtag05-1.txt

Regarding the communication between the Mastermind and the HL, I believe that the HL firmware version is not working properly with newer LL firmware versions. When I connect the LL processor to a Windows machine and use the Research Upgrade Tool, I can see that there is an error with the firmware. Curiously, this error persists whether I flash the asctec_hl_firmware or the "official" firmware version 2.0.

version2_mod

This is fixed when I flash version 3.0, as you can see.

version3

This has lead me to believe that both asctec_hl_firmware and the "official" 2.0 version are not compatible with the LL firmware in version 3.x.

Two potential solutions occur to me:

  • Take "official" firmware version 3.x and modified it just as asctec_hl_firmware is a modification of version 2.0.
  • Flash a lower firmware version into the LL controller. As stated in the Asctec Research Upgrade FAQ

For the moment I will try to see if I can flash a lower version into the LL controller and report back my findings. What do you think? Do you have any suggestion?


Update:

I tried with a different LL firmware, but the problem persists.

With LL firmware 2.x, HL firmware 3.x is recognized, but version 2.x and asctec_hl_firmware is not.

2v-3v

2v-2v

I guess I could try the other potential solution and modify firmware 3.x to be used with ROS, just as asctec_hl_firmware is a modification of 2.x. Any idea of any other potential solution?

Thank you.

Kind regards,
Saul

Someone from our Lab resolved this issue. Apparently, the uart start/end bytes for the uart have been defined differently on the firmware and in the rospackage. If you want to have more information, you could try to contact Kremer who solved the issue