It looks like the CrazyFlie build doesn’t work properly on the latest Stable v1.7.3. I don’t have any radio communications and cfbridge never shows “connected”. I also don’t have the Mavlink stream being transmitted over the USB.
So far, I have discovered that the Px4/Firmware commit 981dac8e955b3a4194421605dda7a09b7c16bbc5 does seem to work - I can see the Mavlink stream over USB and the CrazyRadio PA connects and
Note: this is the first time that I am trying to run the Px4 stack on the CrazyFlie, so I am not really sure what is/isn’t supposed to be working. I am using a brand new CrazyFlie 2.0, so I assume that NRF51 firmware from BitCraze should be relatively new.
@dennisss do you have any ideas?
This sounds like a low level breaking change done sometime in recent history. You are correct in saying that the NRF firmware must be fairly recent for it to work and we’ve seen that be an issue with older boards, but if it is working well on older versions of PX4, then that is likely not the issue. If you are able to, it would be helpful to know if any newer commits are working for you than that one. Or, if you are able to get any output off of the serial RX pins showing the boot log. I don’t have any Crazyflies with me for the new few days, but I will try to test it with the latest version once I get back.
Thanks. I will try and check some newer PX4 commits when I get a chance. It might not be for a few days, but I will see what I can find out when I get a chance.
I have narrowed down the problem to changes in the mavlink code.
The last STABLE commit that works is v1.6.2. The last commit that I have found after v1.6.2 that works is a13f23f2445719987992faad69f7f3fb564e69e2. Then there are 6 commits that affect mavlink, and after that (90fdc544fddd5e2fc0455bed45a89d871bfd646b), the USB mavlink connection seems to still work but the CrazyRadio PA radio connection using cfbridge no longer works.
And then at the next stable commit v1.6.4, neither the USB mavlink connection nor the CrazyRadio connection work any more.
Hmm… Maybe it does still work with v1.6.4… I will have to keep looking for the commit that broke it.
I think the problem is commit fc30f2906fd8b8dc5fe52c38a887e9e4e56b2e0a. This commit made changes to the reset wait time in the mpu9250 driver. Perhaps having the MPU9250 on I2C has different reset conditions?
I have verified this by checking out this commit and then just not starting the mpu9250 driver, and I then still have mavlink data on the USB and on the CrazyRadio PA.
I also checked out v1.7.3 and commented out the
mpu9250 start in the startup script. The mavlink over USB and CrazyRadio PA comms then work. If I then manually start the mpu9250 driver using the mavlink console, it looks as if the CrazyFlie resets (goes back into the bootloader)!