I am using PX4 in Orange cube, Herelink groundunit which has QGroundControl app, and the Here3 GPS.
Everytime I power on the quadcopter, when I try to Arm it, it throws an error saying “Primary compass not found”, even though the Here3 is connected to CAN1 port on Orange cube. (I have done the setup as mentioned on cubepilot webpage, ie kept UAVCAN as Sensor_Automatic_Config).
Now, when I unplug the Here3 cable from CAN1 port in Orange cube and then REPLUG it, the blue lights start flashing and then I am able to Arm.
This happens everytime I power on the quadcopter.
Please help for solving this issue.
Thanks and regards,
This happens because the board sometimes boot way faster than Here3. Hence autopilot may not be able to scan it.
You may try to set
BRD_BOOT_DELAY to like 5s.
@Alvin As I had mentioned that I am using PX4, is there an analogous parameter in PX4 which corresponds to BRD_BOOT_DELAY ?? Thanks.
Looks like Px4 don’t have it.
You can use QGC to send a reboot command to the flight controller, so the here3 will be ready when the controller is rebooted.
@Aakash I am having the same problem. Were you able to solve it. I tried to send reboot command from QGC, but still didn’t work.
I’ve been having this issue as well; it seems if the Here3 isn’t powered on just right, it locks up and doesn’t communicate? The order of bootup shouldn’t matter, as the UAVCAN spec specifically enables plug-and-play nodes. I’m wondering if the way PX4 handles enabling/disabling the 5V output for the sensors bus puts the Here3 into some locked-up state?
Hey dude, I had the same exact issue and it was extremely annoying. So here is how to fix it:
Open up mission planer, change the firmware to ardupilot, (I assume you changed the UAVCAN node id value to 25) then update the here 3 firmware, it should be 1.6 (Beta version). Then once it’s done, clean up the SD card, then download the px4 firmware, and enable the UAVCAN sensor automatic config, and it will be fixed. Once that is done, when you plug the drone, it won’t give you any satellites, so you will have to reboot the drone from the software (QGC), then you will have the satellites.
For reference check the here 3 manual go to here 3 firmware.
The instructions shared by @Rayan_Akkad solved did the job. Updating the Here3 firmware to 1.6 solved the issue of getting the Here3 recognized after sending a reboot command from QGC.
The remaining issue is to get Here3 directly recognized after powering up the system without having to send a reboot command from QGC.
@Rayan_Akkad Ok, so if I understood correct, updating the Here3 firmware to version 1.6 is the key to solve the issue. @mzahana : For me, after I send a reboot command from QGC, the Here3 GPS was identified. Still I will re-verify. Thanks to both of you
@Rayan_Akkad @Aakash firstly, i have been facing this issue too and thanks to you i think i will be able to fix it, but there is a point i dont understand. Once i update the firmware to 1.6 and send a reboot command, will the problem be fixed completely or will i need to send reboot command every time i power the drone?